Шаг за шагом полиномы Рейса Матрица Компаньера QR-метод - собственные значения
(El código se presenta despues del ejemplo)
------------------------------------ --Algoritmo QR y Matriz compañera--- ------------------------------------ la matriz compañera del polinomio p(t)=6 - 5 t - 2 t^2 + t^3, es:A0 = 0 1 0 0 0 1 -6 5 2 Q = 0 -1 0 -0 0 -1 1 0 0 R = -6 5 2 0 -1 0 0 0 -1 A1 = 2 6 -5 0 0 1 -1 0 0 Q = -0.89443 -0.44721 0.00000 -0.00000 0.00000 -1.00000 0.44721 -0.89443 0.00000 R = -2.23607 -5.36656 4.47214 0.00000 -2.68328 2.23607 0.00000 0.00000 -1.00000 A2 = 4.00000 -3.00000 5.36656 1.00000 -2.00000 2.68328 -0.44721 0.89443 0.00000 A = 0 1 0 0 0 1 -6 5 2 En la iteración 13 de A(i+1)=Ri * Qi ans = 3.0131e+00 -5.0143e+00 5.0825e+00 1.3120e-02 -2.0127e+00 1.3770e+00 -5.7742e-06 8.8578e-04 9.9959e-01 las raices de p(t) son t={3.0131 -2.0127 0.9996} ------------------------------------ ------------------------------------ ------------------------------------La matriz compañera del polinomio p(t)=6 - 5 t - 2 t^2 + t^3, es:A = 0 1 0 0 0 1 -6 5 2 En la iteración 27 de A(i+1)=Ri * Qi ans = 3.0000e+00 -5.0288e+00 5.0846e+00 4.4712e-05 -2.0000e+00 1.3628e+00 -1.2042e-12 5.3867e-08 1.0000e+00 las raices de p(t) son t={3 -2 1}
El código se presenta a continuación: polynomials_Root_QR.m
% ---------------------------%polynomials_Root_QR.m disp("Polynomial Roots via the QR-Method"); %Muestra como obtener las raices por el algoritmo QR con matriz compañera. %Muestra el pasoa a paso y la programación sencilla con matrices. % se utiliza el comando qr de octave %Autor: Alexander Arias %http://www.math.utah.edu/~gustafso/s2019/2270/labs/lab7-polyroot-qrmethod.pdf %p(t)=6 - 5 t - 2 t^2 + t^3 clear all; clc; disp(' ------------------------------------'); disp(' --Algoritmo QR y Matriz compañera---'); disp(' ------------------------------------'); %Paso a paso con 13 iteraciones disp(' la matriz compañera del polinomio p(t)=6 - 5 t - 2 t^2 + t^3, es:'); A0=[0 1 0; 0 0 1; -6 5 2] [Q, R] = qr(A0) A1=R*Q [Q, R] = qr(A1) A2=R*Q A=[0 1 0; 0 0 1; -6 5 2] %[Q, R] = qr(A) for i=2:13 [Q, R] = qr(A(:,:,i-1)); A(:,:,i)=R*Q; end disp('En la iteración 13 de A(i+1)=Ri * Qi'); A(:,:,13) disp('las raices de p(t) son t={3 .0131 -2.0127 0.9996}'); disp(' ------------------------------------'); disp(' ------------------------------------'); disp(' ------------------------------------'); %Algoritmo con 27 iteraciones disp('La matriz compañera del polinomio p(t)=6 - 5 t - 2 t^2 + t^3, es:'); A=[0 1 0; 0 0 1; -6 5 2] %[Q, R] = qr(A) for i=2:27 [Q, R] = qr(A(:,:,i-1)); A(:,:,i)=R*Q; end disp('En la iteración 27 de A(i+1)=Ri * Qi'); A(:,:,27) disp('las raices de p(t) son t={3 -2 1}');
No hay comentarios:
Publicar un comentario