Está en la página 1de 1

function [xn, i] = biseccion08(cadena, x1, x2, err)

%Entradas puntos iniciales, error


%Salidas: raiz, iteraciones
syms x;

f(x) = sym(cadena);

% Valores iniciales
fx1 = vpa(f(x1));
fx2 = vpa(f(x2));
xn = (x2+x1)/2;

xnant = xn;
fxn = vpa(f(xn));

error = 1000;
i = 1;
prueba = 0;

while (prueba == 0)

if(i>1)
error = abs(xn-xnant);
xnant = xn;
end

if(error < err)


prueba = 1;
else
i = i + 1;
if(fxn*fx1<0)
x2 = xn;
elseif(fx1*fxn>0)
x1 = xn;
end

fx1 = vpa(f(x1));
fx2 = vpa(f(x2));

xn = (x2+x1)/2;
fxn = vpa(f(xn));
end
end

También podría gustarte