Está en la página 1de 2

Cdigo en matlab mtodo de biseccion

clear all
format short;
a=input('Introduzca el valor de a: ');
b=input('Introduzca el valor de b: ');
cont=input('Introduzca el nmero de iteraciones cont: ');
fun=input('Introduzcal a funcion f(x)=','s');
f=inline(fun);
for k=1:cont
c=(a+b)/2;
e=abs((b-a)/2);
A(k,:)=[k a b c f(c) e];
if f(a)*f(c)<0
b=c;
else
a=c;
end
end
fprintf('\n \tk \ta \tb \tc \tf(c) \terror \n')
disp(A)
fprintf('Solucin:\n c=%8.5f\n',c)
fprintf('f(c)=%8.5f\n',f(c))
fprintf('error=%8.5f\n',e)

segundo punto

x0=input('Ingrese el valor inicial: ');


tol=input('Ingrese el porcentaje de error: ');
f=input('Ingrese la funcin: ');
i=1;
fx(i)=x0;

syms x;
f1=subs(f,x,fx(i));
z=diff(f);
d=subs(z,x,fx(i));

ea(1)=100;

while abs(ea(i))>=tol;
fx(i+1)=fx(i)-f1/d; f1=subs(f,x,fx(i+1)); d=subs(z,x,fx(i+1));
ea(i+1)=abs((fx(i+1)-fx(i))/fx(i+1)*100);
i=i+1;
end
fprintf('i

fx(i)

Error aprox (i) \n');

for j=1:i;
fprintf('%2d \t %11.7f \t %7.3f \n',j-1,fx(j),ea(j));
end

También podría gustarte