Matlab - Implementacion del metodo de la secante en matlab

   
Vista:

Implementacion del metodo de la secante en matlab

Publicado por msad (2 intervenciones) el 05/07/2011 21:21:43
Buenas tardes, tengo problemas con el metodo de la secante en matlab. Yo calcule analiticamente el punto donde mi corriente es cero, y al ingresar los datos al matlab me deberia dar ese resultado o aproximado a ese resultado, pero me dan valores muy raros, y con la ayuda del comando fzero el punto que encontre analiticamente con el metodo de la secante es correcto, es decir, hay algo malo en lo que he hecho en matlab, esto es lo que he hecho en matlab:

fun=input('Ingrese la funcion:\n','s');
t0=input('Ingrese el primer punto inicial:\n');
t1=input('Ingrese el segundo punto:\n');
tol=input('Ingrese la tol:\n');
it=0;
while (abs(f1)>tol) & (it<25)

a = t1-f1*((t1-t0)/ (f1-f0));
f0=f1;
f1=subs (fun,a);
fprintf(1, 'it= %i, a= %t0,f= %e \n', it,a ,f1)
iter = it + 1;
t0=t1;
t1=a;
fprintf('el procedimiento se completo satisfactoriamente:\n');

end
fprintf('la raiz buscada es=%15.9f\n',t2);

El punto que encontre es 0.2277, y los resultados de las iteraciones que me da el programa son 101,42,47,110, espero puedan ayudarme
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Implementacion del metodo de la secante en matlab

Publicado por msad (2 intervenciones) el 05/07/2011 21:23:43
y tambien hice este otro, con otra condicion y tampoco me da el resultado que obtuve analiticamente

fun=input('Ingrese la funcion:\n','s');
t0=input('Ingrese el primer punto inicial:\n');
t1=input('Ingrese el segundo punto:\n');
it=0;
fprintf('it t0 t1 t2 t1-t2');
while(it<50)
it='it+1';
t='t0';
f0='eval(fun)';
t='t1';
f1='eval(fun)';
t2='t1-(f1*((t0-t1))/(f0-f1))';
fprintf('el procedimiento se completo satisfactoriamente:\n');
break
end
t0=t1;
t1=t2;

fprintf('la raiz buscada es=%15.9f\n',t2);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO

Implementacion del metodo de la secante en matlab

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 06/07/2011 04:01:12
hola msad.
Estas copiando tu programa que esta hecho en matlab del metodo de secante al foro, y dices que hay error, pero no estas copiando el algoritmo del método de secante, la cual estas codificando a lenguaje matlab.
YO tengo hecho el programa de metodo de secante, pero me gustaria ver cual es tu algoritmo del metodo de secante, para decirte, que parte de tu algoritmo del metodo de secante estas codificando mal.
ademas tienes que poner con que datos estas probando.


Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
jjcc94@hotmail.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar