Documentos de Académico
Documentos de Profesional
Documentos de Cultura
8va PrÁctica de Metodos Numericos
8va PrÁctica de Metodos Numericos
1. Hacer un programa en Matlab para la Regla del Trapecio, Simpsom, Regla de los 3/8.
function rtrapecio
global fun
fun=input('ingrese la función\n','s');
b=input('ingrese el límite superior de la integral \n');
a=input('ingrese el límite inferior de la integral \n');
h=(b-a)/2;
x=a;
fa=eval(fun);
x=b;
fb=eval(fun);
fprintf('la integral aproximada es =%f\n',h*(fa+fb))
Programa de Simpson
function simpson
global fun
fun=input('ingrese la función\n','s');
b=input('ingrese el límite superior de la integral \n');
a=input('ingrese el límite inferior de la integral \n');
c=(b+a)/2;
h=(b-a)/2;
x=a;
fa=eval(fun);
x=b;
fb=eval(fun);
x=c;
fc=eval(fun);
fprintf('la integral aproximada es =%f\n',(h/3)*(fa+4*(fc)+fb))
function tresoct
global fun
fun=input('ingrese la función\n','s');
b=input('ingrese el límite superior de la integral \n');
a=input('ingrese el límite inferior de la integral \n');
c=(b+2*a)/3;
d=(2*b+a)/2;
h=(b-a)/3;
x=a;
f0=eval(fun);
x=b;
f3=eval(fun);
x=c;
f1=eval(fun);
x=d;
f2=eval(fun);
fprintf('la integral aproximada es
=%f\n',3*(h/8)*(f0+3*(f1)+3*(f2)+(f3))
2. Hacer un programa en Matlab para la Regla del Trapeco compuesto, Simpson compuesto.
Trapecio compuesto
function trapc
global fun
fun=input('ingrese la función\n','s');
b=input('ingrese el límite superior de la integral \n');
a=input('ingrese el límite inferior de la integral \n');
n=input('ingrese el numero de intervalos \n');
h=(b-a)/n;
s=0;
x=a;
f0=eval(fun);
x=b;
fn=eval(fun);
for i=1:n-1
x=a+i*h;
fx=eval(fun);
s=s+fx;
end
fprintf('la integral aproximada es =%f\n',(h/2)*(f0+fn+2*s))
Simpson compuesto
function simpc
global fun
fun=input('ingrese la función\n','s');
b=input('ingrese el límite superior de la integral \n');
a=input('ingrese el límite inferior de la integral \n');
n=input('ingrese el numero de intervalos \n');
h=(b-a)/(2*n);
x=a;
f0=eval(fun);
x=b;
fn=eval(fun);
s1=0;
s2=0;
for i=1:2*n-1
if mod(i,2)==0
x=a+i*h;
f1=eval(fun);
s1=s1+f1;
else
x=a+i*h;
f2=eval(fun);
s2=s2+f2;
end
end
fprintf('la integral aproximada es =%f\n',(h/3)*(f0+fn+2*s1+4*s2))
𝜋
3. Hallar la integral de 0
tan 𝑥 𝑑𝑥 usando la regla del Trapecio, regla de Simpsom, regla de los 3/8.
Compare sus resultados con el valor real.
function Romberg
global fun
fun=input(‘ingrese la función\n’,’s’);
h=(b-a);
m=1;
j=0;
r=zeros(n,n);
x=a;
x1=eval(fun);
x=b;
f2=eval(fun);
r(1,1)=h*(f1+f2)/2;
while (j<(n-1))
j=j+1;
h=h/2;
s=0;
for p=1:m
x=a+h*(2*p-1);
f3=eval(fun)
s=s+f3;
end
r(j+1,1)=(1/2)*(r(j,1))+h*s;
m=2*m;
for k=1:j
r(j+1,k+1)=r(j+1,k)+(r(j+1,k)-r(j,k))/(4^k-1)
end
i=r(j+1,j+1)
𝜋/2
6. Considere 0
𝑥 2 + 𝑥 + 1 ∗ cos
(𝑥)𝑑𝑥 . Use la integración de Romberg para la integración
aproximada con n=6.
2 2
7. Modifque el programa de Romberg, para aproximar 0
𝑥 2 ∗ 𝑒 −𝑥 𝑑𝑥, cuando la tolerancia =
𝑅 𝑛, 𝑛 − 𝑅(𝑛 − 1, 𝑛 − 1) < 10^(−6).
Modificando el programa…
function Romberg
global fun
fun=input('ingrese la función\n','s');
b=input('ingrese el límite superior de la integral \n');
a=input('ingrese el límite inferior de la integral \n');
n=input('ingrese el numero de intervalos \n');
h=(b-a);
m=1;
j=0;
r=zeros(n,n);
x=a;
f1=eval(fun);
x=b;
f2=eval(fun);
r(1,1)=h*(f1+f2)/2;
while (j<(n-1))
j=j+1;
h=h/2;
s=0;
for p=1:m
x=a+h*(2*p-1);
f3=eval(fun);
s=s+f3;
end
r(j+1,1)=(1/2)*(r(j,1))+h*s;
m=2*m;
for k=1:j
r(j+1,k+1)=r(j+1,k)+(r(j+1,k)-r(j,k))/(4^k-1);
end
if abs(r(j+1,j+1)-r(j,j))<10^(-6)
t=r(j,j);
j=n;
end
end
r
if j==n
t
else
r(j+1,j+1)
end