miércoles, 21 de marzo de 2012

metodo de Simpson de 1/3 y 3/8 en Matlab

clear all;
clc;
fprintf('Calculo de la integral por el metodo de Simpson de 1/3 y 3/8\n\n');
fprintf('Para cualquier cantidad de segmentos par o impar\n\n');
f=input('introduce la funcion:','s');
a=input('lime inferior:');
b=input('limite superior:');
c=input('numero de segmentos a dividir :');
h=(b-a)/c;
qqqqq=0;
if (-1)^c==-1
b=b-(3*h);
c=c-3;
e=b+h;
ff=b+2*h;
g=b+3*h;
ee=g-b;
x=b;
q=eval(f);
x=e;
qq=eval(f);
x=ff;
qqq=eval(f);
x=g;
qqqq=eval(f);
qqqqq=(ee)*((q+3*qq+3*qqq+qqqq)/8);
end
z=0;
x=a;
for i=1:c;
if (-1)^i==1
k=eval(f);
z=z+k;
end
x=h*i;
end 
zz=0;
x=a;
for i=2:c;
if (-1)^i==-1
k=eval(f);
zz=zz+k;
end
x=h*i;
end
x=a;
if x==a
d=eval(f);
end
x=b;
if x==b
eee=eval(f);
end
 z=z*4;
v=zz*2;
z=z+v+d+eee;
z=z/(3*c);
z=z*(b-a);
z=z+qqqqq
fprintf('Resultado ');

8 comentarios:

  1. gracias me sirvio mucho pero ando buscando uno de gauss-jordan y gauss-seidel pero por iteraciones despejando las x,y,z

    ResponderEliminar
  2. Muy interesante la forma en la que planteas el problema. solo es necesario hacer unos cambios en el algoritmo, pásame tu E-mail para enviarte el código apenas lo termine.
    Gracias por tu comentario

    ResponderEliminar
  3. lo podrias poner con una interfaz en matlab gracias lo nesecito

    ResponderEliminar
  4. hazlo con interfaz o publicalo como se hace en matlab pero con inetrfaz

    ResponderEliminar
    Respuestas
    1. te invito a que veas los videotutoriales de matlab en ellos tocamos muy amplia mente el tema de creación y desarrollo con interfaz.
      De este codigo simplemente cambiamos los comandos f=input('introduce la funcion:','s');
      a
      f=inline(get(handles.entrada,'string'));
      el código seria el mismo. Pero te recomiendo los videoturiales de matlab llevamos ya 30 de lo mas básico hasta la creación de interfaz.
      Gracias y suerte.

      Eliminar
    2. gracias... sera que me pueden ayudar con el metodo de polinomio de lagrange (interpolador)

      Eliminar
  5. como se llama tu canal en you tube?

    ResponderEliminar