Sei sulla pagina 1di 2

%REGLA DE TRAPECIO SIMPLE EJERCICIO 1

%Regla de Simpson 3/8 simpleejercicio1

clc,clear all
a=0;b=2;
f=inline('pi*(1+(x/2)^2)^2');
Ia=(f(a)+f(b))*(b-a)/2
Ie=11.7286
ERP=abs((Ia-Ie)/Ie)*100
fprintf('EL ER%% ES DE %f %%\n',ERP)

clc,clear all
a=0;b=2;
f=inline('pi*(1+(x/2)^2)^2');
h=(b-a)/3;
Ia=3*h/8*(f(a)+3*f(a+h)+3*f(a+2*h)+f(b))
%error
Ie=11.7286
ERP=abs((Ia-Ie)/Ie)*100
fprintf('EL ER%% ES DE %f %%\n',ERP)

%Metodo de trapecio extendido


clc,clear all
a=0;b=2;n=30;
f=inline('pi*(1+(x/2)^2)^2');
h=(b-a)/n;
s=0;
for i=1:n-1
xi=a+i*h;
s=s+f(xi);
end
Ia=h/2*(f(a)+2*s+f(b))
Ie=11.7286
ERP=abs((Ia-Ie)/Ie)*100
fprintf('EL ER%% ES DE %f %%\n',ERP)

%Regla de Simpson 1/3 simpleejercicio1


a=0;b=2;
f=inline('pi*(1+(x/2)^2)^2');
h=(b-a)/2;
Ia=h/3*(f(a)+4*f(a+h)+f(b))
%error
Ie=11.7286
ERP=abs((Ia-Ie)/Ie)*100
fprintf('EL ER%% ES DE %f %%\n',ERP)

%Regla de Simpson 1/3 extendidoejercicio1


clc,clear all
a=0;b=2;n=30;
f=inline('pi*(1+(x/2)^2)^2');
h=(b-a)/n;
s1=0;
for i=1:2:n-1
xi=a+i*h;
s1=s1+f(xi);
end
s2=0;
for i=2:2:n-2
xi=a+i*h;
s2=s2+f(xi);
end
Ia=h/3*(f(a)+4*s1+2*s2+f(b))
%error
Ie=11.7286
ERP=abs((Ia-Ie)/Ie)*100
fprintf('EL ER%% ES DE %f %%\n',ERP)

%Regla de Simpson 3/8 extendidoejercicio1


clc,clear all
a=0;b=2;n=30;
f=inline('pi*(1+(x/2)^2)^2');
h=(b-a)/n;
s1=0;
for i=1:n-1
xi=a+i*h;
s1=s1+f(xi);
end
s2=0;
for i=3:3:n-3
xi=a+i*h;
s2=s2+f(xi);
end
Ia=3*h/8*(f(a)+3*s1-s2+f(b))
%error
Ie=11.7286
ERP=abs((Ia-Ie)/Ie)*100
fprintf('EL ER%% ES DE %f %%\n',ERP)

%METODO DE EULER
clc,clear all
x0=0;y0=1;xf=0.6;n=3;
h=(xf-x0)/n;
f=inline('2*x-y');
disp('
i
xn
yn')
disp('===============================')
for i=1:n
y1=y0+h*f(x0,y0);
x1=x0+h;
fprintf('%2d %7.4f %7.4f\n',i,x1,y1)
x0=x1;y0=y1;
end

%METODO DE EULER MODIFICADO

%METODO DE RUNGE KUTTA

clc,clear all
x0=0;y0=1;xf=0.6;n=3;
h=(xf-x0)/n;
f=inline('2*x-y');
disp('
i
xn
yn')
disp('===============================')
for i=1:n
%PASO PREDICTOR
y1=y0+h*f(x0,y0);
x1=x0+h;
%PASO CORRECTOR
Der_Prom=(f(x0,y0)+f(x1,y1))/2;
y1=y0+h*Der_Prom;
x1=x0+h;
fprintf('%2d %7.4f %7.4f\n',i,x1,y1)
x0=x1;y0=y1;
end

disp(' METODO DE RUNGE KUTTA CUARTO


ORDEN')
disp(' y=z')
disp(' z=y')
disp('y(0)=0 ,z(0)=1.5,y(1)=?')
f1=inline('z');
f2=inline('y');
to=0; tf=1;
yo=0; zo=1.5;
n=10;
h=(tf-to)/n;
for i=1:n
k1=f1(zo);
L1=f2(yo);
k2=f1(zo+h/2*L1);
L2=f2(yo+h/2*k1);
k3=f1(zo+h/2*L2);
L3=f2(yo+h/2*k2);
k4=f1(zo+h*L3);
L4=f2(yo+h*k3);
yo=yo+(h/6)*(k1+2*k2+2*k3+k4);
zo=zo+(h/6)*(L1+2*L2+2*L3+L4);
to=to+h;
end
fprintf('La solucion es: y(1)=%.7f\n',yo)

%METODO DE TAYLOR
clc,clear all
x0=0;y0=1;xf=0.6;n=3;
h=(xf-x0)/n;
f=inline('2*x-y');
disp('
i
xn
yn')
disp('===============================')
for i=1:n
y1=y0+h*f(x0,y0)+h^2/2*(2-2*x0+y0);
x1=x0+h;
fprintf('%2d %7.4f %7.4f\n',i,x1,y1)
x0=x1;y0=y1;
end

%METODO DE RUNGE KUTTA


clc,clear all
x0=0;y0=1;xf=0.6;n=3;
h=(xf-x0)/n;
f=inline('2*x-y');
disp('
i
xn
yn')
disp('===============================')
for i=1:n
k1=f(x0,y0);
k2=f(x0+h/2,y0+h*k1/2);
k3=f(x0+h/2,y0+h*k2/2);
k4=f(x0+h,y0+h*k3);
y1=y0+h*(k1+2*k2+2*k3+k4)/6;
x1=x0+h;
fprintf('%2d %7.4f %7.4f\n',i,x1,y1)
x0=x1;y0=y1;
end

Potrebbero piacerti anche