martes, 21 de febrero de 2012

Método de la Secante en Matlab (Version 2 )

%USANDO EL COMANDO eval() lo cual evita que se vectorize demasiado el código

clear all;
  clc;
   fprintf('\nCalculo de la raiz de una ecuacion por el metodo de la Secante\n\n');
    f=input('Dame la funcion f(x) : ','s');
      x0=input('Dame el valor del intervalo inferior de x : ');
    x1=input('Dame el valor del intervalo superior de x : ');
  e=input('Dame el porciento del error : ');
 ea=1000;
c=1;  
   while ea>e
    x=x0;
    g=eval(f);
      x=x1;
        gg=eval(f);
          xi=x1-((gg*(x0-x1))/(g-gg));
            ea=abs((xi-x1)/xi)*100;
          x0=x1;
        x1=xi;
      c=c+1;
   end
fprintf('\n\n\n\nLa raiz exacta es: %d',xi)
fprintf('\n\nNumero de iteraciones: %d\n',c);                                                                                                                    

4 comentarios:

  1. Hola!
    Primero que todo gracias por el código, me ha ayudado bastante. Solo tengo una duda, en tu caso, "ea=1000;" por qué es? es decir, por qué 1000? Gracias de antemano.

    ResponderEliminar