Произвольная матрица множителей в унитарные и верхние треугольные компоненты
Математические функции/матрицы и линейные алгебра/матричные факторизации
dspfactors
Блок QR-факторизации использует последовательность преобразований Housholder, чтобы треугольник входа матрицы A. Блочные факторы, сочетание столбца M -by N входной матрицы, A как
<reservedrangesplaceholder2> <reservedrangesplaceholder1> = QR
Вертевшийся столбцом матричный <reservedrangesplaceholder4> <reservedrangesplaceholder3> содержит столбцы A, переставленного, как обозначено содержимым длины - N вектор сочетания E.
Ae = A(:,E) % Equivalent MATLAB code
Блок выбирает вектор < reservedrangesplaceholder1 > сочетания столбца, который гарантирует, что диагональные элементы матричных R расположены в порядке уменьшения величины.
Размер матриц Q и R зависит от установки параметра Output size:
Когда вы выбираете Economy
для размера выхода Q является M унитарной матрицей -by-min (M, N), а R является минимальной (M, N) -by N верхней треугольной матрицей.
[Q R E] = qr(A,0) % Equivalent MATLAB code
Когда вы выбираете Full
для выхода Q является M -by M унитарной матрицей, а R является M -by N верхней треугольной матрицей.
[Q R E] = qr(A) % Equivalent MATLAB code
Блок обрабатывает длинно- M неориентированный векторный вход как M-на-1 матрицу.
QR-факторизация является важным инструментом для решения линейных систем уравнений из-за хороших свойств распространения ошибок и обратимости унитарных матриц:
Q –1 = <reservedrangesplaceholder1> <reservedrangesplaceholder0>
где Q '
- комплексное сопряженное транспонирование Q.
В отличие от LU и факторизаций Холесского, матричная A не должна быть квадратной для QR-факторизации. Однако QR-факторизация требует вдвое больше операций, чем LU-факторизация (Гауссова элиминация).
Параметр Output size блока QR-факторизации имеет две настройки: Economy
и Full
. Когда входная матрица M -by N A имеет такие размерности, что M > N, размерности выходных матриц Q и R различны в зависимости от настройки параметра Output size. Если, однако, размер матрицы входа A таков, что у <reservedrangesplaceholder5> ≤ <reservedrangesplaceholder4>, выходные матрицы Q и R есть те же размерности, независимо от того, установлен ли Output size в Economy
или Full
.
Вход блока QR-факторизации в следующей модели является 5
-by- 2
матричная A. Когда вы меняете настройку параметра Output size с Economy
на Full
размерности выхода, заданные блоком QR-факторизации, также изменяются.
Откройте модель путем набора ex_qrfactorization_ref
в MATLAB® командная строка.
Дважды кликните блок QR-факторизация, установите параметр Output size равным Economy
, и запустите модель.
Блок QR-факторизации выводит 5
-by- 2
матричные Q и 2
-by- 2
матричная R.
Измените параметр Output size блока QR-факторизации на Full
и перезапустите модель.
Блок QR-факторизации выводит 5
-by- 5
матричные Q и 5
-by- 2
матричная R.
Задайте размер выходных матриц Q и R:
Economy
- Когда этот размер вывода выбран, блок выводит M -by-min (M, N) унитарную матрицу Q и M min (N, N) -by - R верхней треугольной матрицы.
Full
- Когда этот размер выхода отобран, блок производит M M унитарной матрицей Q и M N верхне-треугольной матрицей R.
Interpreted execution
(по умолчанию)
Симулируйте модель с помощью интерпретатора MATLAB. Эта опция сокращает время запуска и имеет более высокую скорость симуляции по сравнению с Code generation
.
Code generation
Симулируйте модель с использованием сгенерированного кода C. Первый раз, когда вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С повторно используется для последующих симуляций, пока модель не меняется. Эта опция требует дополнительного времени запуска, но обеспечивает более быстрые последующие симуляции.
Голуба, Г. Х. и К. Ф. Ван Лоуна. Матричные расчеты. 3-й эд. Балтимор, доктор медицинских наук: Johns Hopkins University Press, 1996.
Порт | Поддерживаемые типы данных |
---|---|
Вход |
|
Выход |
|