These examples will be solving the differential equation y' = y + x, with initial value y(0)=0.Our goal is to find the value of y(1). Executable commands are placed after Maple prompts (">") and can be executed by pressing "Enter" after each prompt. Note that many commands will rely on information from previous commands, order of execution is important! Hint: use Shift+Enter to enter a new line without creating a new prompt. Useful for making code more readable in loops, or when defining several variables at once. First, we will use restart to clear all variables. with() is used to load additional Maple packages, we want to use commands in the DETools package. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEocmVzdGFydEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIjtGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMjc3Nzc3OGVtRictSSdtc3BhY2VHRiQ2Ji8lJ2hlaWdodEdRJjAuMGV4RicvJSZ3aWR0aEdGTC8lJmRlcHRoR0ZVLyUqbGluZWJyZWFrR1ElYXV0b0YnLUYsNiNRIUYnLyUrZXhlY3V0YWJsZUdGPUY5 LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEld2l0aEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYlLUYsNiVRKERFVG9vbHNGJ0YvRjIvJStleGVjdXRhYmxlR1EmZmFsc2VGJy9GM1Enbm9ybWFsRidGQC1JI21vR0YkNi1RIjpGJ0ZALyUmZmVuY2VHRj8vJSpzZXBhcmF0b3JHRj8vJSlzdHJldGNoeUdGPy8lKnN5bW1ldHJpY0dGPy8lKGxhcmdlb3BHRj8vJS5tb3ZhYmxlbGltaXRzR0Y/LyUnYWNjZW50R0Y/LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGVkY9RkA=
<Text-field style="Heading 1" size="14" layout="Heading 1"><Font size="14">Use Maple to find the exact solution to the differential equation.</Font></Text-field> Now, let's define some variables to use in solving the equation. y0 will represent y, y1 will represent y'. We need to define y0 as a function of x, and y1 as the derivative of y with respect to x. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYxLUkjbWlHRiQ2JVEjeTBGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUSomY29sb25lcTtGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1GLDYlUSJ5RidGL0YyLUkobWZlbmNlZEdGJDYkLUYjNiQtRiw2JVEieEYnRi9GMkY5RjktRjY2LVEiO0YnRjlGOy9GP0YxRkBGQkZERkZGSC9GS1EmMC4wZW1GJ0ZNLUY2Ni1RIn5GJ0Y5RjtGPkZARkJGREZGRkhGaG4vRk5GaW4tSSdtc3BhY2VHRiQ2Ji8lJ2hlaWdodEdRJjAuMGV4RicvJSZ3aWR0aEdGaW4vJSZkZXB0aEdGY28vJSpsaW5lYnJlYWtHUShuZXdsaW5lRictRl9vNiZGYW9GZG9GZm8vRmlvUSVhdXRvRictRiw2JVEjeTFGJ0YvRjJGNS1GLDYlUSVkaWZmRidGL0YyLUZTNiQtRiM2J0ZPRlItRjY2LVEiLEYnRjlGO0ZnbkZARkJGREZGRkhGaG4vRk5RLDAuMzMzMzMzM2VtRidGV0Y5RjlGWi8lK2V4ZWN1dGFibGVHRj1GOQ== We can now store our differential equation (in terms of variables y0 and y1) to a new variable, call this ODE. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYsLUkjbWlHRiQ2JVEkT0RFRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEqJmNvbG9uZXE7RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtRiw2JVEjeTFGJ0YvRjItRjY2LVEiPUYnRjlGO0Y+RkBGQkZERkZGSEZKRk0tRiw2JVEieEYnRi9GMi1GNjYtUSIrRidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORmZuLUYsNiVRI3kwRidGL0YyLUY2Ni1RIjtGJ0Y5RjsvRj9GMUZARkJGREZGRkgvRktRJjAuMGVtRidGTS8lK2V4ZWN1dGFibGVHRj1GOQ== To plot a slopefield, use the dfieldplot command. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVErZGZpZWxkcGxvdEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzY0LUYsNiVRJE9ERUYnRi9GMi1JI21vR0YkNi1RIixGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGRS8lKnN5bW1ldHJpY0dGRS8lKGxhcmdlb3BHRkUvJS5tb3ZhYmxlbGltaXRzR0ZFLyUnYWNjZW50R0ZFLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRiw2JVEjeTBGJ0YvRjJGPS1GLDYlUSJ4RidGL0YyLUY+Ni1RIj1GJ0ZBRkMvRkdGRUZIRkpGTEZORlAvRlNRLDAuMjc3Nzc3OGVtRicvRlZGXW8tRj42LVEqJnVtaW51czA7RidGQUZDRltvRkhGSkZMRk5GUC9GU1EsMC4yMjIyMjIyZW1GJy9GVkZjby1JI21uR0YkNiRRIjRGJ0ZBLUY+Ni1RIy4uRidGQUZDRltvRkhGSkZMRk5GUEZiby9GVkZURmVvRj0tRiw2JVEieUYnRi9GMkZobkZfb0Zlb0Zpb0Zlb0ZBRkEtRj42LVEiO0YnRkFGQ0ZGRkhGSkZMRk5GUEZSRl5vLyUrZXhlY3V0YWJsZUdGRUZB dsolve is used to find an exact solution for y(0) LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEnZHNvbHZlRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkobWZlbmNlZEdGJDYkLUYjNictRjY2Ji1GIzYqLUYsNiVRJE9ERUYnRi9GMi1JI21vR0YkNi1RIixGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGSS8lKnN5bW1ldHJpY0dGSS8lKGxhcmdlb3BHRkkvJS5tb3ZhYmxlbGltaXRzR0ZJLyUnYWNjZW50R0ZJLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRkI2LVEifkYnRkVGRy9GS0ZJRkxGTkZQRlJGVEZWL0ZaRlgtRiw2JVEieUYnRi9GMi1GNjYkLUYjNiQtSSNtbkdGJDYkUSIwRidGRUZFRkUtRkI2LVEiPUYnRkVGR0ZpbkZMRk5GUEZSRlQvRldRLDAuMjc3Nzc3OGVtRicvRlpGam9GYm9GRUZFLyUlb3BlbkdRInxmckYnLyUmY2xvc2VHUSJ8aHJGJ0ZBRmZuLUYsNiVRI3kwRidGL0YyRkVGRS1GQjYtUSI7RidGRUZHRkpGTEZORlBGUkZURlZGW3AvJStleGVjdXRhYmxlR0ZJRkU= The subs command will input a value for x into the equation we just found. evalf will find a numerical solution using floating point arithmetic. Hint: "%" is used to represent the last output generated, in our subs, it will use the results of our dsolve above. In evalf, this is using the results of our subs. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYtLUkjbWlHRiQ2JVElc3Vic0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYoLUYsNiVRInhGJ0YvRjItSSNtb0dGJDYtUSI9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZFLyUpc3RyZXRjaHlHRkUvJSpzeW1tZXRyaWNHRkUvJShsYXJnZW9wR0ZFLyUubW92YWJsZWxpbWl0c0dGRS8lJ2FjY2VudEdGRS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRlQtSSNtbkdGJDYkUSIxRidGQS1GPjYtUSIsRidGQUZDL0ZHRjFGSEZKRkxGTkZQL0ZTUSYwLjBlbUYnL0ZWUSwwLjMzMzMzMzNlbUYnLUYsNiVRIiVGJ0YvRjJGQUZBLUY+Ni1RIjtGJ0ZBRkNGaG5GSEZKRkxGTkZQRmluRlUtRj42LVEifkYnRkFGQ0ZGRkhGSkZMRk5GUEZpbi9GVkZqbi1JJ21zcGFjZUdGJDYmLyUnaGVpZ2h0R1EmMC4wZXhGJy8lJndpZHRoR0Zqbi8lJmRlcHRoR0ZccC8lKmxpbmVicmVha0dRKG5ld2xpbmVGJy1GaG82JkZqb0ZdcEZfcC9GYnBRJWF1dG9GJy1GLDYlUSZldmFsZkYnRi9GMi1GNjYkLUYjNiRGXW9GQUZBRmBvLyUrZXhlY3V0YWJsZUdGRUZB
<Text-field style="Heading 1" size="14" layout="Heading 1"><Font size="14">Now we will solve the differential equation using numeric methods.</Font></Text-field> We will be using Euler's method and fourth-order Runge Kutta methods to estimate the value of f(1) Define variables to use in calculating our estimates. In this case, we will a and fa to represent our inital value, y(x0)=y0 b represents our final x value, N represents our number of iterations. Next, x[] and y[] will be used to store our values for xn and yn, h is our step size calculated using N. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY0LUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKiZjb2xvbmVxO0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZMLUkjbW5HRiQ2JFEkMC4wRidGOS1GNjYtUSI7RidGOUY7L0Y/RjFGQEZCRkRGRkZIL0ZLUSYwLjBlbUYnRk0tRiw2JVEjZmFGJ0YvRjJGNS1GUDYkUSIwRidGOUZTLUYsNiVRImJGJ0YvRjJGNS1GUDYkUSQxLjBGJ0Y5RlMtRiw2JVEiTkYnRi9GMkY1LUZQNiRRJTEwMDBGJ0Y5RlMvJStleGVjdXRhYmxlR0Y9Rjk= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY1LUkjbW9HRiQ2LVEifkYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y0LyUqc3ltbWV0cmljR0Y0LyUobGFyZ2VvcEdGNC8lLm1vdmFibGVsaW1pdHNHRjQvJSdhY2NlbnRHRjQvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZDLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnL0YwUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2Ji1GIzYkLUkjbW5HRiQ2JFEiMEYnRi9GL0YvLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnLUYsNi1RKiZjb2xvbmVxO0YnRi9GMkY1RjdGOUY7Rj1GPy9GQlEsMC4yNzc3Nzc4ZW1GJy9GRUZcby1GRzYlUSJhRidGSkZNLUYsNi1RIjtGJ0YvRjIvRjZGTEY3RjlGO0Y9Rj9GQUZdb0YrLUZHNiVRInlGJ0ZKRk1GT0Zobi1GRzYlUSNmYUYnRkpGTUZhb0YrLUZHNiVRImhGJ0ZKRk1GaG4tSSZtZnJhY0dGJDYoLUZQNiQtRiM2Ji1GRzYlUSJiRidGSkZNLUYsNi1RKCZtaW51cztGJ0YvRjJGNUY3RjlGO0Y9Rj8vRkJRLDAuMjIyMjIyMmVtRicvRkVGXHFGXm9GL0YvLUYjNiQtRkc2JVEiTkYnRkpGTUYvLyUubGluZXRoaWNrbmVzc0dRIjFGJy8lK2Rlbm9tYWxpZ25HUSdjZW50ZXJGJy8lKW51bWFsaWduR0ZocS8lKWJldmVsbGVkR0Y0RmFvLyUrZXhlY3V0YWJsZUdGNEYv
<Text-field style="Heading 2" size="12" layout="Heading 2"><Font size="12">Recall: Euler's formula tells us that for a function where <Font italic="true">y'(x) = f(x,y(x))</Font>, given an initial value <Font italic="true">y(x<Font subscript="true">0</Font>)=y<Font subscript="true">0</Font></Font> we can find an approximate value of the function using the formula: <Font italic="true">y<Font subscript="true">n+1</Font> = y<Font subscript="true">n</Font> + h*f(x<Font subscript="true">n</Font>,y<Font subscript="true">n</Font>)</Font></Font></Text-field> The following loop will perform the iterations of Euler's formula: add h to x[n] for each step, add h*f(x[n],y[n]) to y[n] for each step Then, use print to display our final output. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzZQLUkjbW9HRiQ2L1EkZm9yRicvJSVib2xkR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSVib2xkRicvJStmb250d2VpZ2h0R0Y0LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y5LyUpc3RyZXRjaHlHRjkvJSpzeW1tZXRyaWNHRjkvJShsYXJnZW9wR0Y5LyUubW92YWJsZWxpbWl0c0dGOS8lJ2FjY2VudEdGOS8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRkgtRiw2LVEifkYnL0YzUSdub3JtYWxGJ0Y3RjpGPEY+RkBGQkZERkZGSS1JI21pR0YkNiVRIm5GJy8lJ2l0YWxpY0dGMS9GM1EnaXRhbGljRidGSy1GLDYvUSVmcm9tRidGL0YyRjVGN0Y6RjxGPkZARkJGREZGRklGSy1JI21uR0YkNiRRIjBGJ0ZORkstRiw2L1EjdG9GJ0YvRjJGNUY3RjpGPEY+RkBGQkZERkZGSUZLLUZRNiVRIk5GJ0ZURlYtRiw2LVEoJm1pbnVzO0YnRk5GN0Y6RjxGPkZARkJGRC9GR1EsMC4yMjIyMjIyZW1GJy9GSkZjby1GZm42JFEiMUYnRk5GSy1GLDYvUSNkb0YnRi9GMkY1RjdGOkY8Rj5GQEZCRkRGRkZJLUknbXNwYWNlR0YkNiYvJSdoZWlnaHRHUSYwLjBleEYnLyUmd2lkdGhHRkgvJSZkZXB0aEdGYHAvJSpsaW5lYnJlYWtHUShuZXdsaW5lRidGSy1GUTYlUSJ4RidGVEZWLUkobWZlbmNlZEdGJDYmLUYjNiZGUC1GLDYtUSIrRidGTkY3RjpGPEY+RkBGQkZERmJvRmRvRmVvRk5GTi8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJy1GLDYtUSomY29sb25lcTtGJ0ZORjdGOkY8Rj5GQEZCRkQvRkdRLDAuMjc3Nzc3OGVtRicvRkpGXXJGaHAtRlxxNiYtRiM2JEZQRk5GTkZjcUZmcUZgcS1GUTYlUSJoRidGVEZWLUYsNi1RIjpGJ0ZORjdGOkY8Rj5GQEZCRkRGXHJGXnJGW3BGSy1GUTYlUSJ5RidGVEZWRltxRmlxRmlyRl9yRmBxRmNyLUYsNi1RJyZzZG90O0YnRk5GN0Y6RjxGPkZARkJGREZGRkktRlxxNiQtRiM2KEZocEZfckZgcUZpckZfckZORk5GZnJGW3BGSy1GLDYvUSRlbmRGJ0YvRjJGNUY3RjpGPEY+RkBGQkZERkZGSUZLRmhvRmZyRksvJStleGVjdXRhYmxlR0Y5Rk4= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEmcHJpbnRGJy8lJ2l0YWxpY0dRJmZhbHNlRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLUkobWZlbmNlZEdGJDYkLUYjNistRiw2JVEiTkYnL0YwUSV0cnVlRicvRjNRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEiLEYnRjIvJSZmZW5jZUdGMS8lKnNlcGFyYXRvckdGPi8lKXN0cmV0Y2h5R0YxLyUqc3ltbWV0cmljR0YxLyUobGFyZ2VvcEdGMS8lLm1vdmFibGVsaW1pdHNHRjEvJSdhY2NlbnRHRjEvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GLDYlUSJ4RidGPUY/LUY2NiYtRiM2JC1GLDYlRjxGL0YyRjJGMi8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZBLUZCNi1RIn5GJ0YyRkUvRkhGMUZJRktGTUZPRlFGUy9GV0ZVLUYsNiVRInlGJ0Y9Rj9GZm5GMkYyLUZCNi1RIjtGJ0YyRkVGR0ZJRktGTUZPRlFGUy9GV1EsMC4yNzc3Nzc4ZW1GJy8lK2V4ZWN1dGFibGVHRjFGMg==
<Text-field style="Heading 2" size="12" layout="Heading 2"><Font size="12">In the previous example, we used (x[n]+y[n]) in our loop to represent f(x[n],y[n])=x[n]+y[n]. In the case of complex functions or repeating functions, it would be easier if we could use f(a,b) to calculate our outputs. There are a couple of ways to do this in Maple.</Font></Text-field> We can define a Maple procedure using proc if we wish to use f(x,y) more than once. proc will specify which inputs are being used, and allow us to create an algorithm for the output. In this case, we want to use a numeric input for x and y, and generate a numeric output (x+y from our differential equation.) Then we will test the procedure that we just created with numeric values for x and y. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYvLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKiZjb2xvbmVxO0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZMLUY2Ni9RJXByb2NGJy8lJWJvbGRHRjEvRjNRJWJvbGRGJy8lK2ZvbnR3ZWlnaHRHRlVGO0Y+RkBGQkZERkZGSC9GS1EmMC4wZW1GJy9GTkZZLUkobWZlbmNlZEdGJDYkLUYjNiotRiw2JVEieEYnL0YwRj1GOS1GNjYtUS0mUHJvcG9ydGlvbjtGJ0Y5RjtGPkZARkJGREZGRkhGSkZNLUYsNiVRKG51bWVyaWNGJ0Zdb0Y5LUY2Ni1RIixGJ0Y5RjsvRj9GMUZARkJGREZGRkhGWC9GTlEsMC4zMzMzMzMzZW1GJy1GLDYlUSJ5RidGXW9GOUZeb0Zhb0Y5RjktRjY2LVEifkYnRjlGO0Y+RkBGQkZERkZGSEZYRlotRiw2JUZcb0YvRjItRjY2LVEiK0YnRjlGO0Y+RkBGQkZERkZGSC9GS1EsMC4yMjIyMjIyZW1GJy9GTkZmcC1GLDYlRlxwRi9GMkZdcC1GNjYvUSRlbmRGJ0ZSRlRGVkY7Rj5GQEZCRkRGRkZIRlhGWi1GNjYtUSI6RidGOUY7Rj5GQEZCRkRGRkZIRkpGTS8lK2V4ZWN1dGFibGVHRj1GOQ== LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYnLUkjbW5HRiQ2JFEiMkYnL0YzUSdub3JtYWxGJy1JI21vR0YkNi1RIixGJ0Y+LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0YxLyUpc3RyZXRjaHlHRkYvJSpzeW1tZXRyaWNHRkYvJShsYXJnZW9wR0ZGLyUubW92YWJsZWxpbWl0c0dGRi8lJ2FjY2VudEdGRi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUY7NiRRIjNGJ0Y+LyUrZXhlY3V0YWJsZUdGRkY+Rj4tRkE2LVEiO0YnRj5GREZHRklGS0ZNRk9GUUZTL0ZXUSwwLjI3Nzc3NzhlbUYnRmZuRj4= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYnLUkjbW5HRiQ2JFEiMUYnL0YzUSdub3JtYWxGJy1JI21vR0YkNi1RIixGJ0Y+LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0YxLyUpc3RyZXRjaHlHRkYvJSpzeW1tZXRyaWNHRkYvJShsYXJnZW9wR0ZGLyUubW92YWJsZWxpbWl0c0dGRi8lJ2FjY2VudEdGRi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnRjovJStleGVjdXRhYmxlR0ZGRj5GPi1GQTYtUSI7RidGPkZERkdGSUZLRk1GT0ZRRlMvRldRLDAuMjc3Nzc3OGVtRidGWUY+ We can also use a functional operator to define a special sort of procedure. These are written using arrow notation ("->") First, specify a series of variables, LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYsLUkjbWlHRiQ2JVEiZ0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKiZjb2xvbmVxO0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZMLUkobWZlbmNlZEdGJDYkLUYjNictRiw2JVEieEYnRi9GMi1GNjYtUSIsRidGOUY7L0Y/RjFGQEZCRkRGRkZIL0ZLUSYwLjBlbUYnL0ZOUSwwLjMzMzMzMzNlbUYnLUYsNiVRInlGJ0YvRjIvJStleGVjdXRhYmxlR0Y9RjlGOS1GNjYtUSgmc3JhcnI7RidGOUY7Rj5GQEZCRkRGRkZIRmVuL0ZORmZuRlQtRjY2LVEiK0YnRjlGO0Y+RkBGQkZERkZGSC9GS1EsMC4yMjIyMjIyZW1GJy9GTkZmb0Zpbi1GNjYtUSI6RidGOUY7Rj5GQEZCRkRGRkZIRkpGTUZcb0Y5 LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEiZ0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYnLUkjbW5HRiQ2JFEiMkYnL0YzUSdub3JtYWxGJy1JI21vR0YkNi1RIixGJ0Y+LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0YxLyUpc3RyZXRjaHlHRkYvJSpzeW1tZXRyaWNHRkYvJShsYXJnZW9wR0ZGLyUubW92YWJsZWxpbWl0c0dGRi8lJ2FjY2VudEdGRi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUY7NiRRIjNGJ0Y+LyUrZXhlY3V0YWJsZUdGRkY+Rj4tRkE2LVEiO0YnRj5GREZHRklGS0ZNRk9GUUZTL0ZXUSwwLjI3Nzc3NzhlbUYnRmZuRj4= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEiZ0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYnLUkjbW5HRiQ2JFEiMUYnL0YzUSdub3JtYWxGJy1JI21vR0YkNi1RIixGJ0Y+LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0YxLyUpc3RyZXRjaHlHRkYvJSpzeW1tZXRyaWNHRkYvJShsYXJnZW9wR0ZGLyUubW92YWJsZWxpbWl0c0dGRi8lJ2FjY2VudEdGRi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnRjovJStleGVjdXRhYmxlR0ZGRj5GPi1GQTYtUSI7RidGPkZERkdGSUZLRk1GT0ZRRlMvRldRLDAuMjc3Nzc3OGVtRidGWUY+ Now we can rewrite our Euler's method loop using one of the procedures we just defined. Note that we will get the same values that we in 2.1.1. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzZRLUkjbW9HRiQ2L1EkZm9yRicvJSVib2xkR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSVib2xkRicvJStmb250d2VpZ2h0R0Y0LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y5LyUpc3RyZXRjaHlHRjkvJSpzeW1tZXRyaWNHRjkvJShsYXJnZW9wR0Y5LyUubW92YWJsZWxpbWl0c0dGOS8lJ2FjY2VudEdGOS8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRkgtRiw2LVEifkYnL0YzUSdub3JtYWxGJ0Y3RjpGPEY+RkBGQkZERkZGSS1JI21pR0YkNiVRIm5GJy8lJ2l0YWxpY0dGMS9GM1EnaXRhbGljRidGSy1GLDYvUSVmcm9tRidGL0YyRjVGN0Y6RjxGPkZARkJGREZGRklGSy1JI21uR0YkNiRRIjBGJ0ZORkstRiw2L1EjdG9GJ0YvRjJGNUY3RjpGPEY+RkBGQkZERkZGSUZLLUZRNiVRIk5GJ0ZURlYtRiw2LVEoJm1pbnVzO0YnRk5GN0Y6RjxGPkZARkJGRC9GR1EsMC4yMjIyMjIyZW1GJy9GSkZjby1GZm42JFEiMUYnRk5GSy1GLDYvUSNkb0YnRi9GMkY1RjdGOkY8Rj5GQEZCRkRGRkZJLUknbXNwYWNlR0YkNiYvJSdoZWlnaHRHUSYwLjBleEYnLyUmd2lkdGhHRkgvJSZkZXB0aEdGYHAvJSpsaW5lYnJlYWtHUShuZXdsaW5lRidGSy1GUTYlUSJ4RidGVEZWLUkobWZlbmNlZEdGJDYmLUYjNiZGUC1GLDYtUSIrRidGTkY3RjpGPEY+RkBGQkZERmJvRmRvRmVvRk5GTi8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJy1GLDYtUSomY29sb25lcTtGJ0ZORjdGOkY8Rj5GQEZCRkQvRkdRLDAuMjc3Nzc3OGVtRicvRkpGXXJGaHAtRlxxNiYtRiM2JEZQRk5GTkZjcUZmcUZgcS1GUTYlUSJoRidGVEZWLUYsNi1RIjpGJ0ZORjdGOkY8Rj5GQEZCRkRGXHJGXnJGW3BGSy1GUTYlUSJ5RidGVEZWRltxRmlxRmlyRl9yRmBxRmNyLUYsNi1RJyZzZG90O0YnRk5GN0Y6RjxGPkZARkJGREZGRkktRlE2JVEiZkYnRlRGVi1GXHE2JC1GIzYoRmhwRl9yLUYsNi1RIixGJ0ZORjcvRjtGMUY8Rj5GQEZCRkRGRi9GSlEsMC4zMzMzMzMzZW1GJ0ZpckZfckZORk5GZnJGW3BGSy1GLDYvUSRlbmRGJ0YvRjJGNUY3RjpGPEY+RkBGQkZERkZGSUZLRmhvRmZyRksvJStleGVjdXRhYmxlR0Y5Rk4= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEmcHJpbnRGJy8lJ2l0YWxpY0dRJmZhbHNlRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLUkobWZlbmNlZEdGJDYkLUYjNistRiw2JVEiTkYnL0YwUSV0cnVlRicvRjNRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEiLEYnRjIvJSZmZW5jZUdGMS8lKnNlcGFyYXRvckdGPi8lKXN0cmV0Y2h5R0YxLyUqc3ltbWV0cmljR0YxLyUobGFyZ2VvcEdGMS8lLm1vdmFibGVsaW1pdHNHRjEvJSdhY2NlbnRHRjEvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GLDYlUSJ4RidGPUY/LUY2NiYtRiM2JC1GLDYlRjxGL0YyRjJGMi8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZBLUZCNi1RIn5GJ0YyRkUvRkhGMUZJRktGTUZPRlFGUy9GV0ZVLUYsNiVRInlGJ0Y9Rj9GZm5GMkYyLUZCNi1RIjtGJ0YyRkVGR0ZJRktGTUZPRlFGUy9GV1EsMC4yNzc3Nzc4ZW1GJy8lK2V4ZWN1dGFibGVHRjFGMg== LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkmbWZyYWNHRiQ2KC1JI21pR0YkNiVRImhGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictRiM2JS1JI21uR0YkNiRRIjZGJy9GNlEnbm9ybWFsRidGMkY1LyUubGluZXRoaWNrbmVzc0dRIjFGJy8lK2Rlbm9tYWxpZ25HUSdjZW50ZXJGJy8lKW51bWFsaWduR0ZFLyUpYmV2ZWxsZWRHUSZmYWxzZUYnLyUrZXhlY3V0YWJsZUdGSkY+ LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=
<Text-field style="Heading 2" size="12" layout="Heading 2"><Font size="12">Recall: Fourth-Order Runge Kutta tells us that for a function where <Font italic="true">y'(x) = f(x,y(x))</Font>, given an initial value <Font italic="true">y(x<Font subscript="true">0</Font>)=y<Font subscript="true">0</Font></Font> we can find an approximate value of the function using the formulae: <Font italic="true">y<Font subscript="true">n+1</Font>=y<Font subscript="true">n</Font> +</Font></Font><Font bold="true" style="Text" italic="true">(h/6)(k<Font subscript="true">1</Font>+2k<Font subscript="true">2</Font>+2k<Font subscript="true">3</Font>+k<Font subscript="true">4</Font>) </Font><Font bold="true" style="Text">and<Font italic="true"> x<Font subscript="true">n+1</Font>=x<Font subscript="true">n</Font>+h k<Font subscript="true">i</Font> </Font>are given by:<Font italic="true"> k<Font subscript="true">1</Font>=f(x<Font subscript="true">n</Font>, y<Font subscript="true">n</Font>) k<Font subscript="true">2</Font>=f(x<Font subscript="true">n</Font>+ h/2, y<Font subscript="true">n</Font>+ hk<Font subscript="true">1</Font>/2) k<Font subscript="true">3</Font>=f(x<Font subscript="true">n</Font>+ h/2, y<Font subscript="true">n</Font>+ hk<Font subscript="true">2</Font>/2) k<Font subscript="true">4</Font>=f(x<Font subscript="true">n</Font>+ h, y<Font subscript="true">n</Font>+ hk<Font subscript="true">3</Font>)</Font></Font></Text-field> We will be using the procedure f(x,y) defined above for Euler's formula, along with the same initial values and step size from 2.1 and 2.2. The following loop will perform the iterations of fourth-order Runge Kutta, then we will output the values.JSFH LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzZqby1JI21vR0YkNi9RJGZvckYnLyUlYm9sZEdRJXRydWVGJy8lLG1hdGh2YXJpYW50R1ElYm9sZEYnLyUrZm9udHdlaWdodEdGNC8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGOS8lKXN0cmV0Y2h5R0Y5LyUqc3ltbWV0cmljR0Y5LyUobGFyZ2VvcEdGOS8lLm1vdmFibGVsaW1pdHNHRjkvJSdhY2NlbnRHRjkvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZILUYsNi1RIn5GJy9GM1Enbm9ybWFsRidGN0Y6RjxGPkZARkJGREZGRkktSSNtaUdGJDYlUSJuRicvJSdpdGFsaWNHRjEvRjNRJ2l0YWxpY0YnRkstRiw2L1ElZnJvbUYnRi9GMkY1RjdGOkY8Rj5GQEZCRkRGRkZJRkstSSNtbkdGJDYkUSIwRidGTkZLLUYsNi9RI3RvRidGL0YyRjVGN0Y6RjxGPkZARkJGREZGRklGSy1GUTYlUSJORidGVEZWLUYsNi1RKCZtaW51cztGJ0ZORjdGOkY8Rj5GQEZCRkQvRkdRLDAuMjIyMjIyMmVtRicvRkpGY28tRmZuNiRRIjFGJ0ZORkstRiw2L1EjZG9GJ0YvRjJGNUY3RjpGPEY+RkBGQkZERkZGSUZLLUknbXNwYWNlR0YkNiYvJSdoZWlnaHRHUSYwLjBleEYnLyUmd2lkdGhHRkgvJSZkZXB0aEdGYHAvJSpsaW5lYnJlYWtHUShuZXdsaW5lRictRlxwNiZGXnBGYXBGY3AvRmZwUSVhdXRvRictRlE2JVEieEYnRlRGVi1JKG1mZW5jZWRHRiQ2Ji1GIzYnRlAtRiw2LVEiK0YnRk5GN0Y6RjxGPkZARkJGREZib0Zkb0Zlby8lK2V4ZWN1dGFibGVHRjlGTkZOLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnLUYsNi1RKiZjb2xvbmVxO0YnRk5GN0Y6RjxGPkZARkJGRC9GR1EsMC4yNzc3Nzc4ZW1GJy9GSkZjckZccS1GYHE2Ji1GIzYlRlBGZ3FGTkZORmlxRlxyRmRxLUZRNiVRImhGJ0ZURlYtRiw2LVEiO0YnRk5GNy9GO0YxRjxGPkZARkJGREZGRmRyRltwRmhwLUZRNiVRIktGJ0ZURlYtRmBxNiYtRiM2JUZlb0ZncUZORk5GaXFGXHJGX3ItRlE2JVEiZkYnRlRGVi1GYHE2JC1GIzYqRlxxRmVyLUYsNi1RIixGJ0ZORjdGX3NGPEY+RkBGQkZERkYvRkpRLDAuMzMzMzMzM2VtRictRlE2JVEieUYnRlRGVkZlci1GUTYjUSFGJ0ZncUZORk4tRiw2LVEiOkYnRk5GN0Y6RjxGPkZARkJGREZickZkckZbcEZocEZgcy1GYHE2Ji1GIzYlLUZmbjYkUSIyRidGTkZncUZORk5GaXFGXHJGX3JGZ3MtRmBxNiQtRiM2LkZccUZlckZkcS1JJm1mcmFjR0YkNihGaXItRiM2JUZgdUZURlYvJS5saW5ldGhpY2tuZXNzR0Znby8lK2Rlbm9tYWxpZ25HUSdjZW50ZXJGJy8lKW51bWFsaWduR0Zgdi8lKWJldmVsbGVkR0Y5Rl50RktGY3RGZXJGZHEtRmh1NigtRiM2KEZpci1GLDYtUScmc2RvdDtGJ0ZORjdGOkY8Rj5GQEZCRkRGRkZJRmBzRmNzRmdxRk5GanVGXHZGXnZGYXZGY3ZGZ3FGTkZORml0RltwRmhwRmBzLUZgcTYmLUYjNiUtRmZuNiRRIjNGJ0ZORmdxRk5GTkZpcUZcckZfckZncy1GYHE2JC1GIzYuRlxxRmVyRmRxRmd1Rl50RmN0RmVyRmRxLUZodTYoLUYjNihGaXJGaXZGYHNGXHVGZ3FGTkZqdUZcdkZedkZhdkZjdkZmdEZncUZORk5GaXRGW3BGaHBGYHMtRmBxNiYtRiM2JS1GZm42JFEiNEYnRk5GZ3FGTkZORmlxRlxyRl9yRmdzLUZgcTYkLUYjNjFGXHFGZXJGZHFGaXJGXnRGY3RGZXJGZHFGaXJGaXZGYHNGXHdGZnRGZ3FGTkZORml0RltwRmhwRmN0Rl9xRl9yRmN0RmVyRmRxLUZgcTYkLUYjNiYtRmh1NihGaXItRiM2JS1GZm42JFEiNkYnRk5GVEZWRlx2Rl52RmF2RmN2RmZ0RmdxRk5GTkZpdi1GYHE2JC1GIzYzRmBzRmNzRmRxRmB1RktGYHNGXHVGZHFGYHVGS0Zgc0Zcd0ZkcUZgc0ZbeEZncUZORk5GaXRGW3BGSy1GLDYvUSRlbmRGJ0YvRjJGNUY3RjpGPEY+RkBGQkZERkZGSUZLRmhvRml0RmdxRk4= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEmcHJpbnRGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSShtZmVuY2VkR0YkNiQtRiM2Ky1GLDYlUSJORidGL0YyLUkjbW9HRiQ2LVEiLEYnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGMS8lKXN0cmV0Y2h5R0ZFLyUqc3ltbWV0cmljR0ZFLyUobGFyZ2VvcEdGRS8lLm1vdmFibGVsaW1pdHNHRkUvJSdhY2NlbnRHRkUvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GLDYlUSJ4RidGL0YyLUY2NiYtRiM2JUY6LyUrZXhlY3V0YWJsZUdGRUZBRkEvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGPS1GLDYlUSJ5RidGL0YyRmVuRmluRkFGQS1GPjYtUSI7RidGQUZDRkZGSEZKRkxGTkZQRlIvRlZRLDAuMjc3Nzc3OGVtRidGaW5GQQ==
51¸£ÀûÉç Mathematics Department, Allison Chapin 2009