Вы находитесь на странице: 1из 4

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.
1
A=[0
3

0 3
2 1]
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
0 ]
0
0
3.4211

0.5665 0.4153 0.7118


= [0.1531 0.9018 0.4042]
0.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
1

3
1 )
1

Al realizar el determinante de ( ) queda la siguiente expresin.


13 + 222 + 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 1 y 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.4605
= [ 0.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
1
[3] = [0
3

0 3
3.4605
6.4605
2 1 ] [7.5146] = [14.0292]
1 1
1
1.8669

3.4605
6.4605
[3] [3] = 1.8669 [7.5146] = [14.0292]
1
1.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 + 1 1 + 2 2 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

Вам также может понравиться