LU Factorization

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

Библиотека

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

dspfactors

  • LU Factorization block

Описание

Блок LU Factorization факторизирует перестановочную по строкам версию квадратной входной матрицы, A как A p = L * U, где L является единично-нижней треугольной матрицей, U является верхней треугольной матрицей, и A p содержит строки A, перестановленные как обозначено вектором индекса перестановки P. Блок использует сводную матрицу A p вместо точной входной матрицы A потому что он улучшает числовую точность факторизации. Можно определить особенность матрицы входа A путем включения опционального порта выхода S. Когда A сингулярна, блок выводит 1 в порту S; когда A несингулярна, это выводит 0.

Чтобы улучшить эффективность, выход блока LU-факторизации в порту LU является составной матрицей, содержащей как элементы нижнего треугольника L, так и элементы верхнего треугольника U. Таким образом, выход находится в другом формате, чем выход MATLAB® lu функция, которая возвращает L и U как отдельные матрицы. Чтобы преобразовать выход из LU блока порт для разделения L и U матриц используйте следующий код:

L = tril(LU,-1)+eye(size(LU));
U = triu(LU); 

Если вы сравниваете результаты, полученные этими уравнениями, с фактическим выходом MATLAB lu функция, вы можете увидеть несколько другие значения. Эти различия вызваны ошибкой округления и ожидаются.

См. lu функция страницы с описанием для получения дополнительной информации о LU-факторизациях.

Типы данных с фиксированной точкой

Следующая схема показывает типы данных, используемые в блоке LU-факторизация для сигналов с фиксированной точкой.

Можно задать выходы продукта, аккумулятор и типы выходных данных в диалоговом окне блока, как обсуждается ниже.

Выход умножителя находится в типе выходных данных продукта, когда вход действителен. Когда вход комплексен, результат умножения находится в типе данных аккумулятора. Для получения дополнительной информации о выполненном комплексном умножении смотрите Типы данных умножения.

Примеры

Поворотная по строке матрица A p и вектор индекса сочетания P вычисленные блоком, показаны ниже для входных матричных A 3 на 3.

A=[185912257]        P=(213)        AP=[912185257]

The LU выход является составной матрицей, чей нижний подтреугольник образует L и чей верхний треугольник образует U.

Смотрите Матричные факторизации в DSP System Toolbox™ User's Guide для другого примера, использующего блок LU-факторизация.

Параметры

Main Tab

Show singularity status

Выберите для вывода особенности входа в порте S, который выводит логические значения типа данных 1 или 0. Выход 1 указывает, что токовый вход сингулярен, а выход 0 указывает, что токовый вход несингулярен.

Data Types Tab

Rounding mode

Задайте режим округления для операций с фиксированной точкой как один из следующих:

  • Floor

  • Ceiling

  • Convergent

  • Nearest

  • Round

  • Simplest

  • Zero

Для получения дополнительной информации смотрите режим округления.

Saturate on integer overflow

Когда вы выбираете этот параметр, блок насыщает результат своей операции с фиксированной точкой. Когда вы очищаете этот параметр, блок переносит результат своей операции с фиксированной точкой. Для получения дополнительной информации о saturate и wrap, см. Режим переполнения для операций с фиксированной точкой.

Product output

Укажите тип выходных данных продукта. Смотрите Типы данных с фиксированной точкой и Типы данных умножения для рисунков, описывающих использование типа выходных данных продукта в этом блоке. Вы можете установить его на:

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.

  • Правило, которое наследует тип данных, например Inherit: Same as input.

  • Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Product output.

Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).

Accumulator

Задайте тип данных аккумулятора. См. типы данных с фиксированной точкой для рисунков, описывающих использование типа данных аккумулятора в этом блоке. Можно задать этот параметр как:

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.

  • Правило, которое наследует тип данных, например Inherit: Same as input.

  • Правило, которое наследует тип данных, например Inherit: Same as product output.

  • Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Accumulator.

Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).

Output

Задайте тип выходных данных. См. типы данных с фиксированной точкой для рисунков, описывающих использование типа выходных данных в этом блоке. Вы можете установить его на:

  • Правило, которое наследует тип данных, например Inherit: Same as input

  • Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Output.

Смотрите Типы Данных Управляющего Сигнала (Simulink) для получения дополнительной информации.

Lock data type settings against changes by the fixed-point tools

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока.

Ссылки

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

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

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

A

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

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

  • Фиксированная точка (только со знаком)

  • 8-, 16- и 32-битные целые числа со знаком

ЛЮТЕЦИЙ

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

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

  • Фиксированная точка (только со знаком)

  • 8-, 16- и 32-битные целые числа со знаком

P

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

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

  • 32-битные беззнаковые целые числа

S

  • Булев

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

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