Anda di halaman 1dari 21

!

" #"$ %

&

'

&

&

restart;
Digits:=12;
Digits := 12
$#$#( ) *

(1

deq:=D(y)(x)=-5*y(x)+5*x^2+2*x;
deq := D y x = 5 y x

5x

2x

(2

Cinic:=y(0)=1;
Cinic := y 0 = 1

(3

Sol:=dsolve({deq,Cinic},y(x));
2

Sol := y x = x

5x

(4

F:=(x,y)->-5*y+5*x^2+2*x;
F := x, y

5y

5x

2x

(5

a:=0;
b:=1;
a := 0
b := 1
$#$ (

!" #$

(6

!
"#
$
h:=0.1;
N:=floor((b-a)/h);

"

h := 0.1
N := 10
"#
%
M:=array(1..N+2,1..8);
x:=array(1..N+2);
y_exacta:=array(1..N+2);
u_Euler:=array(1..N+2);
Error_Euler:=array(1..N+2);
u_Taylor:=array(1..N+2);
Error_Taylor:=array(1..N+2);
u_RK:=array(1..N+2);
Error_RK:=array(1..N+2);

(7
&

M := array 1 ..12, 1 ..8,


x := array 1 ..12,
y_exacta := array 1 ..12,
u_Euler := array 1 ..12,
Error_Euler := array 1 ..12,
u_Taylor := array 1 ..12,
Error_Taylor := array 1 ..12,
u_RK := array 1 ..12,
Error_RK := array 1 ..12,
,
'

(8

$
(
x[1]:=a;
u_Euler[1]:=1;
x1 := 0
u_Euler1 := 1

#%

(9

for i from 2 to N+1 do


x[i]:=x[1]+(i-1)*h;
E:=F(x[i-1],u_Euler[i-1]);
u_Euler[i]:=u_Euler[i-1]+h*E;
od:
,
'

(
x[1]:=a;
u_Taylor[1]:=1;
x1 := 0
u_Taylor1 := 1

(10

y_prima:=-5*y+5*x^2+2*x;
Dy:=diff(-5*y+5*x^2+2*x,y);
Dx:=diff(-5*y+5*x^2+2*x,x);
2

y_prima := 5 y 5 x
Dy := 5
Dx := 10 x 2

2x
(11

T1:=Dy*y_prima+Dx;
T1 := 25 y

25 x

(12

F1:=(x,y)->25*y-25*x^2+2;
F1 := x, y
)

#%
+
,
for i from 2 to N+1 do
x[i]:=x[1]+(i-1)*h;
T:=F(x[i-1],u_Taylor[i-1]);
T1:=F1(x[i-1],u_Taylor[i-1]);
u_Taylor[i]:=u_Taylor[i-1]+h*(T+(h/2)*T1);
od:

,
'

25 y

(
x[1]:=a;
u_RK[1]:=1;

25 x

(13

x1 := 0
u_RK1 := 1

(14

#%
./
0
for i from 2 to N+1 do
x[i]:=x[1]+(i-1)*h;
K1:=h*F(x[i-1],u_RK[i-1]);
K2:=h*F(x[i-1]+(h/2),u_RK[i-1]+(K1/2));
K3:=h*F(x[i-1]+(h/2),u_RK[i-1]+(K2/2));
K4:=h*F(x[i],u_RK[i-1]+K3);
u_RK[i]:=u_RK[i-1]+(1/6)*(K1+2*K2+2*K3+K4);
od:
$#$-( %
+
$

(
Fsol:=x->x^2+exp(-5*x);
Fsol := x

5x

(15

x[1]:=a;
y_exacta[1]:=1;
x1 := 0
y_exacta1 := 1
for i from 2 to N+1 do
x[i]:=x[i-1]+h;
y_exacta[i]:=Fsol(x[i]);
od:
1

"
M[1,1]:='x[i]':
M[1,2]:='Sol._exacta':
M[1,3]:='Sol._Euler':
M[1,4]:='Error_Euler':
M[1,5]:='Sol._Taylor2':
M[1,6]:='Error_Taylor2':
M[1,7]:='Sol._Runge-Kutta4':
M[1,8]:='Error_Runge-Kutta4':
for i from 2 to N+1 do

(16

M[i,1]:=x[i-1];
M[i,2]:=y_exacta[i-1];
M[i,3]:=u_Euler[i-1];
M[i,4]:=abs(M[i,2]-M[i,3]);
M[i,5]:=u_Taylor[i-1];
M[i,6]:=abs(M[i,2]-M[i,5]);
M[i,7]:=u_RK[i-1];
M[i,8]:=abs(M[i,2]-M[i,7]);
od:
print(M);
xi, Sol._exacta, Sol._Euler, Error_Euler, Sol._Taylor2, Error_Taylor2, Sol._Runge

Kutta4, Error_Runge

Kutta4 ,

0, 1, 1, 0, 1, 0, 1, 0 ,
0.1, 0.616530659713, 0.5, 0.116530659713, 0.635000000000, 0.018469340287, 0.616796875000, 0.000266215287 ,
0.2, 0.407879441171, 0.275, 0.132879441171, 0.430625000000, 0.022745558829, 0.408212687174, 0.000333246003 ,
0.3, 0.313130160148, 0.1975, 0.115630160148, 0.334140625000, 0.021010464852, 0.313446760708, 0.000316600560 ,
0.4, 0.295335283237, 0.20375, 0.091585283237, 0.312587890625, 0.017252607388, 0.295607018866, 0.000271735629 ,
0.5, 0.332084998624, 0.261875, 0.070209998624, 0.345367431641, 0.013282433017, 0.332308425509, 0.000223426885 ,
0.6, 0.409787068368, 0.3559375, 0.053849568368, 0.419604644776, 0.009817576408, 0.409968393604, 0.000181325236 ,
0.7, 0.520197383422, 0.47796875, 0.042228633422, 0.527252902985, 0.007055519563, 0.520345405494, 0.000148022072 ,
0.8, 0.658315638889, 0.623984375, 0.034331263889, 0.663283064366, 0.004967425477, 0.658438748646, 0.000123109757 ,
0.9, 0.821108996538, 0.7919921875, 0.029116809038, 0.824551915229, 0.003442918691, 0.821214136549, 0.000105140011
,
1.0, 1.00673794700, 0.98099609375, 0.02574185325, 1.00909494702, 0.00235700002, 1.00683045264, 0.00009250564
$
with(plots):
gr_Ec:=plot(x^2+exp(-5*x),x=0..1,y=0..1.1,color=blue,thickness=1):
gr_Euler:=plot([[x[1],u_Euler[1]],[x[2],u_Euler[2]],[x[3],u_Euler[3]],[x[4],u_Euler[4]
],[x[5],u_Euler[5]],[x[6],u_Euler[6]],[x[7],u_Euler[7]],[x[8],u_Euler[8]],[x[9],u_Euler
[9]],[x[10],u_Euler[10]],[x[11],u_Euler[11]]],color=black,style=point,symbol=box):
gr_Taylor:=plot([[x[1],u_Taylor[1]],[x[2],u_Taylor[2]],[x[3],u_Taylor[3]],[x[4],
u_Taylor[4]],[x[5],u_Taylor[5]],[x[6],u_Taylor[6]],[x[7],u_Taylor[7]],[x[8],u_Taylor[8]],

(17

[x[9],u_Taylor[9]],[x[10],u_Taylor[10]],[x[11],u_Taylor[11]]],color=red,style=point,
symbol=circle):
gr_RK:=plot([[x[1],u_RK[1]],[x[2],u_RK[2]],[x[3],u_RK[3]],[x[4],u_RK[4]],[x[5],u_RK[5]],
[x[6],u_RK[6]],[x[7],u_RK[7]],[x[8],u_RK[8]],[x[9],u_RK[9]],[x[10],u_RK[10]],[x[11],
u_RK[11]]],color=violet,style=point,symbol=diamond):
display(gr_Ec,gr_Euler,gr_Taylor,gr_RK);

0.8

0.6
y

0.4

0.2

0
0

0.2

0.4

0.6
x

$#$ ( %.

&

'

&

&

($

0.8

&
&
Xmin_exacta:=0.377889066588;
Ymin_exacta:=0.293955773283;

"
Xmin_exacta := 0.377889066588
Ymin_exacta := 0.293955773283

&
,

(18

$
for i from 2 to N+1 do
if u_Euler[i]<u_Euler[i-1] then
Xmin:=x[i];
Ymin:=u_Euler[i];
fi;
od;
Xmin_Euler:=Xmin;
Ymin_Euler:=Ymin;
Xmin_Euler := 0.3
Ymin_Euler := 0.1975

(19

$
for i from 2 to N+1 do
if u_Taylor[i]<u_Taylor[i-1] then
Xmin:=x[i];
Ymin:=u_Taylor[i];
fi;
od;
Xmin_Taylor:=Xmin;
Ymin_Taylor:=Ymin;
Xmin_Taylor := 0.4
Ymin_Taylor := 0.312587890625

$
for i from 2 to N+1 do
if u_RK[i]<u_RK[i-1] then
Xmin:=x[i];
Ymin:=u_RK[i];

(20

fi;
od;
Xmin_RungeKutta:=Xmin;
Ymin_RungeKutta:=Ymin;
Xmin_RungeKutta := 0.4
Ymin_RungeKutta := 0.295607018866
%

(21

1
A:=array(1..3,1..8);
A := array 1 ..3, 1 ..8,
A[1,1]:='TABLA_COMPARATIVA':
A[1,2]:='Sol._exacta':
A[1,3]:='Met._Euler':
A[1,4]:='Error_Euler':
A[1,5]:='Met._Taylor2':
A[1,6]:='Error_Taylor2':
A[1,7]:='Met._Runge-Kutta4':
A[1,8]:='Error_Runge-Kutta4':
A[2,1]:='Xmin':
A[3,1]:='Ymin':
A[2,2]:=Xmin_exacta:
A[3,2]:=Ymin_exacta:
A[2,3]:=Xmin_Euler:
A[3,3]:=Ymin_Euler:
A[2,4]:=abs(Xmin_exacta-Xmin_Euler):
A[3,4]:=abs(Ymin_exacta-Ymin_Euler):
A[2,5]:=Xmin_Taylor:
A[3,5]:=Ymin_Taylor:
A[2,6]:=abs(Xmin_exacta-Xmin_Taylor):
A[3,6]:=abs(Ymin_exacta-Ymin_Taylor):
A[2,7]:=Xmin_RungeKutta:
A[3,7]:=Ymin_RungeKutta:
A[2,8]:=abs(Xmin_exacta-Xmin_RungeKutta):
A[3,8]:=abs(Ymin_exacta-Ymin_RungeKutta):
print(A);
TABLA_COMPARATIVA, Sol._exacta, Met._Euler, Error_Euler, Met._Taylor2, Error_Taylor2, Met._Runge
Error_Runge Kutta4 ,

(22

Kutta4,

(23

Xmin, 0.377889066588, 0.3, 0.077889066588, 0.4, 0.022110933412, 0.4, 0.022110933412 ,


Ymin, 0.293955773283, 0.1975, 0.096455773283, 0.312587890625, 0.018632117342, 0.295607018866, 0.001651245583

!" "#$ %

&

'

&

&

restart;
Digits:=12;
Digits := 12
$ $#( ) *

(1

deq:=D(y)(x)=-5*y(x)+5*x^2+2*x;
deq := D y x = 5 y x

5x

2x

(2

Cinic:=y(0)=1;
Cinic := y 0 = 1

(3

Sol:=dsolve({deq,Cinic},y(x));
2

Sol := y x = x

5x

(4

F:=(x,y)->-5*y+5*x^2+2*x;
F := x, y

5y

5x

2x

(5

a:=0;
b:=1;
a := 0
b := 1
$ $ (

!" #$

(6

!
"#
$
h:=0.01;
N:=floor((b-a)/h);

"

h := 0.01
N := 100
"#
%
M:=array(1..N+2,1..8);
x:=array(1..N+2);
y_exacta:=array(1..N+2);
u_Euler:=array(1..N+2);
Error_Euler:=array(1..N+2);
u_Taylor:=array(1..N+2);
Error_Taylor:=array(1..N+2);
u_RK:=array(1..N+2);
Error_RK:=array(1..N+2);

(7
&

M := array 1 ..102, 1 ..8,


x := array 1 ..102,
y_exacta := array 1 ..102,
u_Euler := array 1 ..102,
Error_Euler := array 1 ..102,
u_Taylor := array 1 ..102,
Error_Taylor := array 1 ..102,
u_RK := array 1 ..102,
Error_RK := array 1 ..102,
,
'

(8

$
(
x[1]:=a;
u_Euler[1]:=1;
x1 := 0
u_Euler1 := 1

#%

(9

for i from 2 to N+1 do


x[i]:=x[1]+(i-1)*h;
E:=F(x[i-1],u_Euler[i-1]);
u_Euler[i]:=u_Euler[i-1]+h*E;
od:
,
'

(
x[1]:=a;
u_Taylor[1]:=1;
x1 := 0
u_Taylor1 := 1

(10

y_prima:=-5*y+5*x^2+2*x;
Dy:=diff(-5*y+5*x^2+2*x,y);
Dx:=diff(-5*y+5*x^2+2*x,x);
2

y_prima := 5 y 5 x
Dy := 5
Dx := 10 x 2

2x
(11

T1:=Dy*y_prima+Dx;
T1 := 25 y

25 x

(12

F1:=(x,y)->25*y-25*x^2+2;
F1 := x, y
)

#%
+
,
for i from 2 to N+1 do
x[i]:=x[1]+(i-1)*h;
T:=F(x[i-1],u_Taylor[i-1]);
T1:=F1(x[i-1],u_Taylor[i-1]);
u_Taylor[i]:=u_Taylor[i-1]+h*(T+(h/2)*T1);
od:

,
'

25 y

(
x[1]:=a;
u_RK[1]:=1;

25 x

(13

x1 := 0
u_RK1 := 1

(14

for i from 2 to N+1 do


x[i]:=x[1]+(i-1)*h;
K1:=h*F(x[i-1],u_RK[i-1]);
K2:=h*F(x[i-1]+(h/2),u_RK[i-1]+(K1/2));
K3:=h*F(x[i-1]+(h/2),u_RK[i-1]+(K2/2));
K4:=h*F(x[i],u_RK[i-1]+K3);
u_RK[i]:=u_RK[i-1]+(1/6)*(K1+2*K2+2*K3+K4);
od:
$ $-( %
+
$
*

(
Fsol:=x->x^2+exp(-5*x);
Fsol := x

x2

5x

(15

x[1]:=a;
y_exacta[1]:=1;
x1 := 0
y_exacta1 := 1
for i from 2 to N+1 do
x[i]:=x[i-1]+h;
y_exacta[i]:=Fsol(x[i]);
od:
-

"
M[1,1]:='x[i]':
M[1,2]:='Sol._exacta':
M[1,3]:='Sol._Euler':
M[1,4]:='Error_Euler':
M[1,5]:='Sol._Taylor2':
M[1,6]:='Error_Taylor2':
M[1,7]:='Sol._Runge-Kutta4':
M[1,8]:='Error_Runge-Kutta4':
for i from 2 to N+1 do
M[i,1]:=x[i-1];

(16

M[i,2]:=y_exacta[i-1];
M[i,3]:=u_Euler[i-1];
M[i,4]:=abs(M[i,2]-M[i,3]);
M[i,5]:=u_Taylor[i-1];
M[i,6]:=abs(M[i,2]-M[i,5]);
M[i,7]:=u_RK[i-1];
M[i,8]:=abs(M[i,2]-M[i,7]);
od:
print(M);
xi, Sol._exacta, Sol._Euler, Error_Euler, Sol._Taylor2, Error_Taylor2, Sol._Runge

Kutta4, Error_Runge

Kutta4 ,

(17

0, 1, 1, 0, 1, 0, 1, 0 ,
0.01, 0.951329424501, 0.95, 0.001329424501, 0.951350000000, 0.000020575499, 0.951329427344, 2.843 10

-9

0.02, 0.905237418036, 0.902705, 0.002532418036, 0.905276562500, 0.000039144464, 0.905237423458, 5.422 10

-9

0.03, 0.861607976425, 0.85798975, 0.003618226425, 0.861663830078, 0.000055853653, 0.861607984180, 7.755 10

,
-9

0.04, 0.820330753078, 0.8157352625, 0.004595490578, 0.820401593362, 0.000070840284, 0.820330762938, 9.860 10

,
-9

0.05, 0.781300783071, 0.775828499375, 0.005472283696, 0.781385015686, 0.000084232615, 0.781300794826, 1.1755 10

-8

0.06, 0.744418220682, 0.738162074406, 0.006256146276, 0.744514371171, 0.000096150489, 0.744418234134, 1.3452 10

-8

0.07, 0.709588089719, 0.702633970686, 0.006954119033, 0.709694795576, 0.000106705857, 0.709588104689, 1.4970 10

-8

0.08, 0.676720046036, 0.669147272152, 0.007572773884, 0.676836049292, 0.000116003256, 0.676720062356, 1.6320 10

-8

0.09, 0.645728151622, 0.637609908544, 0.008118243078, 0.645852291889, 0.000124140267, 0.645728169137, 1.7515 10

-8

0.10, 0.616530659713, 0.607934413117, 0.008596246596, 0.616661867660, 0.000131207947, 0.616530678281, 1.8568 10-8 ,


0.11, 0.589049810380, 0.580037692461, 0.009012117919, 0.589187101612, 0.000137291232, 0.589049829870, 1.9490 10

-8

0.12, 0.563211636094, 0.553840807838, 0.009370828256, 0.563354105408, 0.000142469314, 0.563211656384, 2.0290 10

-8

0.13, 0.538945776761, 0.529268767446, 0.009677009315, 0.539092592769, 0.000146816008, 0.538945797740, 2.0979 10

-8

0.14, 0.516185303791, 0.506250329074, 0.009934974717, 0.516335703872, 0.000150400081, 0.516185325356, 2.1565 10

-8

0.15, 0.494866552741, 0.484717812620, 0.010148740121, 0.495019838308, 0.000153285567, 0.494866574796, 2.2055 10-8 ,


0.16, 0.474928964117, 0.464606921989, 0.010322042128, 0.475084496190, 0.000155532073, 0.474928986577, 2.2460 10

-8

0.17, 0.456314931949, 0.445856575890, 0.010458356059, 0.456472127001, 0.000157195052, 0.456314954735, 2.2786 10

-8

0.18, 0.438969659741, 0.428408747096, 0.010560912645, 0.439127985810, 0.000158326069, 0.438969682780, 2.3039 10

-8

0.19, 0.422841023455, 0.412208309741, 0.010632713714, 0.422999996502, 0.000158973047, 0.422841046681, 2.3226 10

-8

0.20, 0.407879441171, 0.397202894254, 0.010676546917, 0.408038621672, 0.000159180501, 0.407879464525, 2.3354 10

-8

0.21, 0.394037749111, 0.383342749541, 0.010694999570, 0.394196738866, 0.000158989755, 0.394037772536, 2.3425 10

-8

0.22, 0.381271083698, 0.370580612064, 0.010690471634, 0.381429522846, 0.000158439148, 0.381271107145, 2.3447 10

-8

0.23, 0.369536769379, 0.358871581461, 0.010665187918, 0.369694333607, 0.000157564228, 0.369536792802, 2.3423 10

-8

0.24, 0.358794211912, 0.348173002388, 0.010621209524, 0.358950609844, 0.000156397932, 0.358794235271, 2.3359 10

-8

0.25, 0.349004796860, 0.338444352269, 0.010560444591, 0.349159767614, 0.000154970754, 0.349004820118, 2.3258 10

-8

0.26, 0.340131793034, 0.329647134656, 0.010484658378, 0.340285103943, 0.000153310909, 0.340131816159, 2.3125 10

-8

0.27, 0.332140260646, 0.321744777923, 0.010395482723, 0.332291705126, 0.000151444480, 0.332140283608, 2.2962 10

-8

0.28, 0.324996963942, 0.314702539027, 0.010294424915, 0.325146359501, 0.000149395559, 0.324996986713, 2.2771 10-8 ,


0.29, 0.318670288094, 0.308487412076, 0.010182876018, 0.318817474475, 0.000147186381, 0.318670310652, 2.2558 10

-8

0.30, 0.313130160148, 0.303068041472, 0.010062118676, 0.313274997594, 0.000144837446, 0.313130182473, 2.2325 10-8 ,


0.31, 0.308347973827, 0.298414639398, 0.009933334429, 0.308490341461, 0.000142367634, 0.308347995900, 2.2073 10

-8

0.32, 0.304296517995, 0.294498907428, 0.009797610567, 0.304436312315, 0.000139794320, 0.304296539800, 2.1805 10

-8

0.33, 0.300949908621, 0.291293962057, 0.009655946564, 0.301087042090, 0.000137133469, 0.300949930146, 2.1525 10

-8

0.34, 0.298283524053, 0.288774263954, 0.009509260099, 0.298417923788, 0.000134399735, 0.298283545284, 2.1231 10

-8

0.35, 0.296273943450, 0.286915550756, 0.009358392694, 0.296405550003, 0.000131606553, 0.296273964378, 2.0928 10

-8

0.36, 0.294898888222, 0.285694773218, 0.009204115004, 0.295027654440, 0.000128766218, 0.294898908838, 2.0616 10

-8

0.37, 0.294137166314, 0.285090034557, 0.009047131757, 0.294263056286, 0.000125889972, 0.294137186612, 2.0298 10-8 ,


0.38, 0.293968619223, 0.285080532829, 0.008888086394, 0.294091607292, 0.000122988069, 0.293968639198, 1.9975 10

-8

0.39, 0.294374071587, 0.285646506188, 0.008727565399, 0.294494141437, 0.000120069850, 0.294374091234, 1.9647 10

-8

0.40, 0.295335283237, 0.286769180879, 0.008566102358, 0.295452427042, 0.000117143805, 0.295335302554, 1.9317 10

-8

0.41, 0.296834903588, 0.288430721835, 0.008404181753, 0.296949121224, 0.000114217636, 0.296834922572, 1.8984 10

-8

0.42, 0.298856428253, 0.290614185743, 0.008242242510, 0.298967726564, 0.000111298311, 0.298856446905, 1.8652 10

-8

0.43, 0.301384157773, 0.293303476456, 0.008080681317, 0.301492549894, 0.000108392121, 0.301384176093, 1.8320 10

-8

0.44, 0.304403158362, 0.296483302633, 0.007919855729, 0.304508663087, 0.000105504725, 0.304403176349, 1.7987 10

-8

0.45, 0.307899224562, 0.300139137501, 0.007760087061, 0.308001865761, 0.000102641199, 0.307899242219, 1.7657 10

-8

0.46, 0.311858843723, 0.304257180626, 0.007601663097, 0.311958649805, 0.000099806082, 0.311858861051, 1.7328 10

-8

0.47, 0.316269162216, 0.308824321595, 0.007444840621, 0.316366165627, 0.000097003411, 0.316269179218, 1.7002 10

-8

0.48, 0.321117953289, 0.313828105515, 0.007289847774, 0.321212190053, 0.000094236764, 0.321117969970, 1.6681 10

-8

0.49, 0.326393586499, 0.319256700239, 0.007136886260, 0.326485095788, 0.000091509289, 0.326393602861, 1.6362 10

-8

0.50, 0.332084998624, 0.325098865227, 0.006986133397, 0.332173822368, 0.000088823744, 0.332085014670, 1.6046 10-8 ,


0.51, 0.338181666001, 0.331343921966, 0.006837744035, 0.338267848528, 0.000086182527, 0.338181681738, 1.5737 10

-8

0.52, 0.344673578214, 0.337981725868, 0.006691852346, 0.344757165912, 0.000083587698, 0.344673593646, 1.5432 10-8 ,


0.53, 0.351551213060, 0.345002639575, 0.006548573485, 0.351632254074, 0.000081041014, 0.351551228193, 1.5133 10

-8

0.54, 0.358805512740, 0.352397507596, 0.006408005144, 0.358884056688, 0.000078543948, 0.358805527577, 1.4837 10

-8

0.55, 0.366427861207, 0.360157632216, 0.006270228991, 0.366503958924, 0.000076097717, 0.366427875754, 1.4547 10

-8

0.56, 0.374410062625, 0.368274750605, 0.006135312020, 0.374483765926, 0.000073703301, 0.374410076888, 1.4263 10

-8

0.57, 0.382744320875, 0.376741013075, 0.006003307800, 0.382815682337, 0.000071361462, 0.382744334860, 1.3985 10

-8

0.58, 0.391423220056, 0.385548962421, 0.005874257635, 0.391492292823, 0.000069072767, 0.391423233769, 1.3713 10

-8

0.59, 0.400439705948, 0.394691514300, 0.005748191648, 0.400506543548, 0.000066837600, 0.400439719394, 1.3446 10-8 ,


0.60, 0.409787068368, 0.404161938585, 0.005625129783, 0.409851724550, 0.000064656182, 0.409787081553, 1.3185 10

-8

0.61, 0.419458924391, 0.413953841656, 0.005505082735, 0.419521452978, 0.000062528587, 0.419458937322, 1.2931 10

-8

0.62, 0.429449202394, 0.424061149573, 0.005388052821, 0.429509657145, 0.000060454751, 0.429449215076, 1.2682 10

-8

0.63, 0.439752126867, 0.434478092094, 0.005274034773, 0.439810561359, 0.000058434492, 0.439752139308, 1.2441 10

-8

0.64, 0.450362203978, 0.445199187489, 0.005163016489, 0.450418671493, 0.000056467515, 0.450362216184, 1.2206 10

-8

0.65, 0.461274207832, 0.456219228115, 0.005054979717, 0.461328761258, 0.000054553426, 0.461274219807, 1.1975 10

-8

0.66, 0.472483167401, 0.467533266709, 0.004949900692, 0.472535859147, 0.000052691746, 0.472483179152, 1.1751 10

-8

0.67, 0.483984354101, 0.479136603374, 0.004847750727, 0.484035236014, 0.000050881913, 0.483984365635, 1.1534 10

-8

0.68, 0.495773269960, 0.491024773205, 0.004748496755, 0.495822393258, 0.000049123298, 0.495773281283, 1.1323 10

-8

0.69, 0.507845636378, 0.503193534545, 0.004652101833, 0.507893051587, 0.000047415209, 0.507845647494, 1.1116 10

-8

0.70, 0.520197383422, 0.515638857818, 0.004558525604, 0.520243140322, 0.000045756900, 0.520197394338, 1.0916 10

-8

0.71, 0.532824639654, 0.528356914927, 0.004467724727, 0.532868787231, 0.000044147577, 0.532824650376, 1.0722 10

-8

0.72, 0.545723722447, 0.541344069181, 0.004379653266, 0.545766308853, 0.000042586406, 0.545723732981, 1.0534 10-8 ,


0.73, 0.558891128779, 0.554596865722, 0.004294263057, 0.558932201296, 0.000041072517, 0.558891139130, 1.0351 10

-8

0.74, 0.572323526470, 0.568112022436, 0.004211504034, 0.572363131483, 0.000039605013, 0.572323536644, 1.0174 10-8 ,


0.75, 0.586017745856, 0.581886421314, 0.004131324542, 0.586055928823, 0.000038182967, 0.586017755858, 1.0002 10

-8

0.76, 0.599970771856, 0.595917100248, 0.004053671608, 0.600007577293, 0.000036805437, 0.599970781691, 9.835 10

-9

0.77, 0.614179736438, 0.610201245236, 0.003978491202, 0.614215207900, 0.000035471462, 0.614179746112, 9.674 10

-9

0.78, 0.628641911446, 0.624736182974, 0.003905728472, 0.628676091515, 0.000034180069, 0.628641920963, 9.517 10

-9

0.79, 0.643354701775, 0.639519373825, 0.003835327950, 0.643387632054, 0.000032930279, 0.643354711140, 9.365 10

-9

0.80, 0.658315638889, 0.654548405134, 0.003767233755, 0.658347359991, 0.000031721102, 0.658315648107, 9.218 10

-9

0.81, 0.673522374640, 0.669820984877, 0.003701389763, 0.673552926191, 0.000030551551, 0.673522383717, 9.077 10-9 ,


0.82, 0.688972675402, 0.685334935633, 0.003637739769, 0.689002096039, 0.000029420637, 0.688972684342, 8.940 10

-9

0.83, 0.704664416485, 0.701088188851, 0.003576227634, 0.704692743857, 0.000028327372, 0.704664425292, 8.807 10

-9

0.84, 0.720595576820, 0.717078779408, 0.003516797412, 0.720622847594, 0.000027270774, 0.720595585499, 8.679 10

-9

0.85, 0.736764233909, 0.733304840438, 0.003459393471, 0.736790483774, 0.000026249865, 0.736764242464, 8.555 10

-9

0.86, 0.753168559012, 0.749764598416, 0.003403960596, 0.753193822690, 0.000025263678, 0.753168567448, 8.436 10

-9

0.87, 0.769806812580, 0.766456368495, 0.003350444085, 0.769831123834, 0.000024311254, 0.769806820900, 8.320 10

-9

0.88, 0.786677339903, 0.783378550070, 0.003298789833, 0.786700731547, 0.000023391644, 0.786677348110, 8.207 10

-9

0.89, 0.803778566970, 0.800529622566, 0.003248944404, 0.803801070884, 0.000022503914, 0.803778575069, 8.099 10

-9

0.90, 0.821108996538, 0.817908141438, 0.003200855100, 0.821130643678, 0.000021647140, 0.821109004533, 7.995 10

-9

0.91, 0.838667204384, 0.835512734366, 0.003154470018, 0.838688024799, 0.000020820415, 0.838667212278, 7.894 10

-9

0.92, 0.856451835745, 0.853342097648, 0.003109738097, 0.856471858590, 0.000020022845, 0.856451843541, 7.796 10

-9

0.93, 0.874461601931, 0.871394992766, 0.003066609165, 0.874480855484, 0.000019253553, 0.874461609633, 7.702 10

-9

0.94, 0.892695277102, 0.889670243128, 0.003025033974, 0.892713788779, 0.000018511677, 0.892695284713, 7.611 10-9 ,


0.95, 0.911151695203, 0.908166730972, 0.002984964231, 0.911169491576, 0.000017796373, 0.911151702727, 7.524 10

-9

0.96, 0.929829747049, 0.926883394423, 0.002946352626, 0.929846853862, 0.000017106813, 0.929829754489, 7.440 10-9 ,


0.97, 0.948728377549, 0.945819224702, 0.002909152847, 0.948744819736, 0.000016442187, 0.948728384909, 7.360 10

-9

0.98, 0.967846583071, 0.964973263467, 0.002873319604, 0.967862384774, 0.000015801703, 0.967846590352, 7.281 10

-9

0.99, 0.987183408929, 0.984344600294, 0.002838808635, 0.987198593516, 0.000015184587, 0.987183416134, 7.205 10

-9

1.00, 1.00673794700, 1.00393237028, 0.00280557672, 1.00675253708, 0.00001459008, 1.00673795414, 7.14 10


$ $ ( %.

&

'

&

&

($

-9

&
&
Xmin_exacta:=0.377889066588;
Ymin_exacta:=0.293955773283;

"
Xmin_exacta := 0.377889066588
Ymin_exacta := 0.293955773283

&
,

(18

$
for i from 2 to N+1 do
if u_Euler[i]<u_Euler[i-1] then
Xmin:=x[i];
Ymin:=u_Euler[i];
fi;
od;
Xmin_Euler:=Xmin;
Ymin_Euler:=Ymin;
Xmin_Euler := 0.38
Ymin_Euler := 0.285080532829

(19

$
for i from 2 to N+1 do
if u_Taylor[i]<u_Taylor[i-1] then
Xmin:=x[i];
Ymin:=u_Taylor[i];
fi;
od;
Xmin_Taylor:=Xmin;
Ymin_Taylor:=Ymin;
Xmin_Taylor := 0.38
Ymin_Taylor := 0.294091607292

$
for i from 2 to N+1 do
if u_RK[i]<u_RK[i-1] then
Xmin:=x[i];
Ymin:=u_RK[i];

(20

fi;
od;
Xmin_RungeKutta:=Xmin;
Ymin_RungeKutta:=Ymin;
Xmin_RungeKutta := 0.38
Ymin_RungeKutta := 0.293968639198
%

(21

A:=array(1..3,1..8);
A := array 1 ..3, 1 ..8,
A[1,1]:='TABLA_COMPARATIVA':
A[1,2]:='Sol._exacta':
A[1,3]:='Met._Euler':
A[1,4]:='Error_Euler':
A[1,5]:='Met._Taylor2':
A[1,6]:='Error_Taylor2':
A[1,7]:='Met._Runge-Kutta4':
A[1,8]:='Error_Runge-Kutta4':
A[2,1]:='Xmin':
A[3,1]:='Ymin':
A[2,2]:=Xmin_exacta:
A[3,2]:=Ymin_exacta:
A[2,3]:=Xmin_Euler:
A[3,3]:=Ymin_Euler:
A[2,4]:=abs(Xmin_exacta-Xmin_Euler):
A[3,4]:=abs(Ymin_exacta-Ymin_Euler):
A[2,5]:=Xmin_Taylor:
A[3,5]:=Ymin_Taylor:
A[2,6]:=abs(Xmin_exacta-Xmin_Taylor):
A[3,6]:=abs(Ymin_exacta-Ymin_Taylor):
A[2,7]:=Xmin_RungeKutta:
A[3,7]:=Ymin_RungeKutta:
A[2,8]:=abs(Xmin_exacta-Xmin_RungeKutta):
A[3,8]:=abs(Ymin_exacta-Ymin_RungeKutta):
print(A);
TABLA_COMPARATIVA, Sol._exacta, Met._Euler, Error_Euler, Met._Taylor2, Error_Taylor2, Met._Runge
Error_Runge Kutta4 ,

(22

Kutta4,

(23

Xmin, 0.377889066588, 0.38, 0.002110933412, 0.38, 0.002110933412, 0.38, 0.002110933412 ,


Ymin, 0.293955773283, 0.285080532829, 0.008875240454, 0.294091607292, 0.000135834009, 0.293968639198,
0.000012865915

Anda mungkin juga menyukai