{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 2 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 257 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 259 "" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 260 "" 1 8 0 0 0 0 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 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }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 1 }0 0 0 -1 8 2 0 0 0 0 0 0 -1 0 } {PSTYLE "" 0 256 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 3 257 1 {CSTYLE "" -1 -1 "" 1 24 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 258 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 257 "" 0 "" {TEXT -1 27 "NUMEERISEN ANALYYSIN DEM OT " }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 20 "Rombergin menetelm\344." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "restart:L=(b-a);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "for i from 0 to 6 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "lprin t(i,n=2^i,h=L/2^i,T[i,0],seq((T[i,k]),k=1..i));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "od:i:='i':" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "prin t(` `);" }{TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "(T[i,0]=I nt(f(x),x=a..b))=h*(f(a)+2*Sum(f(a+k*h,k=1..n-1))+f(b))/2; " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "T[i,k]:=T[i,j-1]+(T[i,j-1]-T[i-1,j- 1])/(4^j-1),i=1..N,j=1..i; " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 103 "T[i,k] := T[i,j-1]+(T[i,j-1 ]-T[i-1,j-1])/(4^j-1), (T[i,0] = Int(f(x),x = a .. b)) = 1 .. N, j = 1 .. i;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "f:=x->sin(x^2);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "a:=0.;b:=sqrt(Pi);h:=b-a;plot(f(x),x=a..b);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "T[0,0]:=h*(f(a)+f(b))/2;h:=e valf(h);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "T[1,0]:=(T[0,0] +h*f(a+h/2))/2;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "T[1,1]:= T[1,0]+(T[1,0]-T[0,0])/3;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "k:=1: h:=h/2;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "lprint (0,evalf(T[0,0])); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "lprint(1,evalf(T[1,0]),evalf(T[1,1])); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "while abs(T[k-1,k-1]-T[k,k]) > 0.00000001 do" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 " M:=0: ax:=a+h/2.:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 48 " for i from 0 to 2^k-1 do M:=M+f(ax+i*h) ; od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " M:=h*M: T[k+1,0]:=(T [k,0]+M)/2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " for j from 1 to \+ k+1 do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 64 " T[k+1,j] :=T[k+1, j-1]+ (T[k+1,j-1]-T[k,j-1]) / (4^j-1); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 " od;k:=k+1;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " lprint(k,seq(evalf(T[k,i]),i=0..k));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "h:=h/2; od:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "tarkk a10:=evalf(Int(f(x),x=a..b));ero:=tarkka10-T[k,k];" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 24 "Gaussin integr ointikaava" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "gauss_int_n:=Int(f(x),x=-1..1)=Sum(A[k]*f(x[k]),k=1..n);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 19 "Legendren polynomit" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "P:=proc(n,x) local Lee,Le,Lu,i;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 " Lee:=1; Le:=x;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 46 " if n=0 \+ then Lu:=Lee; elif n=1 then Lu:=Le; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " elif n>=2 then for i to n-1 do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 " Lu:=expand(((2*i+1)*x*Le-i*Lee)/(i+1)); \+ ;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " Lee:=Le; Le:=Lu; \+ od" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 " else print(`Kertaluku ei \+ voi olla negatiivinen!`); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 " f i;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 " Lu;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "for k from 0 to 5 do L[k](t)=P(k,t);od;" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 33 "Gaussin kaavan integrointipisteet" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "gausspoints:=proc(n) local p,t,x; Digits:=20; \+ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "p:=P(n,t);" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 37 "x:=sort([fsolve(p=0,t)]); Digits:=10;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "evalf(x);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "for k to 5 do gaus spoints(k) ;od;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 21 "Gaussin kaavan painot" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "gaussweights:=proc(n) local p,dp,t, w,x,i; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "Digits:=20; p:=P(n,t);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "dp:=diff(p,t); dp:=unapply(dp,t) ; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "x:=gausspoints(n);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "w:=[seq( 2./((1-x[i]^2)*dp(x[i])^2),i=1.. n)];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "Digits:=10;evalf(w);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "for k to 5 do gaussweights(k) ;od;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} }{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 36 "Integrointi kaava Maple-proceduurina" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "gaussint:=proc(f,t,n) local g,x,w,i; " }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 17 "g:=unapply(f,t); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "x:=gausspoints(n);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "A:=gaussweights(n);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "sum(A[i] *g(x[i]),i=1..n);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "plot(t+1+sin(t^2-5*t+3.),t=- 1..1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "gaussint(t+1+sin( t^2-5*t+3.),t,2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "gaussi nt(t+1+sin(t^2-5*t+3.),t,3);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "gaussint(t+1+sin(t^2-5*t+3.),t,4);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "gaussint(t+1+sin(t^2-5*t+3.),t,5);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "gaussint(t+1+sin(t^2-5*t+3.),t,6);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "evalf(Int(t+1+sin(t^2-5*t+3. ),t=-1..1));" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 256 11 "integrointi" } {TEXT -1 12 "v\344lin\344 [a,b]" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 46 " gaussint:=proc(f,t,a,b,n) local g,x,w,i,c,d; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "c:=(b-a)/2. ;d:=(a+b)/2.;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "g:=unapply(f,t);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "x:=gausspoints(n); w:=gaussweights(n); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "c*sum(w[i]*g(c*x[i]+d),i=1..n); " }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 4 "end;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "g i9:=gaussint(sin(t^2),t,0,evalf(sqrt(Pi)),9);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "n:=3;h:=evalf(sqrt(Pi))/n;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "i:='i':gi3_3:=sum(gaussint(sin(t^2),t,i*h,(1+ i)*h,3),i=0..n-1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 94 "tarkk a10:=evalf(Int(sin(x^2),x=0..evalf(sqrt(Pi)))):ero9:=tarkka10-gi9;ero3 _3:=tarkka10-gi3_3;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} }}{SECT 1 {PARA 3 "" 0 "" {TEXT 257 61 " 1. kertaluvun differentiaaliy ht\344l\366 : y' = f(x,y) , y(0)=y0;" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "f:=(x,y)->y/2-x^2*y^2; y0:=1.;" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 39 "Eulerin menetelm\344 = 1. kl:n Runge-Kutta" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "y[i+1]='y[i]+h*f(x[i],y[i])';" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "y[0]:=y0;x[0]:=0.;N:=16;L:=4.;h:=L/N;" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "for i from 0 to N-1 do " } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 " x[i+1]:=(i+1)*h; " }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 32 " y[i+1]:=y[i]+h*f(x[i],y[i]);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "`Tarkka ratkaisu`=1/(2*x^2-8*x+16-15.*exp(-1/2*x));" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 13 "with(plots): " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "Er:=plot([seq([x[i],y[i]],i=0..N)],style=point,symbol=circle): " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "Tr:=plot(1/(2*x^2-8*x+16-15.*e xp(-1/2*x)),x=0..L,color=black):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "display(\{Er,Tr\});" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} }{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 38 "Keskipistes\344\344nt\366 = 2. kl:n Runge-Kutta" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 18 "k1='f(x[i],y[i])';" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "y['i+1']='y[i]+h*f(x[i]+h/2,y[i]+h*k1/2)'; " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "y[0]:=y0:x[0]:=0.:N:=8;L:=4. ;h:=L/N;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "for i from 0 to N-1 do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " x[i+1]:=(i+1)*h;" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " k1:=f(x[i],y[i]);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " y[i+1]:=y[i]+h*f(x[i]+h/2,y[i]+h*k1/2); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 75 "kps:=plot([seq([x[i],y[i]],i=0..N)],style=point,symbo l=circle,color=green):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "with(plot s): display(\{Er,kps,Tr\});" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 38 "Modifioitu Euler = 2. kl:n Runge-Kutta" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "'k1'='f(x[i],y[i])';" }{TEXT -1 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "k2='f(x[i]+h,y[i]+h*k1)';" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "y['i+1']='y[i]+h*(k1+k2)/2'; " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "y[0]:=y0:x[0]:=0.:N:=8:L:=4.;h:=L/N ;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "for i from 0 to N-1 do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " x[i+1]:=(i+1)*h;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " k1:=f(x[i],y[i]);" }{TEXT -1 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 " k2:=f(x[i]+h,y[i]+h*k1); " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 " y[i+1]:=y[i]+h*(k1+k2)/2; " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 75 "me:=plot([seq([x[i],y[i]],i=0..N)],style=point,symbol =cross,color=magenta):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "with(plot s): display(\{Er,kps,me,Tr\});" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 19 "4. kl:n Runge-Kutta " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "'k1'='f(x[i],y[i])';" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "'k2'='f(x[i]+h/2,y[i]+h*k1/2)';" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "'k3'='f(x[i]+h/2,y[i]+h*k2/2)';" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "'k4'='f(x[i]+h,y[i]+h*k3)';" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "y['i+1']='y[i]+h*(k1+2*k2+2*k3+k4)/ 6'; " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "y[0]:=y0:x[0]:=0.:N :=8;L:=4.;h:=L/N;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "for i \+ from 0 to N-1 do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " x[i+1]:=(i+ 1)*h;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " k1:=f(x[i],y[i]);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " k2:=f(x[i]+h/2,y[i]+h*k1/2);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " k3:=f(x[i]+h/2,y[i]+h*k2/2);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " k4:=f(x[i]+h,y[i]+h*k3);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " y[i+1]:=y[i]+h*(k1+2*k2+2*k3+k4)/ 6.; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 74 "rk4:=plot([seq([x[i],y[i]],i=0..N)],style=point, symbol=cross,color=blue): " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "displ ay(\{kps,rk4,Tr\});" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 40 " 1. kertaluvun differentiaaliyht\344l\366ryhm\344" }{TEXT 260 1 " " } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "Diff(y[1],x)= f[1](x,y[1],y[2]) ;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "Diff(y[2],x)= f[2](x,y[1],y[2]) ;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "y[1](0)=y[1][0],y[2](0)=y[2][0]; " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT 258 39 "Eulerin menetelm\344 = 1. kl:n Runge-Kutta" }{TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "y[1]['i+1']='y[1][ i]+h*f[1](x[i],y[1][i],y[2][i])'; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "y[2]['i+1']='y[2][i]+h*f[2](x[i],y[1][i],y[2][i])';" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "f[1]:=(x,y1,y2)->exp(-x*y2)*y1^2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "f[2]:=(x,y1,y2)->sin(x*y1)*y2;" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "y[1][0]:=-1.;y[2][0]:=1.;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "x[0]:=0.:N:=40:L:=5.;h:=L/N; " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "for i from 0 to N-1 do \+ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " x[i+1]:=(i+1)*h; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 53 " y[1][i+1]:=y[1][i]+h*f[1](x[i],y[1][i] ,y[2][i]); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 51 " y[2][i+1]:=y[2][ i]+h*f[2](x[i],y[1][i],y[2][i]);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 " od:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "yp1:=plot([seq([x[i] ,y[1][i]],i=0..N)]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "yp2:=plot([ seq([x[i],y[2][i]],i=0..N)],color=blue):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "with(plots): display(\{yp1,yp2\});" }}}{EXCHG {PARA 258 "" 0 "" {TEXT -1 13 "Faasiavaruusk" }{TEXT 257 5 "\344yr\344:" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "plot([seq([y[1][i],y[2][i]],i=0..N) ],labels=[y1,y2]);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "EF:=plot([seq ([y[1][i],y[2][i]],i=0..N)],labels=[y1,y2]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 259 19 "4. kl :n Runge-Kutta" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 " k[11]:=' f[1](x[i],y[1][i],y[2][i])';" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 " k [12]:='f[2](x[i],y[1][i],y[2][i])';" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 62 " k[21]:='f[1](x[i]+h/2,y[1][i]+h*k[11]/2,y[2][i]+h*k[12]/2)';" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 " k[22]:='f[2](x[i]+h/2,y[1][i]+h*k [11]/2,y[2][i]+h*k[12]/2)';" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 62 " k[ 31]:='f[1](x[i]+h/2,y[1][i]+h*k[21]/2,y[2][i]+h*k[22]/2)';" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 62 " k[32]:='f[2](x[i]+h/2,y[1][i]+h*k[21]/2,y [2][i]+h*k[22]/2)';" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 " k[41]:='f[ 1](x[i]+h,y[1][i]+h*k[31],y[2][i]+h*k[32])';" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 " k[42]:='f[2](x[i]+h,y[1][i]+h*k[31],y[2][i]+h*k[32] )';" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 " y[1]['i+1']:='y[1][i]+h*(k [11]+2*k[21]+2*k[31]+k[41])/6'; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 " y[2]['i+1']:='y[2][i]+h*(k[12]+2*k[22]+2*k[32]+k[42])/6';" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 53 "y[1][0]:=-1.:y[2][0]:=1.:x[0]:=0.:N:=40:L:=5.;h:=L/ N;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "for i from 0 to N-1 d o " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " x[i+1]:=(i+1)*h;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " k[11]:=f[1](x[i],y[1][i],y[2][i]);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " k[12]:=f[2](x[i],y[1][i],y[2][i]) ;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 " k[21]:=f[1](x[i]+h/2,y[1][i] +h*k[11]/2,y[2][i]+h*k[12]/2);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 " \+ k[22]:=f[2](x[i]+h/2,y[1][i]+h*k[11]/2,y[2][i]+h*k[12]/2);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 " k[31]:=f[1](x[i]+h/2,y[1][i]+h*k[21]/2, y[2][i]+h*k[22]/2);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 " k[32]:=f[2 ](x[i]+h/2,y[1][i]+h*k[21]/2,y[2][i]+h*k[22]/2);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 " k[41]:=f[1](x[i]+h,y[1][i]+h*k[31],y[2][i]+h*k[32]) ;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 " k[42]:=f[2](x[i]+h,y[1][i]+h *k[31],y[2][i]+h*k[32]);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 " y[1][ i+1]:=y[1][i]+h*(k[11]+2*k[21]+2*k[31]+k[41])/6.; " }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 56 " y[2][i+1]:=y[2][i]+h*(k[12]+2*k[22]+2*k[32]+k[42] )/6.;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 42 "RKyp1:=plot([seq([x[i],y[1][i]],i=0..N)]):" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "RKyp2:=plot([seq([x[i],y[2][i]],i=0 ..N)],color=blue):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "with(plots): \+ display(\{RKyp1,RKyp2\});" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 18 "Faas iavaruusk\344yr\344:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "RKF:=plot([ seq([y[1][i],y[2][i]],i=0..N)],labels=[y1,y2],color=blue):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "display(\{RKF,EF\});" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 257 35 " 2. kertaluvun differentiaaliyht\344l \366" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart:" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "`y''` = f(x,y,`y'`) , y(0)=y[0] ,`y '`(0)=`y'`[0]; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "y[1]=y,y[2]=`y '`;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "Diff(y[1],x)=y[2];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Diff(y[2],x)=f(x,y[1],y[2]);" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 30 "y[1](0)=y[0], y[2](0)=`y'`[0];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "diff('y(x)',x,x)+'y(x)'=0;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "f:=(x,y,`y'`)->-y; y[0]:=1.; `y'`[0]:=0;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "f[1]:=(x,y1, y2)->y2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "f[2]:=(x,y1,y2)->-y1;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "y[1][0]:=y[0];y[2][0]:=`y'`[0];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 39 "Eulerin menetelm \344 = 1. kl:n Runge-Kutta" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "x[0]:=0.:N:=600:L:=30.;h:=L/N;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "for i from 0 to N-1 do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " x[i+1]:=(i+1)*h; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " y[1][i+1]:=y[1][i]+h*y[2][i]; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " y[2][i+1]:=y[2][i]+h*(-y[1][i]);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "yp1: =plot([seq([x[i],y[1][i]],i=0..N)]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "yp2:=plot([seq([x[i],y[2][i]],i=0..N)],color=blue) :" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "with(plots): display(\{yp1,yp2\});" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 18 "Faasiavaruusk\344yr\344:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "plot([seq([y[1][i],y[2][i]],i=0..N)],labe ls=[y,`y'`]);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "EF:=plot([seq([y[1 ][i],y[2][i]],i=0..N)],labels=[y,`y'`]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 19 "4. kl:n Runge-Kutta" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "y[1][0]:=y[0];y[2][0]:=`y'`[0];x[0]:=0.:N:=600:L:=120 .;h:=L/N;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "for i from 0 t o N-1 do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " x[i+1]:=(i+1)*h;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " k[11]:=h*y[2][i]; k[12 ]:=-h*y[1][i];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 " k[21]:=h*(y[2] [i]+k[12]/2); k[22]:=-h*(y[1][i]+k[11]/2);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 " k[31]:=h*(y[2][i]+k[22]/2); k[32]:=-h*(y[1][i]+k[2 1]/2);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 " k[41]:=h*(y[2][i]+k[32 ]); k[42]:=-h*(y[1][i]+k[31]);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 " y[1][i+1]:=y[1][i]+(k[11]+2*k[21]+2*k[31]+k[41])/6.; " }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 55 " y[2][i+1]:=y[2][i]+(k[12]+2*k[22]+2*k[32] +k[42])/6.;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "RKyp1:=plot([seq([x[i],y[1][i]],i=0..N)]) :" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "RKyp2:=plot([seq([x[i],y[2][i] ],i=0..N)],color=blue) :" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "with(pl ots): display(\{RKyp1,RKyp2\});" }}}{EXCHG {PARA 258 "" 0 "" {TEXT -1 18 "Faasiavaruusk\344yr\344:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "RKF :=plot([seq([y[1][i],y[2][i]],i=0..N)],color=blue):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "display(\{RKF,EF\});" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}}}{MARK "6" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 } {PAGENUMBERS 0 1 2 33 1 1 }