Листинг 67
>> А=[3 -2 1;5 6 -4; 2 7 9];
>> [Q, R,P]=qr(A)
Q =
-0.1010 0.2745 -0.9563
0.4041 -0.8670 -0.2915
-0.9091 -0.4158 -0.0233
R =
-9.8995 -3.7376 -0.1010
0 -8.6620 -4.3434
0 0 -4.3732
Р =
0 0 1
0 1 0
1 0 0
>> A*P-Q*R
ans =
1.0е-014 *
0.0999 0.2220 0.0888
-0.0444 -0.0888 -0.1776
0 0 -0.0444
■ svd (А) - возвращает вектор сингулярных чисел матрицы, при использовании в формате [U, S, V] = svd(A) выполняет сингулярное разложение матрицы А; выдает три матрицы: U - сформирована из ортонормирован-ных собственных векторов, отвечающих наибольшим собственным значениям матрицы А * АT, V - состоит из ортонормированных собственных векторов матрицы А * АT, S - диагональная матрица из сингулярных чисел (неотрицательных значений квадратных корней из собственных значений матрицы А * АT), матрицы удовлетворяют условию A= U* S*VT.
Листинг 68.
>> А=[3 -2 1;5 6 -4; 2 7 9];
>> svd(А)
ans =
11.7553
8.5347
3.7377
>> U,S,V]=svd(A)
U =
0.0058 0.0207 0.9998
0.2529 -0.9673 0.0186
0.9675 0.2527 -0.0108
S =
11.7553 0 0
0 8.5347 0
0 0 3.7377
V =
0.2736 -0.5002 0.8215
0.7042 -0.4776 -0.5253
0.6551 0.7223 0.2215
Описанные здесь векторные и матричные функции MATLAB дозволяют решать широкий круг задач линейной алгебры.
- Решение некоторых задач линейной алгебры