{VERSION 3 0 "IBM RISC UNIX" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 1 10 255 0 0 1 0 2 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 256 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 255 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 255 0 1 0 0 0 0 0 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 }{PSTYLE "H eading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 8 4 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 2" 3 4 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 8 2 0 0 0 0 0 0 -1 0 } {PSTYLE "" 0 256 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 } 0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 256 "" 0 "" {TEXT -1 53 "Numerik fuer Anfangswert aufgaben - 14. Uebungsblatt \n" }{TEXT 256 0 "" }{TEXT -1 61 "Christin e Schweinem (mit einigen Korrekturen von Lars Gruene)" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 257 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 0 "" }}{SECT 0 {PARA 4 " " 0 "" {TEXT -1 15 "Implementierung" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "restart; with(linalg):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 236 "aufgabe_i:=proc(T,hh,kk)\n\n local h, k, m, n, r, x , U, A, j, werte, i;\n\n h:=evalf(hh); # Delta_x\n m:=floor(1/h); \n k:=evalf(kk); # Delta_t\n n:=floor(T/k);\n\n r:=k/h^2;\n if r > 0 .5 then WARNING(\"k/h^2 > 0.5 => nicht stabil\") fi;\n\n " }{MPLTEXT 1 0 67 "U.0:=vector(m-1,[seq(h*`i`*(1-h*`i`),`i`=1..m-1)]); # Anfangsw erte\n" }{TEXT -1 1 "\n" }{MPLTEXT 1 0 54 " A:=band([r,1-2*r,r],m-1); \n\n for j from 0 to n-1 do\n" }{MPLTEXT 1 0 315 "\n U.(j+1):=map( evalf, evalm( A&*U.j+k*vector(m-1,[seq(U.j[`i`]*(1-U.j[`i`]),`i`=1..m- 1)]) ) ); # (**)\n \n od;\n\n werte:=[];\n\n for j from 0 to n d o\n\n werte:=[op(werte),[0,seq(U.j[`i`],`i`=1..m-1),0]]; # Randwert e U.j[0] und U.j[m] = 0\n\n od;\n\n RETURN(PLOT3D(GRID(0..T,0..1,wer te),AXESSTYLE(BOX))); \n\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 233 "aufgabe_ii:=proc(T,hh,kk)\n\n local h, k, m, n, x, U, F, j, \+ werte, i, T_matrix;\n\n h:=evalf(hh); # Delta_x\n m:=floor(1/h); \n \+ k:=evalf(kk); # Delta_t\n n:=floor(T/k);\n\n if k/h^2 > 0.5 then WA RNING(\"k/h^2 > 0.5 => nicht stabil\") fi;\n" }{MPLTEXT 1 0 507 "\n U .0:=vector(m-1,[seq(h*`i`*(1-h*`i`),i=1..m-1)]); # Anfangswerte\n\n T _matrix:=band([1,-2,1],m-1);\n\n F:=V->evalm( T_matrix&*V/h^2+vector( m-1,[seq(V[`i`]*(1-V[`i`]),`i`=1..m-1)]) );\n\n for j from 0 to n-1 d o\n\n U.(j+1):=map(evalf, evalm( U.j+ k/2*( F(U.j)+F( evalm(U.j+k*F (U.j)) ) ) ) ); # (##)\n\n od;\n\n werte:=[];\n\n for j from 0 to n do\n\n werte:=[op(werte),[0,seq(U.j[`i`],`i`=1..m-1),0]]; # Rand werte U.j[0] und U.j[m] = 0\n\n od;\n\n RETURN(PLOT3D(GRID(0..T,0..1 ,werte),AXESSTYLE(BOX))); \n\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 113 "h:=0.33; k:=h^2/2; T_max:=15;\nprint(`i mit T = 1:`) ; aufgabe_i(1,h,k); print(`ii mit T = 1:`); aufgabe_ii(1,h,k);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 140 "for T from 5 by 5 to T_max \+ do\n print(cat(`i mit T = `,T,`:`)); aufgabe_i(T,h,k); \n print(cat( `ii mit T = `,T,`:`)); aufgabe_ii(T,h,k);\nod;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 30 "Was passiert also fuer grosse " }{XPPEDIT 18 0 "T;" "6#%\"TG" }{TEXT -1 1 "?" }}{PARA 0 "" 0 "" {TEXT 258 32 "Die Loesung \+ konvergiert gegen 0." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "2 1 3 0 1" 250 }{VIEWOPTS 1 1 0 1 1 1803 }