Точно решение на ОДУ

Проверка на дадено точно решение на ОДУ

Пример 1 от стр.31

пояснение за експонента:

E//N

N[E,10]

(E^2)//N

Exp[2]

Exp[2]//N

yt[x_]:=Exp[0.2x]
yt'[x]==0.2 yt[x]

yt[0]

yt[0]==1

Получаване на точно решение на ОДУ с помощта на Mathematica

Пример 1 от стр.31

x=.
y=.
DSolve[{y'[x]==0.2y[x],y[0]==1},y[x],x]

Зад. 3 а) от стр.36

x=.
y=.
DSolve[{y'[x]==((x+y[x])/(x+((y[x])^2))),y[1]==1},y[x],x]

Получаване на точно решение за система ОДУ с помощта на Mathematica

Зад. 4 в) от стр.36

Clear[x,y,z]
DSolve[{y'[x]==x-y[x]z[x],z'[x]==5x-z[x],y[0]==1, z[0]==0},{y[x],z[x]},x]

Зад. 4 в) от стр.36 - сравнение с решението получено от нас по метода на Ойлер

x0=0.; xend=0.4;n=4;
y0=1;z0=0;
h=((xend-x0)/n);
(*въвеждаме точното решение*)
yt[x_]:=-(E^(-5+5 (E^(-x))+5 x-((5 (x^2))/2))) (-1+(E^5) (∫_1^0)(E^(-5 (E^(-K[1]))-5 K[1]+((5 ((K[1])^2))/2))) K[1]\[DifferentialD]K[1]-(E^5) (∫_1^x)(E^(-5 (E^(-K[1]))-5 K[1]+((5 ((K[1])^2))/2))) K[1]\[DifferentialD]K[1]);   
zt[x_]:=5 (E^(-x)) (1-(E^x)+(E^x) x);
f[x_,y_,z_]:=x-y z;
g[x_,y_,z_]:=5x-z;
x=x0;
y=y0;
z=z0;
pointsy = {{x,y}};
pointsz = {{x,z}};
Print["i = ",0, " x = ",x, " y = ",y, " z = ",z, " f(x,y) = ",f[x,y,z]," g(x,y) = ",g[x,y,z] ]
For[i=1,i≤ n,i++,
(* тяло на цикъла *)
y1=y+h*f[x,y,z];
z1=z+h*g[x,y,z];
x=x+h;
y=y1; z=z1;
AppendTo[pointsy,{x,y}];
AppendTo[pointsz,{x,z}];
Print["i = ",i, " x = ",x, " y = ",y, " z = ",z, " f(x,y) = ",f[x,y,z]," g(x,y) = ",g[x,y,z] ]
]
grfyt=Plot[yt[x],{x,x0,xend}, PlotStyle->Green];
grfzt=Plot[zt[x],{x,x0,xend}, PlotStyle->Black];
grfpy=ListPlot[pointsy, PlotStyle->{Blue, PointSize[0.03]}]
grfpz=ListPlot[pointsz, PlotStyle->{Red, PointSize[0.03]}];
(*Show[grfpy,grfpz, PlotRange->All]*)
Show[grfpz,grfzt, PlotRange->All]
Show[grfpy,grfyt, PlotRange->All]