И другие программы этой серии
Матрица перестановок E выбрана
так, что abs(diag(R)) уменьшается;
• [Q,R] = qr(X,0) и [Q,R,E] = qr(X,0) вычисляют экономное разложе
ние, в котором E – вектор перестановок, так что Q*R=X(:,E). Матрица E
выбрана так, что abs(diag(R)) уменьшается;
• A = qr(X) возвращает результат из LAPACK.
Пример:
>> C=rand(5,4)
C=
0.8381
0.0196
0.6813
0.3795
0.8318
>> [Q,R]=qr(C)
Q=
-0.5922
-0.0139
-0.4814
-0.2681
-0.5877
R=
-1.4152
0
0
0
0
0.5028
0.7095
0.4289
0.3046
0.1897
0.1934
0.6822
0.3028
0.5417
0.1509
0.6979
0.3784
0.8600
0.8537
0.5936
-0.1114
-0.9278
-0.1173
-0.1525
0.2997
-0.7072
-0.7541
0
0
0
0.5197
-0.0011
0.0699
-0.8268
-0.2036
0.0743
-0.3448
0.5940
0.2632
-0.6734
-0.6011
0.1420
0.6299
-0.3898
0.2643
-1.4103
-0.4819
-0.4043
0.2573
0
4
5
23
1.0000
0
0
23.0000
-3.1176
2.1144
-0.5037
-0.7274
-0.3577
0
0
• [Q,R] = qrdelete(Q,R,j) изменяет Q и R таким образом, чтобы пересчи
тать QR разложение матрицы A для случая, когда в ней удален j ый столбец
(A(:,j)=[ ]). Входные значения Q и R представляют QR разложение
матрицы A как результат действия [Q,R]=qr(A). Аргумент j определяет
столбец, который должен быть удален из матрицы A. Примеры:
>> C=rand(3,3)
C=
0.0164
4.0000
0.0576
0.7176
224
Операции с векторами и матрицами
0.1901
0.3676
0.5869
0.6315
>> [Q,R]=qr(C)
Q=
-0.0265
-0.2416
-0.3080
-0.9212
-0.9510
0.3051
R=
-0.6171
-0.7153
0
-0.1599
0
0
>> [Q1,R1]=qrdelete(Q,R,2)
Q1 =
-0.0265
0.7459
-0.3080
0.6272
-0.9510
-0.2239
R1 =
-0.6171
-0.3123
0
0.9510
0
0
0.6927
0.0841
Матричные операции линейной алгебры
225
4.4.12. Вычисление собственных значений
и сингулярных чисел
Во многих областях математики и прикладных наук большое значение имеют сред
ства для вычисления собственных значений (собственных чисел, характеристиче
ских чисел, решений векового уравнения) матриц, принадлежащих им векторов и
сингулярных чисел. В новой версии MATLAB собственные вектора нормализуются
иначе, чем в предыдущих.