{VERSION 3 0 "IBM RISC UNIX" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{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 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 62 "Berechnung einer numerischen Loesung eines Anfangswertproblems " }}{PARA 0 "" 0 "" {TEXT -1 37 "mit grafischer Darstellung der Werte \+ " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 43 " f: \+ Rechte Seite der Differentialgleichung" }}{PARA 0 "" 0 "" {TEXT -1 16 " h: Schrittweite" }}{PARA 0 "" 0 "" {TEXT -1 16 " x0: Anfangswert" }} {PARA 0 "" 0 "" {TEXT -1 16 " t0: Anfangszeit" }}{PARA 0 "" 0 "" {TEXT -1 12 " t1: Endzeit" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 33 "orbitnum:=proc(f,f_ex,h,x0,t0,t1)" }}{PARA 0 "" 0 "" {TEXT -1 34 "Deklaration der lokalen Variablen:" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 60 "local hf, x0f, t0f, t1f, steps, i, a, tf, l, k1, k2, k3, ex;" }}{PARA 0 "" 0 "" {TEXT -1 50 "Umwandlung der Eingab evariablen in Floating Point:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " \+ hf := evalf(h);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " x0f := evalf( x0);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " t0f := evalf(t0);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 257 " t1f := evalf(t1);\n c1 := 0.0; \n c2 := 2/3;\n c3 := 2/3;\n a11 := 0.0;\n a12 := 0.0;\n a13 := 0.0;\n a21 := 2/3;\n a22 := 0.0;\n a23 := 0.0;\n a31 := 0.0;\n a 32 := 2/3;\n a33 := 0.0;\n b1 := 1/4;\n b2 := 3/8;\n b3 := 3/8; \n bb1 := 1/4;\n bb2 := 3/4;" }}{PARA 0 "" 0 "" {TEXT -1 35 "Berechn ung der Anzahl der Schritte:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 " s teps := (t1f-t0f)/hf;" }}{PARA 0 "" 0 "" {TEXT -1 38 "Initialisierung \+ der Zustandsvariablen:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 " a := x0 f;" }}{PARA 0 "" 0 "" {TEXT -1 28 "Schleife fuer die Iteration:" } {MPLTEXT 1 0 1 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " for i from 1 to steps do; " }}{PARA 0 "" 0 "" {TEXT -1 39 "Berechnung des aktuel len Zeitschrittes:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 " tf:=t0f + (i-1)*hf;" }}{PARA 0 "" 0 "" {TEXT -1 26 "Auswertung des Verfahrens :" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 476 " k1 := evalf(subs(t=tf+c 1*hf, x=a, f));\n k2 := evalf(subs(t=tf+c2*hf, x=a+hf*(a21*k1), f));\n k3 := evalf(subs(t=tf+c3*hf, x=a+ hf*(a31*k2+a32*k2), f)); \n\n aa := a;\n da1 := hf*(bb 1*k1+bb2*k2);\n da2 := hf*(b1*k1+b2*k2+b3*k3);\n a := a + \+ da1;\n\n ldf := abs(a-evalf(subs(t=(tf+hf), x_0=aa, t_0=tf, f_ex) ));\n lds := abs(da1-da2);\n printf(\"tn=%f xn=%f ld=%f ls=% f ls/ld=%f\\n\",tf+hf,a,ldf,lds,lds/ldf);" }}{PARA 0 "" 0 "" {TEXT -1 18 "Ende der Schleife:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 152 " od; \n ex := evalf(subs(t=t1f, x_0=x0f, t_0=t0f, f_ex));\n \n printf(\" x0=%f, t0=%f, t1=%f, h=%f: x(t1; x0, t0)=%f ex=%f\", x0f, t0f, t1f, h f, a, ex);" }}{PARA 0 "" 0 "" {TEXT -1 25 "Ende der Maple-Prozedur:\n " }{MPLTEXT 1 0 4 "end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 " f:= 2*x+cos(t);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 85 "f_ex:= - (2/5)*cos(t)+(1/5)*sin(t)+exp(2*(t-t_0))*(x_0+(2/5)*cos(t_0)-(1/5)*sin (t_0));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 15 "Beispielaufruf:" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "orbitnum(f,f_ex,0.1,1,0,6.28);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "evalf(subs(t0=0, t=6.28, x0= 1, f_ex));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "7 " 0 }{VIEWOPTS 1 1 0 1 1 1803 }