MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

MATLAB\MATLAB

В.Г.Потемкин "Справочник по MATLAB"
Линейная алгебра

  В оглавление книги \ К следующему разделу \ К предыдущему разделу

Решение линейных уравнений

QR, QRDELETE,
QRINSERT
QR-разложение

Синтаксис:

[Q, R] = qr(A) Q, R] = qrdelete(Q, R, j) [Q, R] = qrinsert(Q, R, j, x)
[Q, R, P] = qr(A)
Y = qr(A)

Описание:

Функция [Q, R] = qr(A) находит QR-разложение для произвольной матрицы A в виде произведения унитарной матрицы Q и верхней треугольной матрицы R, так что A = Q * R.

Функция [Q, R, P] = qr(A) находит разложение для произвольной квадратной матрицы A в виде трех составляющих - унитарной матрицы Q, верхней треугольной матрицы R с убывающими по модулю диагональными элементами и матрицы перестановок P, так что A * P = Q * R.

Функция Y = qr(A) возвращает матрицу Y, которая связана с матрицей R соотношением R = triu(Y).

Функция [Q, R] = qrdelete(Q, R, j) позволяет пересчитать известное QR-разложение матрицы A для случая, когда в матрице A удален j-й столбец A(:, j). Функция [Q, R] = qrinsert(Q, R, j, x) позволяет пересчитать известное QR-разложение матрицы A для случая, когда в матрице A перед j-м столбцом A(:, j) вставлен дополнительный столбец x. Если указать j = n+1, где n - число столбцов матрицы A, то дополнительный столбец x будет n+1-м столбцом матрицы.

Примеры:

Рассмотрим операции, связанные с QR-разложением следующей прямоугольной матрицы A:

             [Q, R] = qr(A)

A = Q = R =
1 2 3
4 5 6
7 8 9
10 11 12
-0.0776 -0.8331 0.5444 0.0605
-0.3105 -0.4512 -0.7709 0.3251
-0.5433 -0.0694 -0.0913 -0.8317
-0.7762 0.3124 0.3178 0.4461
-12.8841 -14.5916 -16.2992
0 -1.0413 -2.0826
0 0 0.0000
0 0 0

Удалим второй столбец из матрицы A:

             [Q1, R1] = qrdelete(Q, R, 2)

Q1 = R1 =
-0.0776 -0.8331 0.5444 0.0605
-0.3105 -0.4512 -0.7709 0.3251
-0.5433 -0.0694 -0.0913 -0.8317
-0.7762 0.3124 0.3178 0.4461
-12.8841 -16.2992
0 -2.0826
0 0
0 0

Вставим второй столбец из матрицы A на место третьего:

            [Q2, R2] = qrinsert(Q1, R1, 3, A(:,2))

Q2 = R 2=  
-0.0776 0.8331 -0.5458 -0.0456
-0.3105 0.4512 0.6938 0.4676
-0.5433 0.0694 0.2499 -0.7985
-0.7762 -0.3124 -0.3979 0.3764
-12.8841 -16.2992 -14.5916
0 2.0826 1.0413
0 0 0.0000
0 0 0
1 3 2
4 6 5
7 9 8
10 12 11

Сопутствующие функции: ORTH, NULL, LU, \, /.

Ссылки: 1. Dongarra J. J., Bunch J. R., Moler C. B., Stewart G. W. LINPACK User’s Guide. Philadelphia, 1979.

  В оглавление книги \ К следующему разделу \ К предыдущему разделу

 


Поиск по сайту:

Система Orphus

Яндекс.Метрика