{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 "" -1 256 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 257 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 258 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 259 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 260 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 261 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 262 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 263 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 264 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 265 "" 1 12 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 "Headi ng 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 "Heading 3" -1 5 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Out put" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 14 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 }} {SECT 0 {EXCHG {PARA 3 "" 0 "" {TEXT 256 27 "NUMEERISEN ANALYYSIN DEMO T " }}}{SECT 1 {PARA 3 "" 0 "" {TEXT 257 51 "Differenssimenetelm\344 r euna-arvoteht\344v\344n ratkaisussa" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "restart:with(linalg):" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 39 " Tridiagonaalisen yht\344l\366ryhm\344n ratkaisu" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "tridiag:=proc(A,B,C,v,n)" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " local omega,alpha,i,u,y;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " omega[1]:=B[1]: alpha[1]:=C[1]/o mega[1]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 " for i from 2 to n-1 \+ do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 " omega[i]:=B[i]-alpha [i-1]*A[i];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " alpha[i]:=C [i]/omega[i];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 " od:" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 34 " omega[n]:=B[n]-alpha[n-1]*A[n]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 " u[1]:=v[1]/omega[1]: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " for i from 2 to n do " }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 42 " u[i]:=(v[i]-A[i]*u[i-1])/omega[i]; " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 " od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " y:=vector(n);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 " y[n]:=u[n]: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " for i fro m n-1 by -1 to 1 do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " y[i] :=u[i]-alpha[i]*y[i+1];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 " od:" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 " y; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end;" }}}{PARA 4 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 53 " p(x) y'' + q (x) y' + r(x) y = s(x), y(a)=ya, y(b)=yb" }{TEXT 258 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "Digits:=3:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 85 "`y''` - 'y' = 'x', 'y(a)'=5, 'y(b)'=-1;a:=0.;b:=5.;ya :=5.:yb:=-1.: n:=5; h:=(b-a)/n:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "x:=[seq(i*h,i=1..n-1)];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "p:=([seq(1.,i=1..n-1)]);" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 22 "q:=[seq(0.,i=1..n-1)];" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 22 "r:=[seq(-1,i=1..n-1)];" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 5 "s:=x;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 " pperhh:=p/h^2;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "qper2h:=0 .5*q/h;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "d:=r-2*pperhh;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "u:=pperhh+qper2h;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "l:=pperhh-qper2h;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "s[1]:=s[1]-ya*l[1];s[n-1]:=s [n-1]-yb*u[n-1];" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 259 36 "Muodostetaan tridiagonaalinen ryhm\344:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "with (linalg):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "K:=diag(op(d)):" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "for i to n-2 do K[i,i+1]:=u[i];K[i+ 1,i]:=l[i+1];od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "K:=evalm(K);" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "s:=s;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 265 51 "Ratkaistaan tridiagonaalinen yht\344l\366ryhm\344 K y = \+ s: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "Digits:=10:y:=tridiag(l,d,u ,s,n-1):Digits:=3:evalm(y);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 137 "with(plots):Tarkka_ratkaisu:='c1'*exp('x')+'c2'*exp(-'x')-'x';dif f_p:=pointplot([[a,ya],seq([x[i],y[i]],i=1..n-1),[b,yb]],symbol=circle ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 111 "Digits:=10:c2:=(4.-5*exp(5.) )/(exp(-5.)-exp(5.));c1:=5.-c2;t_p:=plot(c1*exp(t)+c2*exp(-t)-t,t=0..5 ,color=blue):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "display(\{t_p,diff _p\});" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 68 " Toinen esimerkki : x^2 y'' - x y' + (1 \+ - x) y = 0, y(1)=0, y(5)=3." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 111 "'x'^2*`y''`-'x'*`y'`+(1-'x')*y = 0, 'y'('a')=0, 'y'('b')=3.;a:=1. ;b:=5.;ya:=0.:yb:=3.: n:=8; h:=0.5;Digits:=5:" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 27 "x:=[seq(a+i*h,i=1..n-1)]; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "p:=[seq(x[i]^2,i=1..n-1)]; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "q:=-x;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "r:=[seq(1 -x[i],i=1..n-1)];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "s:=[seq(0.,i=1 ..n-1)];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "pperhh:=p/h^2;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "qper2h:=0.5*q/h; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "d:=r-2*pperhh;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "u:=pperhh+qper2h;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "l:=pperh h-qper2h; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "s[1]:=s[1]-ya*l[1];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "s[n-1]:=s[n-1]-yb*u[n-1];" }}} {EXCHG {PARA 0 "" 0 "" {TEXT 261 36 "Muodostetaan tridiagonaalinen ryh m\344:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 84 "K:=diag(op(d)): for i to \+ n-2 do K[i,i+1]:=u[i];K[i+1,i]:=l[i+1];od:K:=evalm(K);s:=s;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 260 51 "Ratkaistaan tridiagonaalinen yht\344l\366ryhm\344 K y = \+ s: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "Digits:=10:y:=tridiag(l,d,u ,s,n-1):Digits:=4:y=evalm(y);" }}}{EXCHG {PARA 256 "" 0 "" {TEXT -1 15 "Tarkka ratkaisu" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 76 "dsolve(\{t^2 *diff(z(t),t$2)-t*diff(z(t),t)+(1-t)*z(t)=0,z(1)=0,z(5)=3\},z(t)):" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "tr:=rhs(%);" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 75 "diff_p:=poi ntplot([[a,ya],seq([x[i],y[i]],i=1..n-1),[b,yb]],symbol=circle):" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "TR:=plot(tr,t=1..5,color=blue):" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "display(\{diff_p,TR\});" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 23 " Ep\344lineaarinen yht\344l\366:" }{TEXT 262 39 " y'' = 3 y^2 \+ / 2, y(0) = 2, y(1) = 3." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 97 "`y''` = 3*'y'^2 / 2 -'x'*`y'`; 'y'(a) = 2; 'y'(b) = 3;a:=0;b:=1;ya:= 2.:yb:=3.: N:=8; h:=(b-a)/N;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 263 21 " Alkuarvauksena suora:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "x:='x':" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "for i from 0 to N do x[i]:=i*h; v[i]:=2.+ x[i];od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 91 "Digits:=4;print(x=[seq( evalf(x[i]),i=0..N)]);print(y=[seq(evalf(v[i]),i=0..N)]);Digits:=10;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "ero:=100:kl:=0:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 1 {PARA 5 "" 0 "" {TEXT 264 20 "Kiintopisteiterointi" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "whi le ero>0.001 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " ero:=0:kl:=kl+ 1:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 " for i from 1 to N-1 do " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 73 " u[i]:=(v[i-1]+v[i+1]-h^2*(3*v[ i]^2/2-x[i]*(v[i+1]-v[i-1])/(2*h)))/2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " ero:=max(ero,abs(u[i]-v[i]));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 " for i fr om 1 to N-1 do v[i]:=u[i]; od;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 66 " \+ Digits:=4;print('kl'=kl,y=[seq(evalf(v[i]),i=0..N)]);Digits:=10;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}}{PARA 11 "" 1 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 75 "pointplot([seq([a+i*h,v [i]],i=0..N)],style=point,symbol=circle,color=blue);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 74 "dj:=plot([seq([a+i*h,v[i]],i=0..N)],style=point, symbol=circle,color=blue):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 5 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 5 "" 0 "" {TEXT -1 18 "Newtonin menetelm\344" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "y:='y':" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 31 "l:=[seq(1-h*x[i]/2.,i=1..N-1)];" }{TEXT -1 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "u:=[seq(1+h*x[i]/2.,i=1..N-1)];" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "d:=[seq(-2-3*h^2*y[i],i=1..N-1)];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 84 "b:=[seq(y[i-1]+y[i+1]-2*y[i]-h^2* (3*y[i]^2/2-x[i]*(y[i+1]-y[i-1])/(2*h)),i=1..N-1)];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "for i from 0 to N do y[i]:=2.+i*h; od:" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "Digits:=4;print(y=[seq(evalf(y[i]) ,i=0..N)]);Digits:=10;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "kl:=0:" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "apu:=[seq(1,i=1..N-1)]:" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "while norm(apu)>0.00001 do" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 " kl:=kl+1;" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 32 " apu:=tridiag(l,d,u,-b,N-1);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " for i to N-1 do y[i]:=y[i]+apu[i]; od;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 " Digits:=4:" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 48 " print('kl'=kl,y=[seq(evalf(y[i]),i=0..N)]);" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " Digits:=10:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 65 "dN:=pointplot([seq([a+i*h,y[i]],i=0..N)],symbol=cross,color=red):" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "with(plots):display(\{dN,dj\});" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{MARK "0 0 0" 27 } {VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }