Doble Titulacion
Enviado por adandion • 3 de Junio de 2013 • 289 Palabras (2 Páginas) • 317 Visitas
clear all
clc
syms x
f=input('Ingrese la funcion f(x) = ');
x0=input('Ingrese el valor de x0 = ');
x1=input('Ingrese el valor de x1 = ');
x2=input('Ingrese el valor de x2 = ');
N=input('Ingrese el numero de interacciones = ');
tol=input('Ingrese el error maximo perimitido = ');
h1=x1-x0;
h2=x2-x1;
d1=(subs(f,x,x1)-subs(f,x,x0))/h1;
d2=(subs(f,x,x2)-subs(f,x,x1))/h2;
a=(d2-d1)/(h2-h1);
i=2;
while i<= N,
b=d2+(h2*a);
D=sqrt((b^2)-(4*a*subs(f,x,x2)));
if abs(b-D)<abs(b+D),
E=b+D;
else
E=b-D;
end
q=((-2)*subs(f,x,x2))/E;
w=x2+q;
if abs(q)<tol,
fprintf('El valor de la raiz es = ');
fprintf(' %4.4f ',w);
i=N+2;
hold on
grid on
ezplot(f);
v=real(w);
plot(v,0,'*-r');
else
x0=x1;
x1=x2;
x2=w;
h1=x1-x0;
h2=x2-x1;
d1=(subs(f,x,x1)-subs(f,x,x0))/h1;
d2=(subs(f,x,x2)-subs(f,x,x1))/h2;
a=(d2-d1)/(h2-h1);
i=i+1;
end
end
if N<i && abs(q)>tol;
fprintf('el metodo fallo despues de ');
fprintf(' %3d ',N);
fprintf(' interacciones ')
end
...