Tarea 5. 3. Anlisis de valores propios de la matriz.
Fabio Alejandro Gmez Gmez. Problema 3.A.2 Calcular los valores propios y vectores propios a mano y compararlos con Matlab para la
siguiente matriz.
A=[1 0 30 2 13 1 1
]
En Matlab.
Para determinar los valores y vectores propios se utiliza el comando eig, para esto se ingresa
en Matlab el siguiente comando [W,D]=eig(A). Donde D es la matriz diagonal de valores
propios y W es la matriz de vectores propios.
= [3.2880 0 0
0 1.8669 00 0 3.4211
]
= [0.5665 0.4153 0.71180.1531 0.9018 0.40420.8097 0.1200 0.5744
]
Calculo a mano.
Para calcular los valores propios de la matriz A, se determina a partir de la siguiente ecuacin.
() = ( ) = 0
Se resta la matriz A con la matriz diagonal de valores propios, quedando de la siguiente forma.
() = (1 0 3
0 2 13 1 1
)
Al realizar el determinante de ( ) queda la siguiente expresin.
13 + 22
2 + 113 21 = 0
Para determinar los valores de se utiliza el comando roots de Matlab, este arroja las races de
la ecuacin anterior. En el anexo 1 se presenta como se utiliza en comando en Matlab.
As los valores de que hacen cero la ecuacin son:
1 = 3.2880
2 = 3.4211
3 = 1.8669
Luego para determinar los vectores propios se determina a partir de la siguiente ecuacin
( ) = 0
La ecuacin anterior se expresa de la siguiente forma.
(1 )1 + 02 + 33 = 0
01 + 2 2 + 3 = 0
31 + 2 + (1 )3 = 0
La ecuaciones anteriores se despeja 3 para que estn en funcin de 1y 2 , como se
presenta a continuacin.
1 1 + 02 = 33
01 + 0.142 = 3
31 + 2 = 2.863
Para determinar los valores de 1 y 2, Se considera que 3 = 1 y se resuelve de la forma
w=A\B. El algoritmo utilizado para el clculo de estos se presentan en el anexo 2, donde la
matriz A son los trminos de la izquierda y el vector B son los trminos de la derecha de la
ecuaciones anteriores, as La matriz de vectores propios queda de la siguiente forma.
= [0.6996 1.2391 3.46050.1891 0.7037 7.5146
1 1 1]
Para comprobar si el proceso para determinar los valores propios y vectores propios, se realiz
correctamente, se realiza la siguiente igualdad
[] = [][]
Se evala los vectores propios de los valores propios de 3
[3] = [1 0 30 2 13 1 1
] [3.4605
7.51461
] = [6.4605
14.02921.8669
]
[3][3] = 1.8669 [3.4605
7.51461
] = [6.4605
14.02921.8669
]
De lo anterior se puede resaltar que el proceso para determinar los valores propios, los
resultados fueron similares a Matlab; adems, al determinar los vectores propios w, se
comprueba que la igualdad se logr.
Problema 3.B.3
Se ajusta el modelo = 0 + 11 + 22 con los datos de la tabla 3.2, a partir de la
descomposicin de valores singulares (SVD), se determinara la matriz diagonal S de valores
singulares de A (ordenados de mayor a menor) y las matrices U y V, tal que A=U*S*V. En el
anexo 3 se presenta el algoritmo que utiliza el comando svd y la forma para determinar los
valores de 0, 1, 2 resolviendo el modelo lineal del problema 3.B.3, si los datos se ajustan
bien al modelo.
Se presenta a continuacin la matriz S, arrojada por Matlab.
S =
5.5708 0 0 0 2.4495 0 0 0 0.9832 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Como el rango de la matriz X (rango de X=3) es igual al nmero de valores singulares, la matriz
S obtenida presenta 3 valores singulares, por lo que se concluye que los datos se ajustan bien
al modelo, lo cual se puede determinar los valores 0, 1, 2.
0 = 8.1147
1 = 3.6137
2 = 2.4844
Anexo 1.
Comandos utilizados para el problema 3.A.2
clc
clear all
A=[1 0 3; 0 2 1; 3 1 -1];
[W,D]=eig(A)
%(-x.^3)+(2.*(x.^2))+(11.*x)-21
M=[-1 2 11 -21]
r=roots(M)
Anexo 2
Vectores propios del problema 3.A.2
%Calculo de vectores propios
da=-3.2880; %landa 1
db=3.4211; %landa 2
dc=1.8669; %landa 3
Aa=[1-da 0; 0 2-da;3 1 ];
Ba=[-3;-1;-(-1-da)];
Wa=Aa\Ba
Ab=[1-db 0; 0 2-db;3 1 ];
Bb=[-3;-1;-(-1-db)];
Wb=Ab\Bb
Ac=[1-dc 0; 0 2-dc;3 1 ];
Bc=[-3;-1;-(-1-dc)];
Wc=Ac\Bc
W=[Wa Wb Wc]
Anexo 3
%Problema 3.B.3
%SVD
function iflag=SVD()
clear all
clc
close all
format short
iflag=0
Y = [1.53;1.11;2.83;4.39;4.02;5.92;2.00;3.23];
X = [1 0 1;1 1 0;1 1 1;1 1 2;1 2 1;1 2 2;1 2 0;1 0 2];
rank(X)
[U,S,V] = svd(X)
s=svd(X)
Sinv = zeros(size(S'));
Sinv(1:3,1:3) = inv(S(1:3,1:3));
b=V*Sinv*U*Y
iflag=1
return