Matlab の inv() 操作を使用して逆行列を計算しようとすると、次のようになります。
A = rand(10,10);
b = rand(10,1);
C = inv(A);
D = C*b;
最後の行に次の警告が表示されます: INV は遅く、不正確です。INV(A)*b には A\b を、b*INV(A) には b/A を使用します。
上記のコードを次のように変更できます。
A = rand(10,10);
b = rand(10,1);
C = inv(A);
D = A\b;
警告は表示されなくなりましたが、この解決策の方が優れているとは思いません。
注:行列 A の逆行列と inv(A)*c の両方を格納する必要があります。また、私の実際のファイルでは、行列 A のサイズは 5000 x 5000 またはそれ以上になる可能性があります。
効率と精度の点でより良い解決策はありますか、それとも最初の方法で問題ありませんか?