Metodo de Bairstow
Enviado por DANIEL ENRIQUE PERDOMO CARVAJAL • 2 de Diciembre de 2021 • Tarea • 453 Palabras (2 Páginas) • 108 Visitas
METODOS NUMERICOS
Método de Bairstow
Presenta:
DANIEL ENRIQUE PERDOMO CARVAJAL.
Cod:20192183270
[pic 1]
Docente:
Ing. YAMIL ARMANDO CERQUERA ROJAS.
UNIVERSIDAD SUR COLOMBIANA.
FACULTAD DE INGENIERÍA.
PROGRAMA ACADÉMICO ELECTRÓNICA
2021
Planteamiento del Problema
Del polinomio mostrado en la Ec.1 se debe obtener sus raíces utilizando el método de Bairstow
[pic 2]
Ecuación 1. polinomio correspondiente al código de Daniel Perdomo Carvajal
Análisis de la situación planteada
La Ec.1 corresponde a polinomio de sexto grado, que por poseer monomios con coeficientes negativos y positivos tiene raíces negativas y positivas. El número de raíces que posee, por teorema fundamental del álgebra es igual al grado de éste, por lo tanto, posee 6 raíces complejas, que pueden ser tres pares de raíces complejas conjugadas, dos pares de raíces complejas conjugadas y dos raíces reales, un par de raíces complejas conjugadas y cuatro raíces reales, o podría tener todas las 6 raíces reales.
Solución del problema
Primero se define arbitrariamente el y del polinomio factor de Bairstow. [pic 3][pic 4]
[pic 5]
Quedando el polinomio factor:
[pic 6]
Se realiza la división polinomial: por lo que se obtiene de esta división polinomial se obtiene ,Ahora tomamos el polinomio resultante y lo dividimos por el polinomio factor, obtengo que : [pic 7]
[pic 8]
de tal forma, las ecuaciones quedan:
[pic 9]
[pic 10]
resolviendo el sistema de ecuaciones:
[pic 11]
Código
//Ingenieria Electronica
//Daniel Enrique Perdomo Carvajal
clear
a=[-2;1;8;3;2;-7;6] // defino coeficientes
/*
n= length(a);
er=1e-6;
r= -2;
s= 2;
j=1;
ds =1;
while(abs(ds)>=er)
b(n)=a(n);
c(n)=b(n);
b(n-1)=a(n-1)+r*b(n);
c(n-1)=b(n-1)*r*c(n);
i=n-2;
while(i>=1)
b(i)=a(i)+r*b(i+1)+s*b(i+2);
c(i)=b(i)+r*c(i+1)+s*c(i+2);
i=i-1;
end
disp([a b c]);
m= [c(3) c(4); c(2) c(3)];
ti=[-b(2);-b(1)];
disp([m ti])
v= inv(m)*ti;
dr=v(1);
ds=v (2);
disp(v)
r=r+dr;
s=s+ds;
disp([dr ds]);
end
*/
n= length(a);
...