Решает линейную систему уравнений
решает линейную систему 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
делает.