eq0 = p ' @ t D f @ t, p @ t DD ;
Α = 0.01; b0 = 0.02; d0 = 0.015; r0 = 0.1;
tA = 0.0; tB = 50.;
n = 50;
h = H tB - tA L n;
t @ 0 D = tA;
t @ n D = tB;
Do @ t @ i + 1 D = t @ i D + h, 8 i, 0, n - 1 <D w @ 0 D = Α
Do @ w @ i + 1 D = w @ i D + h * H f @ t @ i D , w @ i DD . 8 b ® b0, d ® d0, r ® r0 <L , 8 i, 0, n - 1 <D 0.01
sol = Table @8 t @ i D , w @ i D< , 8 i, 0, n <D ;
solnum = NDSolve @8 eq0, p @ tA D Α< , p @ t D , 8 t, tA, tB < , Method -> "ImplicitRungeKutta" D@@ 1 DD ; NDSolve::ndnum : Encountered non-numerical value for a derivative at t == 0.`.
eq0
p
¢@ t D b r H 1 - p @ t DL
soltrue = DSolve @8 eq0, p @ tA D Α< , p @ t D , t D@@ 1 DD
9 p @ t D ® ã
-b r tI- 0.99 + ã
b r tM=
trange = 8 tA, tB < ; yrange = 8 0, 0.2 < ;
pl1 = ListPlot @ sol, PlotRange ® 8 trange, yrange <D ;
H* pl2=Plot @ y @ t D .solnum, 8 t,tA,tB < ,PlotRange® 8 trange,yrange <D ;* L pl3 = Plot @ p @ t D . soltrue . 8 b ® b0, d ® d0, r ® r0 < ,
8 t, tA, tB < , PlotRange ® 8 trange, yrange < , PlotStyle ® RGBColor @ 1, 0, 0 DD Show @
pl1, pl3 D
0 10 20 30 40 50
0.00 0.05 0.10 0.15 0.20
0 10 20 30 40 50
0.00 0.05 0.10 0.15 0.20
H* Esercizio 5.4.15 con RK4 * L Α = 0.;
tA = 0.0; tB = 0.2;
n = 50;
h = H tB - tA L n;
t @ 0 D = tA;
t @ n D = tB;
Do @ t @ i + 1 D = t @ i D + h, 8 i, 0, n - 1 <D w @ 0 D = Α ;
k = 6.22 * 10 ^ H- 19 L ; n1 = n2 = 2000.;
n3 = 3000.;
f @ t_, y_ D := k * H n1 - y 2 L ^ 2 * H n2 - y 2 L ^ 2 * H n3 - 3 * y 4 L ^ 3 Do @ k1 = f @ t @ i D , w @ i DD ;
k2 = f @ t @ i D + 0.5 * h, w @ i D + 0.5 * h* k1 D ; k3 = f @ t @ i D + 0.5 * h, w @ i D + 0.5 * h* k2 D ; k4 = f @ t @ i D + h, w @ i D + h * k3 D ;
w @ i + 1 D = w @ i D + h * H k1 + 2 * k2 + 2* k3 + k4 L 6., 8 i, 0, n - 1 <D ; sol = Table @8 t @ i D , w @ i D< , 8 i, 0, n <D ;
solnum = NDSolve @8 y ' @ t D f @ t, y @ t DD , y @ tA D Α< , y @ t D , 8 t, tA, tB <D@@ 1 DD ; H* soltrue=DSolve @8 y' @ t D f @ t,y @ t DD ,y @ tA DΑ< ,y @ t D ,t D@@ 1 DD*L
trange = 8 tA, tB < ; yrange = 8 0, 3000. < ;
pl1 = ListPlot @ sol, PlotRange ® 8 trange, yrange < , PlotStyle ® 8 PointSize @ 0.015 D , RGBColor @ 1, 0, 0 D<D ;
pl3 = Plot @ y @ t D . solnum, 8 t, tA, tB < , PlotRange ® 8 trange, yrange < , PlotStyle ® Thickness @ 0.005 DD ;
H* pl3=Plot @ y @ t D .soltrue, 8 t,tA,tB < ,PlotRange® 8 trange,yrange < , PlotStyle®RGBColor @ 1,0,0 DD ;* L
Show @ pl1, pl3 D
500 1000 1500 2000 2500 3000
H* Esercizio 6.2.16 * L Clear @ a, Α D ;
n = 3;
a = 88 2, 1, 3 < , 8 4, 6, 8 < , 8 6, Α, 10 << ; b = 8 1, 5, 5 < ;
MatrixForm @ a D MatrixForm @ b D
2 1 3 4 6 8 6 Α 10 1 5 5 s @ 1 D s @ 2 D s @ 3 D 3 8 10 r @ 1 D r @ 2 D r @ 3 D
2 3 1 2 3 5
a0 = a . Α ® -3;
MatrixForm @ a0 D
Do @ s @ i D = Max @ Table @ Abs @ a0 @@ i DD@@ j DDD N, 8 j, 1, n <DD , 8 i, 1, n <D ; Do @ r @ i D = Abs @ a0 @@ i DD@@ 1 DDD s @ i D N, 8 i, 1, n <D ;
Do @ Print @ "i = ", i, " s @ i D = ", s @ i D , " r @ i D = ", r @ i DD , 8 i, 1, n <D
aa = 8 Join @ a0 @@ 1 DD , 8 b @@ 1 DD<D , Join @ a0 @@ 2 DD , 8 b @@ 2 DD<D , Join @ a0 @@ 3 DD , 8 b @@ 3 DD<D< ; MatrixForm @ aa D
2 1 3 4 6 8 6 -3 10
i = 1 s @ i D = 3. r @ i D = 0.666667 i = 2 s @ i D = 8. r @ i D = 0.5 i = 3 s @ i D = 10. r @ i D = 0.6
2 1 3 1
4 6 8 5
6 -3 10 5
a1 = 8 aa @@ 1 DD , aa @@ 2 DD - H aa @@ 2 DD@@ 1 DD aa @@ 1 DD@@ 1 DDL * aa @@ 1 DD , aa @@ 3 DD - H aa @@ 3 DD@@ 1 DD aa @@ 1 DD@@ 1 DDL * aa @@ 1 DD< ;
MatrixForm @ a1 D
Do @ s @ i D = Max @ Table @ Abs @ a1 @@ i DD@@ j DDD N, 8 j, 2, n <DD , 8 i, 2, n <D ; Do @ r @ i D = Abs @ a1 @@ i DD@@ 2 DDD s @ i D N, 8 i, 2, n <D ;
Do @ Print @ "i = ", i, " s @ i D = ", s @ i D , " r @ i D = ", r @ i DD , 8 i, 2, n <D
2 1 3 1 0 4 2 3 0 -6 1 2
i = 2 s @ i D = 4. r @ i D = 1.
i = 3 s @ i D = 6. r @ i D = 1.
a2 = 8 a1 @@ 1 DD , a1 @@ 2 DD , a1 @@ 3 DD - H a1 @@ 3 DD@@ 2 DD a1 @@ 2 DD@@ 2 DDL * a1 @@ 2 DD< ; MatrixForm @ a2 D
2 1 3 1 0 4 2 3 0 0 4
132