{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "M aple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "" 0 "" {TEXT -1 101 "This Maple Procedure impl ements the Runge-Kutta Approximation to a differential equation of the type " }{XPPEDIT 18 0 "dy/dx = f(x,y);" "6#/*&%#dyG\"\"\"%#dxG!\"\"-% \"fG6$%\"xG%\"yG" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 647 "RungeKutta:= proc(f,xstart, ystart, xend, n)\nlocal \+ h, i, k, y, x, k1, k2, k3, k4;\nh := evalf((xend - xstart)/n);\ny:=yst art: x:=xstart:\nprintf(\"%s %s %s %f \\n\",\"Step\",\"x\" ,\"y with h =\",h);\nfor i from 1 to n+1 do\n printf(\"%d %f %f \+ \\n\",i-1,x,y); # display current values\n k1 := f(x,y): \011\011 \011 # the left-hand slope\n\011 k2 := f(x+h/2,y+h*k1/2):\011 # 1st midpoint slope\n\011 k3 := f(x+h/2,y+h*k2/2):\011 # 2nd midpoi nt slope\n\011 k4 := f(x+h,y+h*k3): \011\011 # the right-hand slope \n k := (k1+2*k2+2*k3+k4)/6:\011# the average slope\n\011 y := y + \+ h*k: \011\011 # R-K step to update y\n\011 x := x + h: \+ \011\011 # update x\nod:\nprint(f);\nend:" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 94 "The Syntax is as follows: RungeKuttafunction, init ial x, initial y, final x, number of steps);" }}{PARA 0 "" 0 "" {TEXT -1 50 "Below we compute the Runge-Kutta Approximation to " }{XPPEDIT 18 0 "dy/dx = x+y;" "6#/*&%#dyG\"\"\"%#dxG!\"\",&%\"xGF&%\"yGF&" } {TEXT -1 2 ", " }{XPPEDIT 18 0 "y(0) = 1;" "6#/-%\"yG6#\"\"!\"\"\"" } {TEXT -1 16 ", with 10 steps." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "f:=(x,y) -> x + y;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGf*6$ %\"xG%\"yG6\"6$%)operatorG%&arrowGF),&9$\"\"\"9%F/F)F)F)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "RungeKutta(f,0,1,1,10);" }}{PARA 6 "" 1 "" {TEXT -1 36 "Step x y with h = .100000 " }}{PARA 6 " " 1 "" {TEXT -1 24 "0 0.000000 1.000000 " }}{PARA 6 "" 1 "" {TEXT -1 23 "1 .100000 1.110342 " }}{PARA 6 "" 1 "" {TEXT -1 23 "2 .200 000 1.242805 " }}{PARA 6 "" 1 "" {TEXT -1 23 "3 .300000 1.39971 7 " }}{PARA 6 "" 1 "" {TEXT -1 23 "4 .400000 1.583648 " }}{PARA 6 "" 1 "" {TEXT -1 23 "5 .500000 1.797441 " }}{PARA 6 "" 1 "" {TEXT -1 23 "6 .600000 2.044236 " }}{PARA 6 "" 1 "" {TEXT -1 23 "7 .700 000 2.327503 " }}{PARA 6 "" 1 "" {TEXT -1 23 "8 .800000 2.65107 9 " }}{PARA 6 "" 1 "" {TEXT -1 23 "9 .900000 3.019203 " }}{PARA 6 "" 1 "" {TEXT -1 25 "10 1.000000 3.436559 " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#f*6$%\"xG%\"yG6\"6$%)operatorG%&arrowGF',&9$\"\"\"9%F-F 'F'F'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "1 0 0 " 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }