{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 "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 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 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times " 1 14 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 2 1 0 1 0 2 2 0 1 } {PSTYLE "List Item" -1 14 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 3 3 1 0 1 0 2 2 14 5 }{PSTYLE "Normal" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "List Subitem" -1 257 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 3 3 3 12 1 0 2 2 270 5 }{PSTYLE "" 0 258 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 259 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 260 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 261 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 256 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 41 "ORDINARY DIFFERENTIAL EQUATIONS POWERTOOL" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 34 "Unit 15 -- Improve d Euler's Method" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {URLLINK 17 "Prof. Douglas B. Meade" 4 "http://www.math.sc.edu/~meade/ " "" }}{PARA 256 "" 0 "" {URLLINK 17 "Industrial Mathematics Institute " 4 "http://www.math.sc.edu/~IMI/" "" }}{PARA 256 "" 0 "" {URLLINK 17 "Department of Mathematics" 4 "http://www.math.sc.edu/" "" }}{PARA 256 "" 0 "" {URLLINK 17 "University of South Carolina" 4 "http://www.s c.edu/" "" }}{PARA 256 "" 0 "" {TEXT -1 19 "Columbia, SC 29208\n" }} {PARA 256 "" 0 "" {TEXT -1 7 "URL: " }{URLLINK 17 "http://www.math.s c.edu/~meade/" 4 "http://www.math.sc.edu/~meade/" "" }}{PARA 256 "" 0 "" {TEXT -1 25 "E-mail: meade@math.sc.edu" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 57 "Copyright \251 2001 by Douglas B. MeadeAll rights reserved" }}{PARA 256 "" 0 "" {TEXT -1 0 "" }} {PARA 256 "" 0 "" {TEXT -1 67 "--------------------------------------- ----------------------------" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 18 "Outline of Unit 15" }}{EXCHG {PARA 14 "" 0 "" {HYPERLNK 17 "15.A" 1 "" "15.A" }{TEXT -1 51 " Explicit Implementation of Improv ed Euler's Method" }}{PARA 257 "" 0 "" {HYPERLNK 17 "15.A-1" 1 "" "15. A-1" }{TEXT -1 10 " Example 1" }}{PARA 257 "" 0 "" {HYPERLNK 17 "15.A- 2" 1 "" "15.A-2" }{TEXT -1 10 " Example 2" }}{PARA 14 "" 0 "" {HYPERLNK 17 "15.B" 1 "" "15.B" }{TEXT -1 1 " " }{HYPERLNK 17 "dsolve " 2 "dsolve" "" }{TEXT -1 28 " and Improved Euler's Method" }}{PARA 257 "" 0 "" {HYPERLNK 17 "15.B-1" 1 "" "15.B-1" }{TEXT -1 22 " Example 1 (revisited)" }}{PARA 257 "" 0 "" {HYPERLNK 17 "15.B-2" 1 "" "15.B-2 " }{TEXT -1 22 " Example 2 (revisited)" }}{PARA 14 "" 0 "" {HYPERLNK 17 "15.C" 1 "" "15.C" }{TEXT -1 10 " Example 3" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 14 "Init ialization" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "with( DEtools ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with( plots ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "with( linalg ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} }{SECT 0 {PARA 3 "" 0 "15.A" {TEXT -1 55 "15.A Explicit Implementation of Improved Euler's Method" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 208 "Th ere is some inconsistency in the use of the names Improved Euler's Met hod and Modified Euler's Method. Typically, the Improved Euler Method \+ is the method also known as the Trapezoid Method or Heun's Method." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 65 "The Impro ved Euler's method for the solution of a first-order IVP" }}{PARA 256 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "Diff( y, x ) = F(x,y(x))" "6#/- %%DiffG6$%\"yG%\"xG-%\"FG6$F(-F'6#F(" }{TEXT -1 6 ", " }{XPPEDIT 18 0 "y(x[0]) = y[0]" "6#/-%\"yG6#&%\"xG6#\"\"!&F%6#F*" }}{PARA 0 "" 0 "" {TEXT -1 32 "can be summarized by the formula" }}{PARA 256 "" 0 " " {TEXT -1 2 " " }{XPPEDIT 18 0 "x[n+1] = x[n] + h" "6#/&%\"xG6#,&%\" nG\"\"\"F)F),&&F%6#F(F)%\"hGF)" }{TEXT -1 54 " \+ " }}{PARA 258 "" 0 "" {TEXT -1 2 " " } {XPPEDIT 18 0 "y[n+1]^`*` = y[n] + h*F(x[n],y[n])" "6#/)&%\"yG6#,&%\"n G\"\"\"F*F*%\"*G,&&F&6#F)F**&%\"hGF*-%\"FG6$&%\"xG6#F)&F&6#F)F*F*" } {TEXT -1 41 " " }}{PARA 259 " " 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "y[n+1] = y[n] + h/2" "6#/&%\"yG 6#,&%\"nG\"\"\"F)F),&&F%6#F(F)*&%\"hGF)\"\"#!\"\"F)" }{TEXT -1 3 " ( \+ " }{XPPEDIT 18 0 "F(x[n],y[n] ) + F(x[n+1],y[n+1]^`*`)" "6#,&-%\"FG6$& %\"xG6#%\"nG&%\"yG6#F*\"\"\"-F%6$&F(6#,&F*F.F.F.)&F,6#,&F*F.F.F.%\"*GF ." }{TEXT -1 4 " ) " }}{PARA 0 "" 0 "" {TEXT -1 24 "where h is the st epsize." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 69 "By comparison, the Modified Euler's Method is typically defined to be" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 2 " \+ " }{XPPEDIT 18 0 "x[n+1] = x[n] + h" "6#/&%\"xG6#,&%\"nG\"\"\"F)F),&& F%6#F(F)%\"hGF)" }{TEXT -1 32 " " }} {PARA 261 "" 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "y[n+1/2] = y[n] + h/ 2" "6#/&%\"yG6#,&%\"nG\"\"\"*&F)F)\"\"#!\"\"F),&&F%6#F(F)*&%\"hGF)F+F, F)" }{TEXT -1 1 " " }{XPPEDIT 18 0 "F( x[n], y[n] )" "6#-%\"FG6$&%\"xG 6#%\"nG&%\"yG6#F)" }{TEXT -1 17 " " }}{PARA 260 "" 0 " " {TEXT -1 2 " " }{XPPEDIT 18 0 "y[n+1] = y[n] + h * F( x[n]+h/2, y[n +1/2] )" "6#/&%\"yG6#,&%\"nG\"\"\"F)F),&&F%6#F(F)*&%\"hGF)-%\"FG6$,&&% \"xG6#F(F)*&F.F)\"\"#!\"\"F)&F%6#,&F(F)*&F)F)F7F8F)F)F)" }{TEXT -1 2 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 93 "A s imple implementation of Modified Euler's method that accepts the funct ion F, initial time " }{XPPEDIT 18 0 "x[0]" "6#&%\"xG6#\"\"!" }{TEXT -1 19 ", initial position " }{XPPEDIT 18 0 "y[0]" "6#&%\"yG6#\"\"!" } {TEXT -1 11 ", stepsize " }{XPPEDIT 18 0 "h" "6#%\"hG" }{TEXT -1 22 ", and number of steps " }{XPPEDIT 18 0 "N" "6#%\"NG" }{TEXT -1 18 " as \+ input would be" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 37 "ImprEuler0 := proc( F, x0, y0, h, N )" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 " local i, L, X, X1, X2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " X := evalf( [ x0, y0 ] );" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 " L := X;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 " for i from 1 to N do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " X 1 := X + [ h, h*F(op(X)) ];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " \+ X2 := X + [ h, h*F(op(X1)) ];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " \+ X := (X1+X2)/2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 " L := L, X; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 " end do;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " return matrix( N+1, 2, [ L ] );" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 9 "end proc;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 49 "As a test, compute the Eul er's Method solution to" }}{PARA 256 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "Diff( y, x ) = -2*y" "6#/-%%DiffG6$%\"yG%\"xG,$*&\"\"#\"\"\"F'F, !\"\"" }{TEXT -1 4 ", " }{XPPEDIT 18 0 "y(0)=1" "6#/-%\"yG6#\"\"!\" \"\"" }}{PARA 0 "" 0 "" {TEXT -1 30 "on the interval [ 0, 1 ] with " } {XPPEDIT 18 0 "h" "6#%\"hG" }{TEXT -1 5 "=0.1." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "ImprEuler0( (x,y)->-2*y, 0, 1, 0.1, 10 ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 236 "A more sophisticated \+ implementation of Euler's method would accept as input the ODE, the in itial condition, the interval on which the solution should be computed , and the number of steps. In this case, the implementation could appe ar as" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "ImprEuler := proc( ode, ic, domain, N )" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " local h, i, t, y, F, L, X, X1, X2;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " t := lhs(domain);" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 21 " y := op(0,lhs(ic));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " h := ( op(2,rhs(domain))-op(1,rhs(domain)) )/N;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 70 " F := unapply( subs( y(t)=_y, solv e( ode, diff(y(t),t) ) ), (t,_y) );" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " X := evalf( [ op(lhs(ic)), rhs(ic) ] );" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 " L := X;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 " for \+ i from 1 to N do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " X1 := X + [ h, h*F(op(X)) ];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " X2 := X + \+ [ h, h*F(op(X1)) ];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 " X := (X1 + X2)/2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 " L := L, X;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 " end do;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " return matrix(N+2,2,[[t,y],L])" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 9 "end proc:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 4 "" 0 "15.A-1" {TEXT -1 16 "15.A-1 Example 1" } }{EXCHG {PARA 0 "" 0 "" {TEXT -1 35 "The approximate solution to the I VP" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "ode1 := diff( y(x), x ) = -2*y(x);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "ic1 := y(0)=1;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 95 "on the interv al [0,1] by Euler's Method with 10 subdivisions would be obtained with the command" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "ImprEuler( ode1, ic1, x=0..1, 10 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 4 "" 0 "15.A-2" {TEXT -1 16 "15.A-2 Example 2" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 46 "F or a second example, use Euler's Method with " }{XPPEDIT 18 0 "N" "6#% \"NG" }{TEXT -1 61 " = 2, 4, and 8 subdivisions to find an approximate value for " }{XPPEDIT 18 0 "y(2)" "6#-%\"yG6#\"\"#" }{TEXT -1 6 " whe re" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "ode2 := diff( y(t), t )*sin(t) + y(t) = 3;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "ic2 := y(1)=2;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "a2 := 1;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "b2 := 2;" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 18 "N2 := [ 2, 4, 8 ];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "H2 := map( n->(b2-a2)/n, N2 );" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 " sol2 := ImprEuler( ode2, ic2, t=a2..b2, N2[1] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "Y2[1] := sol2[N2[1]+2,2];" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "sol2 \+ := ImprEuler( ode2, ic2, t=a2..b2, N2[2] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "Y2[2] := sol2[N2[2]+2,2];" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "sol2 \+ := ImprEuler( ode2, ic2, t=a2..b2, N2[3] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "Y2[3] := sol2[N2[3]+2,2];" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 42 "These resul ts can be summarized in a table" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "v0 := vector( [ 'h', 'N', 'Y (2)' ] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "v1 := vector( [ H2[1], N2[1], Y2[1] ] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "v2 := vector( [ H2[2], N2[2], Y2[2] ] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "v3 : = vector( [ H2[3], N2[3], Y2[3] ] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "stackmatrix( v0, v1, v2, v3 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 159 "Implementat ions of Modified Euler's Method for a first-order system are not signi ficantly different or more difficult, but will not be considered at th is time." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 3 "" 0 "15.B" {TEXT -1 5 "15.B " }{HYPERLNK 17 "dsolve" 2 "dsolv e" "" }{TEXT -1 28 " and Improved Euler's Method" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 87 "To request the use of the Improved Euler Method in M aple's numerical computations, use " }{HYPERLNK 17 "method=classical[h eunform]" 2 "dsolve,classical" "" }{TEXT -1 70 ". The Modified Euler M ethod, or Improved Polygon Method, is used when " }{HYPERLNK 17 "metho d=classical[impoly]" 2 "dsolve,classical" "" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 75 "To illustrate, \+ revisit the two examples considered in the previous section." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 0 {PARA 4 "" 0 "15.B-1" {TEXT -1 28 " 15.B-1 Example 1 (revisited)" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 169 "W hen an explicit table of values is needed, it is necessary to provide \+ a list of values of the independent variable at which the approximate \+ solution should be reported." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "x0 := 0:" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 10 "h1 := 0.1:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "N1 \+ := 10:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "x_list := vector( N1+1, i -> x0 + (i-1)*h1 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 79 "Then, the table of approximate so lution values computed using Euler's Method is" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "dsolve( \{ \+ ode1, ic1 \}, y(x), type=numeric," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 48 " method=classical[heunform], stepsize=h1," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 " value=x_list );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 43 "If the r esults are to be plotted, then the " }{HYPERLNK 17 "dsolve" 2 "dsolve " "" }{TEXT -1 5 " and " }{HYPERLNK 17 "odeplot" 2 "plots,odeplot" "" }{TEXT -1 32 " commands can be used as follows" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "sol := dsol ve( \{ ode1, ic1 \}, y(x), type=numeric," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 " method=classical[heunform], stepsize=h 1 ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "odeplot( sol, [x,y(x)], 0.. 1 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 4 "" 0 "15.B-2" {TEXT -1 28 "15.B-2 Example 2 (revisited)" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 61 "The table of results can be constructed u sing three calls to " }{HYPERLNK 17 "dsolve" 2 "dsolve,numeric" "" } {TEXT -1 12 " as follows:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "sol2 := dsolve( \{ ode2, ic2 \}, y( t), type=numeric," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 61 " \+ method=classical[heunform], stepsize=H2[1] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "Y2[1] := eval( y(t), sol2(2) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "sol2 := dsolve( \{ ode2, ic2 \}, y(t), type=numeric, " }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 61 " method=classical[heunform], st epsize=H2[2] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "Y2[2] := eval( y (t), sol2(2) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "sol2 := dsolve( \{ ode2, ic2 \}, y(t), type=numeric, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 61 " \+ method=classical[heunform], stepsize=H2[3] ):" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 31 "Y2[3] := eval( y(t), sol2(2) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 22 "The resulting table is" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "v0 := vector( [ 'h', 'N', 'Y (2)' ] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "v1 := vector( [ H2[1], N2[1], Y2[1] ] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "v2 := vector( [ H2[2], N2[2], Y2[2] ] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "v3 : = vector( [ H2[3], N2[3], Y2[3] ] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "stackmatrix( v0, v1, v2, v3 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{SECT 0 {PARA 3 "" 0 "15.C" {TEXT -1 14 "15.C E xample 3" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 179 "The final example ill ustrates the use of the full range of Maple tools to obtain, visualize , and analyze an approximate solution to an IVP obtained by the Improv ed Euler's Method." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 55 "Consider the problem of obtaining a solution to the IVP" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "ode3 := diff( y(t) , t ) = sin( y(t) ) ;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "ic3 := y(0) = 1;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 22 "on the interv al [0,8]." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 33 "The Improved Euler's Method with " }{XPPEDIT 18 0 "N" "6#%\"NG" } {TEXT -1 24 " = 4 subdivisions yields" }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 94 "sol3ie := dsolve( \{ od e3, ic3 \}, y(t), type=numeric, method=classical[heunform], stepsize=2 ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "impreuler_plot := odeplot( s ol3ie, [t,y(t)], 0..8, style=line," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 53 " color=BLUE, numpoints=4 ):" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 26 "display( impreuler_plot );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 95 "T o determine if this approximation is reasonable, superimpose this solu tion on the slope field." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "slope_field := DEplot( ode3, y(t), \+ t=0..8, y=0..4, arrows=SMALL ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " display( [ slope_field, impreuler_plot ] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 490 "On the in terval [0,2] the Improved Euler solution does not look too bad. Howeve r, on [2,4] the Euler solution does not follow the slope field and is \+ a much poorer approximation to the true solution. Unlike the Euler Met hod solution, which crossed the equilibrium solution, the Improved Eul er Method solution does not approach the equilibrium solution fast eno ugh. To obtain a reasonable approximation on the entire interval using the Improved Euler's Method, a smaller stepsize is required." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "sol3ie2 := dsolve( \{ ode3, ic3 \}, y(t), type=numeric, " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 " method=classical [heunform], stepsize=0.8 ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "impr euler_plot2 := odeplot( sol3ie2, [t,y(t)], 0..8, style=line," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 " color=CYAN, n umpoints=10 ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "display( [ slope_ field, impreuler_plot2 ] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 61 "To complete the evaluation of this approximate solution, the " }{HYPERLNK 17 "DEplot" 2 "DEtools ,DEplot" "" }{TEXT -1 104 " command is used to include the (Maple-gene rated approximate) solution curve for this initial condition." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "sol_plot := DEplot( ode3, y(t), t=0..8, [ [ic3] ]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 51 " arrows=NONE, linecolor=GR EEN ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "display( [ slope_field, s ol_plot, impreuler_plot, impreuler_plot2 ] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 9 "[Back to " }{HYPERLNK 17 "ODE Powertool Table of Contents" 1 "unit00.mws" "" } {TEXT -1 1 "]" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {MARK "0 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }