Решение систем линейных уравнений
решает линейную систему A X = B с помощью одного из этих методов:X
= linsolve(A
,B
)
Когда A
является квадратным, linsolve
LU-факторизация использования с частичным поворотом.
Для всех других случаев, linsolve
QR-факторизация использования с поворотом столбца.
linsolve
предупреждает если A
плохо обусловливается (для квадратных матриц) или неполный ранг (для прямоугольных матриц).
использует соответствующий решатель, как определено структурой опций X
= linsolve(A
,B
,opts
)opts
. Поля в opts
логические значения, описывающие свойства матричного A
. Например, если A
верхняя треугольная матрица, можно установить opts.UT = true
сделать linsolve
используйте решатель, спроектированный для верхних треугольных матриц. linsolve
не тестирует, чтобы проверить тот A
задали свойства в opts
.
[
также возвращает X
,r
] = linsolve(___)r
, который является обратной величиной числа обусловленности A
(для квадратных матриц) или ранг A
(для прямоугольных матриц). Можно использовать любую из комбинаций входных аргументов в предыдущих синтаксисах. С этим синтаксисом, linsolve
не предупреждает если A
плохо обусловливается или неполный ранг.
Преимущество скорости linsolve
может варьироваться в зависимости от матричной структуры и относительной оптимизации базовых алгоритмов. В некоторых случаях (такой как с маленькими матрицами) не может быть никакого ускорения по сравнению с mldivide
. Преимущество скорости с linsolve
возникает путем предотвращения дорогостоящих проверок на свойствах больших матриц, или путем выбора алгоритма, который лучше подходит для входа, чем выбор это mldivide
делает.