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
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


0