Peanon olemassaololause

Esimerkki eksponenttifunktio yksikkövälillä epsilon=1/M.

y0[t_]:=1;
M=2;

y1[t_]:=1+Integrate[y0[s],{s,0,t}]

y2[t_]=y1[1/M]+Integrate[y1[s],{s,1/M,t}]

y2[1]

N[%]

y0[t_]:=1;
M=3;

y1[t_]:=1+Integrate[y0[s],{s,0,t}]

y2[t_]=y1[1/M]+Integrate[y1[s],{s,1/M,t}]

y3[t_]=y2[2/M]+Integrate[y2[s],{s,2/M,t}]

y3[1]

N[%]

N[E]

y0[t_]:=1;
M=4;

y1[t_]:=1+Integrate[y0[s],{s,0,t}]

y2[t_]=y1[1/M]+Integrate[y1[s],{s,1/M,t}]

y3[t_]=y2[2/M]+Integrate[y2[s],{s,2/M,t}]

y4[t_]=y3[3/M]+Integrate[y3[s],{s,3/M,t}]

N[y4[1]]

Approx4[t_]:=Piecewise[{{y1[t],t<=1/M},{y2[t],t≥1/M&&t<2/M},{y3[t],t≥2/M&&t<3/M},{y4[t],t≥3/M&&t<4/M}}]

Plot[{Exp[t],Approx4[t]},{t,0,1}]

Harjoitus 6.5

Potentiaalifunktio

V=x^2(x-1)^2+y^2

sen gradienttikenttä

GV=FullSimplify[{D[V,x],D[V,y]}]

gradienttikentän linearisointi

lin=FullSimplify[D[GV,{{x,y}}]];MatrixForm[lin]

Linearisoinnit kriittisissä pisteissä

lin/.x->0

lin/.x->1/2

lin/.x->1

tasaarvo=ContourPlot[V,{x,-1,2},{y,-1,1},Contours->{.01,.05,1/16,.1,.3,.5,.7,1,1.3,2,3,4},ContourShading->False,PlotPoints->50]

Tehdään funktio, joka ratkaisee gradienttikentän differentiaaliyhtälön numeerisesti

potdy[{x0_,y0_}]:=NDSolve[{x'[t]==-2 (-1+x[t]) x[t] (-1+2 x[t]),y'[t]==-2y[t],x[0]==x0,y[0]==y0},{x[t],y[t]},{t,-20,20}];

Valitaan lista alkuarvoja. Tehdään niitä ensin tasavälisesti tarkasteltavan laatikon reunoille ja lisätään sitten muutama täydentämään kuvaa.

Table[{i,j},{i,-2,2,.2},{j,-2,2,.2}]

Flatten[Table[{i,j},{i,-2,2,.2},{j,-2,2,.2}],1]

Alkuarvot=Union[Select[Flatten[Table[{i,j},{i,-2,2,.2},{j,-2,2,.2}],1],Max[Abs[#]]>1.9&],{{.5,2},{.5,-2},{.45,2},{.45,-2},{.55,2},{.55,-2},{.35,2},{.35,-2},{.4,0},{.6,0}}];

Muodostetaan alkuarvojen vektorista ratkaisujen vektori Map-komennon avulla.

Ratkaisuja=Map[potdy,Alkuarvot];

potrata=ParametricPlot[Evaluate[Table[{x[t],y[t]}/.Ratkaisuja[[i]],{i,Length[Ratkaisuja]}]],{t,0,20}, PlotRange->{{-1,2},{-1,1}}, PlotPoints->100,AxesLabel->{"x","x'"},PlotStyle->Thickness[0.005]]

Show[{tasaarvo,potrata}]

Plot3D[V,{x,-1,2},{y,-1,1}]

Plot3D[Log[V+1/2],{x,-1,2},{y,-1,1},ColorFunction->Function[{x,y,z},Hue[z]]]

Esimerkki ratkaisujen piirtämisestä dimensiossa 3

dy[{x0_,y0_,z0_}]:=NDSolve[{x'[t]==-2 (-1+x[t]) x[t] (-1+2 x[t]),y'[t]==-2y[t],z'[t]== -z[t],x[0]==x0,y[0]==y0,z[0]== z0},{x[t],y[t],z[t]},{t,-20,20}];

Valitaan lista alkuarvoja.

Alkuarvot={{2,0,0},{1,1,1},{3,3,3}}

Muodostetaan alkuarvojen vektorista ratkaisujen vektori Map-komennon avulla.

Ratkaisuja=Map[dy,Alkuarvot];

potrata=ParametricPlot3D[Evaluate[Table[{x[t],y[t],z[t]}/.Ratkaisuja[[i]],{i,Length[Ratkaisuja]}]],{t,0,2},  PlotPoints->100,PlotStyle->Thickness[0.005],BoxRatios->{1,1,1},AxesLabel->{x,y,z},PlotRange->Full]