Вони обидва є прямим розв’язувачем для вирішення лінійних систем (протилежних ітераційному розв'язувачу).
mldivideАA x = bmldivide
mldivideдля квадратних матриць: Якщо A симетричний і має реальні, позитивні діагональні елементи, MATLAB намагається факторизувати Холеського. Якщо факторизація Холеського не вдається, MATLAB виконує симетричну, невизначену факторизацію. Якщо A є верхнім Гессенбергом, MATLAB використовує усунення Гаусса для зведення системи до трикутної матриці. Якщо A квадратний, але не є перестановленим трикутним, симетричним і позитивним певним, або Гессенберг, то MATLAB виконує загальну трикутну факторизацію, використовуючи LU-факторизацію з частковим поворотом
linsolve для квадратних матриць: LU-факторизація з частковим поворотом
mldivideі linsolveдля прямокутних матриць: QR-факторизація
linsolveoptsА
opts.POSDEF = true; linsolve(A,b,opts)
хАopts
Якщо певні критерії дотримані, linsolveі mldivideдійсно використовують один і той же процес факторизації. Наприклад, для щільної позитивної визначеної системи, що задовольняє певним властивостям, або ви маєте переопределену систему, і обидві виконують мінімальну площу.
Більше того, linsolveтакож можна було б виконати символічні обчислення . Це зручно, коли у вас є невелика недостатньо визначена система, яка має нескінченну кількість рішень. linsolveдозволяє вирішити це символічно, mldivideне може цього зробити. Однак, якщо змінні не оголошуються символічно, mldivideі linsolveдають вам те саме попередження: "Матриця є сингулярною до робочої точності".
І останнє, але не менш важливе, linsolveне підтримує такі розріджені системи, як наступна матриця (синя крапка означає ненульовий запис). Хоча mldivideміг би впоратися з розрідженими системами надійно, коли розмір менше 200k на 200k.
