Escolar Documentos
Profissional Documentos
Cultura Documentos
Practica 3 Tello Tapia
Practica 3 Tello Tapia
prob3.m
function [z]=prob3(f,df,a,b,y,h)
x=a:h:b;
n=length(x);
z=[x(1) y];
for i=1:n-1
y=y+h*feval(f,x(i),y)+(h^2)/2*feval(df,x(i),y);
z=[z ;x(i+1) y];
end
Evaluando:
>> f=inline('(x.*x-1).*y');
df=inline('((2*x+(x*x-1).^2).*y)');
z=prob3(f,df,0,1,1,0.25)
z=
0
1.0000
0.2500 0.7813
0.5000 0.6318
0.7500 0.5442
1.0000 0.5134
b) Con RK-2:
rk2.m
Problema 4:
function [z]=rk2(f,a,b,y,h)
x=a:h:b;
n=length(x);
z=[x(1) y];
for i=1:n-1
k1=h*feval(f,x(i),y(i));
k2=f*feval(f,x(i+1),y(i)+k1);
y(i+1)=y(i)+0.5*(k1+k2);
z=[z ;x(i+1) y(i)];
end
Probando
f=inline('4*exp(0.8*x)-0.5*y');
z=eulerp(f,0,3,2,0.1)
a) Con Euler:
Prob4.m
function [z]=prob4(f,a,b,y,h)
x=a:h:b;
n=length(x);
z=[x(1) y];
for i=1:n-1
y=y+h*feval(f,x(i),y);
z=[z ;x(i+1) y];
end
Probando:
f=inline('4*exp(0.8*x)-0.5*y');
z=prob4(f,0,3,2,0.1)
Z=
0
0.1000
0.2000
0.3000
0.4000
0.5000
0.6000
0.7000
0.8000
0.9000
1.0000
1.1000
1.2000
1.3000
1.4000
1.5000
1.6000
1.7000
1.8000
1.9000
2.0000
2.1000
2.2000
2.3000
2.4000
2.5000
2.6000
2.7000
2.8000
2.9000
3.0000
2.0000
2.3000
2.6183
2.9568
3.3175
3.7024
4.1140
4.5548
5.0273
5.5345
6.0796
6.6658
7.2969
7.9767
8.7096
9.5000
10.3531
11.2741
12.2689
13.3437
14.5054
15.7613
17.1195
18.5885
20.1777
21.8972
23.7579
25.7718
27.9517
30.3114
32.8661