Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
LU-факторизация выражает m ×n матричный A можно следующим образом: P*A = L*U. Здесь L является m ×m нижняя треугольная матрица, которая содержит 1 с на основной диагонали, U является m ×n матричная верхняя треугольная матрица, и P является матрицей перестановок. Чтобы вычислить разложение LU матрицы, используйте функцию linalg::factorLU. Например, вычислите разложение LU следующей квадратной матрицы:
A := matrix([[0, 0, 1], [1, 2, 3], [0, 1, 2]]): [L, U, p] := linalg::factorLU(A)

Вместо того, чтобы возвратить матрицу перестановок P, MuPAD® возвращает список p с числами, соответствующими обменам строки в матричном A. Для n ×n матрица, список p представляет следующую матрицу перестановок с индексами i и j в пределах от 1 к n:
.
Используя это выражение, восстановите матрицу перестановок P из списка p:
P := matrix(3, 3): for i from 1 to 3 do P[i, p[i]] := 1 end_for: P

Более эффективно вычислите результат применения матрицы перестановок к A, не восстанавливая саму матрицу перестановок:
PA := matrix(3, 3): for i from 1 to 3 do PA[i, 1..3] := A[p[i], 1..3] end_for: PA

Продуктом нижнего треугольного матричного L и верхней треугольной матрицы U является исходный матричный A со строками, которыми обмениваются согласно матрице перестановок P:
testeq(PA = L*U)
![]()
Теперь, вычислите разложение LU для 3 ×2 матричных B:
B := matrix([[1, 2], [3, 4], [5, 6]]): [L, U, p] := linalg::factorLU(B)

Матрица перестановок для этой LU-факторизации показывает, что порядок строк не изменяется. Поэтому продукт нижнего треугольного матричного L и верхней треугольной матрицы U дает исходный матричный A:
testeq(B = L*U)
![]()