Page 71 - 363_
P. 71
72
>> disp(eig(A))
1.2234
45.2658
-34.4893
>> [R,D] = eig(A)
R=
0.9979 -0.0798 -0.0590
0.0492 -0.3915 -0.3530
0.0416 -0.9167 0.9338
D =
1.2234 0 0
0 45.2658 0
0 0 -34.4893
Сингулярне розкладання матриці здійснює процедура svd(A).
Спрощене звернення до неї дає змогу одержати сингулярні числа матриці А.
Більш складне звернення вигляду:
[ U, S, V ] = svd(A)
дозволяє одержати три матриці – U, яку сформовано з ортонормованих власних
Т
векторів, які відповідають найбільшим власним значенням матриці А*А ; V – з
Т
ортонормованих власних векторів матриці А *А і S – діагональну матрицю з
Т
невід'ємних значень квадратних коренів із власних значень матриці А *А (їх
називають сингулярними числами). Ці матриці задовольняють співвідношенню:
T
A = U * S * V .
Розглянемо приклад:
>> disp(svd(A))
100.5617
15.9665
1.1896
>> [U,S,V] = svd(A)
U =
-0.0207 0.1806 -0.9833
-0.0869 0.9795 0.1817
-0.9960 -0.0892 0.0045
S =
100.5617 0 0
0 15.9665 0
0 0 1.1896
V=
0.0502 -0.0221 -0.9985
-0.9978 -0.0453 -0.0491
-0.0442 0.9987 -0.0243