QR Factorization

Произвольная матрица множителей в унитарные и верхние треугольные компоненты

Библиотека

Математические функции/матрицы и линейные алгебра/матричные факторизации

dspfactors

  • QR Factorization block

Описание

Блок QR-факторизации использует последовательность преобразований Housholder, чтобы треугольник входа матрицы A. Блочные факторы, сочетание столбца M -by N входной матрицы, A как

<reservedrangesplaceholder2> <reservedrangesplaceholder1> = QR

Вертевшийся столбцом матричный <reservedrangesplaceholder4> <reservedrangesplaceholder3> содержит столбцы A, переставленного, как обозначено содержимым длины - N вектор сочетания E.

Ae = A(:,E)					% Equivalent MATLAB code

Блок выбирает вектор < reservedrangesplaceholder1 > сочетания столбца, который гарантирует, что диагональные элементы матричных R расположены в порядке уменьшения величины.

|ri+1,j+1|<|ri,j|        i=j

Размер матриц 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-факторизации, также изменяются.

  1. Откройте модель путем набора ex_qrfactorization_ref в MATLAB® командная строка.

  2. Дважды кликните блок QR-факторизация, установите параметр Output size равным Economy, и запустите модель.

    Блок QR-факторизации выводит 5-by- 2 матричные Q и 2-by- 2 матричная R.

  3. Измените параметр Output size блока QR-факторизации на Full и перезапустите модель.

    Блок QR-факторизации выводит 5-by- 5 матричные Q и 5-by- 2 матричная R.

Параметры

Output size

Задайте размер выходных матриц Q и R:

  • Economy - Когда этот размер вывода выбран, блок выводит M -by-min (M, N) унитарную матрицу Q и M min (N, N) -by - R верхней треугольной матрицы.

  • Full - Когда этот размер выхода отобран, блок производит M M унитарной матрицей Q и M N верхне-треугольной матрицей R.

Simulate using

  • Interpreted execution (по умолчанию)

    Симулируйте модель с помощью интерпретатора MATLAB. Эта опция сокращает время запуска и имеет более высокую скорость симуляции по сравнению с Code generation.

  • Code generation

    Симулируйте модель с использованием сгенерированного кода C. Первый раз, когда вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С повторно используется для последующих симуляций, пока модель не меняется. Эта опция требует дополнительного времени запуска, но обеспечивает более быстрые последующие симуляции.

Ссылки

Голуба, Г. Х. и К. Ф. Ван Лоуна. Матричные расчеты. 3-й эд. Балтимор, доктор медицинских наук: Johns Hopkins University Press, 1996.

Поддерживаемые типы данных

ПортПоддерживаемые типы данных

Вход

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

Выход

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

Расширенные возможности

.
Представлено до R2006a