Está en la página 1de 4

1 ENCONTRAR LAS RAICES POR METODO DE LA BISECCION INGRESO DE FUNCION POR

TECLADO

%clc, clear all


syms x
f(x)= input('Cual es la funcion?: ')
% x^2+2*x-3
% ezplot(f(x))
i=1;
a=input('Limite inferior ? : ');
b=input('Limite superior ? : ');
c=0;
t=input('Tolerancia ? : ');
er=10;
f1=subs(f,x,a);
f2=subs(f,x,b);
if f1*f2<0
xa(i)=a;f1=subs(f,x,xa(i));
xb(i)=b;f2=subs(f,x,xb(i));
xr(i)=(xa(i)+xb(i))/2;
f3=subs(f,x,xr(i));
else
disp('No existe raiz en el intervalo')
end
fprintf('it xa xb xr error \n')
fprintf('%2d\t %11.7f\t %11.7f\t %11.7f\n', ...
i, xa(i), xb(i), xr(i))
while abs(er(i))>=t
if f1*f3<0
xa(i+1)=xa(i);
f1=subs(f,x,xa(i+1));
xb(i+1)=xr(i);
f2=subs(f,x,xb(i+1));
else
xa(i+1)=xr(i);
f1=subs(f,x,xa(i+1));
xb(i+1)=xb(i);
f2=subs(f,x,xb(i+1));
end
xr(i+1)=((xa(i+1)+xb(i+1))/2);
f3=subs(f,x,xr(i+1));
er(i+1)=abs((xr(i+1)-xr(i))/xr(i+1));
fprintf('%2d\t %11.7f\t %11.7f\t %11.7f\t %7.3f\n',...
i+1, xa(i+1), xb(i+1), xr(i+1),er(i+1))

%11.7 para flotantes


%7.3 decimal
i=i+1;

end
xr(i)
% R=table(xa(i),xb(i),xr(i),er(i))
2 METODO DE LA BISECCION FUNCION INGRESADA EN LA CODIFICACION, GRAFICA DE
LA FUNCION

clc, clear
syms x
disp('METODO DE LA BISECCION')
f(x)=x^2+2*x-3
ezplot(f(x))
i=1;
er=10;
a=-4
b=-1
t=0.01
f1=subs(f(x),x,a)
f2=subs(f(x),x,b)
if f1*f2<0
xa(i)=a;f1=subs(f,x,a(i));
xb(i)=b;f2=subs(f,x,b(i));
xr(i)=(xa(i)+xb(i))/2;
f3=subs(f,x,xr(i));
else
disp('No existe raiz en el intervalo')
end
fprintf('it xa xb xr
error\n')
fprintf('%2d\t %11.7f\t %11.7f\t %11.7f\n',...
i,xa(i),xb(i),xr(i))
while abs(er(i))>=t
if f1*f3<0
xa(i+1)=xa(i);
f1=subs(f,x,xa(i+1));
xb(i+1)=xr(i);
f2=subs(f,x,xb(i+1));
else
xa(i+1)=xr(i);
f1=subs(f,x,xa(i+1));
xb(i+1)=xb(i);
f2=subs(f,x,xb(i+1));
end
xr(i+1)=((xa(i+1)+xb(i+1))/2);
f3=subs(f,x,xr(i+1));
er(i+1)=abs((xr(i+1)-xr(i))/xr(i+1));
fprintf('%2d\t %11.7f\t %11.7f\t %11.7f\t
%7.3f\n',...
i+1,xa(i+1),xb(i+1),xr(i+1),er(i+1))
i=i+1;

end

xr(i)
disp('METODO DE LA SECANTE')
fx=x^2+2*x-3
x0=-4
x1=-1
i=1;
errod=3
error=0.002
fprintf('it x0 x1 xn
errod error\n')
while errod>error
xn=x1-((subs(fx,x1)*(x0-x1))/((subs(fx,x0))-(subs(fx,x1))));
raiz=vpa(xn);
abs(xn);
errod=eval(abs((xn-x1)/xn));
%error=vpa(errod)
fprintf('%2d\t %11.7f\t %11.7f\t %11.7f\t %11.7f\t
%11.7f\n',...
i,x0,x1,xn,errod,error)
x0=x1;
x1=xn;
i=i+1;
end
disp('la raiz es ')
raiz
disp('el valor de la resta entre los errores es: ')
res=xr(i)-raiz

3 METODO DE LA SECANTE FUNCION INGRESADA EN LA CODIFICACION DEL PROGRAMA

clc ,clear
syms x
fx=x^2+2*x-3
x0=-4
x1=-1
i=1;
errod=3
error=0.002
fprintf('it x0 x1 xn
errod error\n')
while errod>error
xn=x1-((subs(fx,x1)*(x0-x1))/((subs(fx,x0))-(subs(fx,x1))));
raiz=vpa(xn);
abs(xn);
errod=eval(abs((xn-x1)/xn));
%error=vpa(errod)
fprintf('%2d\t %11.7f\t %11.7f\t %11.7f\t %11.7f\t
%11.7f\n',...
i,x0,x1,xn,errod,error)
x0=x1;
x1=xn;
i=i+1;
end
disp('la raiz es ')
raiz

También podría gustarte