miércoles, 18 de enero de 2012
Simpson 1/3 en Matlab
%regla de simpson 1/3
clear all; close all; clc
fun=input('Ingresa la función f(x) entre comillas: ');
f=inline(fun);
n=1;
while mod(n,2)~=0
n=input('Ingrese el número de subintervalos: ');
if mod(n,2)~=0
disp('El número de subintervalos debe ser par, pulse una tecla para continuar')
pause
end
end
a=input('Ingrese el límite inferior de la integral: ');
b=input('Ingrese el límite superior de la integral: ');
h=(b-a)/n;
sumai=0;
sumap=0;
for i=1:2:n-1
sumai=sumai+feval(f,h*i+a);
end
for i=2:2:n-2
sumap=sumap+feval(f,h*i+a);
end
int=(h/3)*(feval(f,a)+4*sumai+2*sumap+feval(f,b));
disp(['El resultado de la integral es ' num2str(int)])
Suscribirse a:
Enviar comentarios (Atom)
Gracias. El código me ayudo a aclarar mejor mis ideas de abstracción.
ResponderEliminargracias
ResponderEliminarcomo ingreso la funcion x sin x
ResponderEliminar'x*sin(x)'
ResponderEliminaruna pregunta no tendras uno metodo de trapecio
ResponderEliminar%regla de simpson 1/3
Eliminarclear all; close all; clc
fun=input('Ingresa la función f(x) entre comillas: ');
f=inline(fun);
n=input('Ingrese el número de subintervalos: ')
a=input('Ingrese el límite inferior de la integral: ');
b=input('Ingrese el límite superior de la integral: ');
h=(b-a)/n;
sumat = 0;
for i=1:n-1
sumat=sumat+feval(f,a+h*i);
end for
int=h*((feval(f,a)+feval(f,b))/2+sumat);
disp(['El resultado de la integral es ' num2str(int)])
PD: No tengo a mano el Matlab para probar el código, me avisas si tienes problemas. Slds.
%regla de simpson 1/3
Eliminarclear all; close all; clc
fun=input('Ingresa la función f(x) entre comillas: ');
f=inline(fun);
n=input('Ingrese el número de subintervalos: ')
a=input('Ingrese el límite inferior de la integral: ');
b=input('Ingrese el límite superior de la integral: ');
h=(b-a)/n;
sumat = 0;
for i=1:n-1
sumat=sumat+feval(f,a+h*i);
end
int=h*((feval(f,a)+feval(f,b))/2+sumat);
disp(['El resultado de la integral es ' num2str(int)])
2. Aproxime por el método de Simpson con N = 20 la integral de
ResponderEliminarf (x) = sen(4x) ln(x+2) 0 ≤ x ≤ π
como tendria que colocarla
ResponderEliminar???'
%regla de simpson 1/3
Eliminarclear all; close all; clc
f=inline('sin(4*x)*log(x+2)'); %log es logartimo natural en matlab
n=20;
a=0;
b=pi;
h=(b-a)/n;
sumai=0;
sumap=0;
for i=1:2:n-1
sumai=sumai+feval(f,h*i+a);
end
for i=2:2:n-2
sumap=sumap+feval(f,h*i+a);
end
int=(h/3)*(feval(f,a)+4*sumai+2*sumap+feval(f,b));
disp(['El resultado de la integral es ' num2str(int)])
como hago para que en el codigo me calcule el error?
Eliminarholaa tenes el codigo fuente de la regla 1/3 de simpson pero que no use la funcion... porque tengo los resultados de una funcion desconicida para cada x pero desconozco la funcion
ResponderEliminarBuenas, tendrás el código para resolver por el método de intervalos desiguales? Gracias de antemano...
ResponderEliminarGracias
ResponderEliminarAtt: Juan Pabon :D :D
Excelente, muchas gracias =)
ResponderEliminarhola, tendras el codigo usando la de simpson 1/3 y 3/8 segun el numero de intervalos....
ResponderEliminarGracias por su ayuda.
ResponderEliminarAlguien sabe como se puede hacer la tabla de distribucion normal usando la regla de simpson en matlab?? sería de gran ayuda!!!
ResponderEliminarperdona si es un poco descarado de mi parte, pero me podrias explicar en funcionamiento por favor, de ante mano muchas gracias
ResponderEliminarComo esta me podria explicar para q sirve el numero de subintervalos y porq m pide numeros pares, me puede explicar esa parte
ResponderEliminarDisculpa, como hago para que me vote trapecios en el grafico?
ResponderEliminarno sirve
ResponderEliminarMuchas Gracias. Me fue de gran ayuda. Saludos
ResponderEliminar