どちらも線形システムを解く直接ソルバーです(反復ソルバーとは異なります)。
mldivide
AAx=bmldivide
mldivide
正方行列の場合:Aが対称であり、実数の正の対角要素がある場合、MATLABはコレスキー分解を試みます。コレスキー分解が失敗した場合、MATLABは対称的な不定分解を実行します。Aが上ヘッセンベルグの場合、MATLABはガウスの消去法を使用してシステムを三角行列に縮小します。Aが正方であるが、順列三角形、対称正定行列、またはヘッセンバーグでない場合、MATLABは部分ピボットを使用したLU分解を使用して一般的な三角形分解を実行します。
linsolve
正方行列の場合:部分ピボットによるLU分解
mldivide
およびlinsolve
長方形行列の場合:QR分解
linsolve
opts
A
opts.POSDEF = true; linsolve(A,b,opts)
xAopts
一定の基準が満たされ、場合linsolve
とmldivide
同じ因数分解プロセスを利用します。たとえば、特定のプロパティを満たす密な正定システムの場合、またはシステムが過度に決定されており、どちらも最小二乗近似を実行します。
さらに、シンボリック計算linsolve
も実行できます。これは、解の数が無限である、十分に決定されていない小さなシステムがある場合に便利です。あなたはそれを象徴的に解決することができますが、それはできません。変数が象徴的に宣言されていない、しかし、そしてあなたに同じ警告メッセージを与えるだろう「マトリックスは、加工精度に特異です。」linsolve
mldivide
mldivide
linsolve
最後に重要なこととして、次のマトリックスのようなスパースシステムをlinsolve
サポートしていません(青い点はゼロ以外のエントリを意味します)。一方では、サイズが200Kで200Kの下にあるときに確実にスパースシステムを扱うことができます。
mldivide