METODO DE BAIRSTOW

clc
tol=10^-3;
x1=input('ingrese x1:');
x2=input('ingrese x2:');
x3=input('ingrese x3:');
x4=input('ingrese x4:');
x5=input('ingrese x5:');
r=input('ingrese r:');
s=input('ingrese s:');
b1=1;b0=1;
while(abs(b1>tol) & abs(b0>tol))
b4=x1;
b3=(b4*r)+x2;
b2=(b3*r)+(b4*s)+x3;
b1=(b2*r)+(b3*s)+x4;
b0=(b1*r)+(b2*s)+x5;
c4=b4;
c3=(c4*r)+b3;
c2=(c3*r)+(c4*s)+b2;
c1=(c2*r)+(c3*s)+b1;
dr=((-b1*c2)-(-b0*c3))/((c2*c2)-(c1*c3));
ds=((c2*-b0)-(c1*-b1))/((c2*c2)-(c1*c3));
r=dr+r;
s=ds+s;
end
p=-r;
q=-s;
fprintf('POLINOMIO = %0.0fX^4 +%0.2fX^3 + %0.2fX^2 + %0.2fX +%0.2fn',x1,x2,x3,x4,x5);
fprintf('LA FORMA BUSCADA ES n(%0.0fX^2 + %0.1fX + %0.2f) Y %0.0fX^2 + %0.1fX + %0.2f',b4,b3,b2,x1,p,q);
fprintf('nLAS RAICES APROXIMADAS SON:nn');
raiz1=(-b3+sqrt((b3^2)-4*b4*b2))/2*b4
raiz2=(-b3-sqrt((b3^2)-4*b4*b2))/2*b4
raiz3=(-p-sqrt((p^2)-4*x1*q))/2*x1
raiz4=(-p-sqrt((p^2)-4*x1*q))/2*x1