フィルターのクリア

alternative ways of taking inverse of matrix?

9 ビュー (過去 30 日間)
Mudasir Ahmed
Mudasir Ahmed 2016 年 5 月 11 日
回答済み: Walter Roberson 2016 年 5 月 11 日
hi
i want to take inverse of matrix. but some times following error occurs due to determinant zero and my program stops in the middle of the iteration. is there any alternative way of taking inverse which does not effect the simulations and give result zero or any warning but continue the main program. kindly help me :).
Error using mupadmex Error in MuPAD command: Division by zero. [_power] Evaluating: symobj::trysubs
Error in sym/subs>mupadsubs (line 139) G = mupadmex('symobj::fullsubs',F.s,X2,Y2);
Error in sym/subs (line 124) G = mupadsubs(F,X,Y);
  2 件のコメント
Roger Stafford
Roger Stafford 2016 年 5 月 11 日
You need to face the fact that when the determinant of a square matrix is zero, then it has no inverse. Your program cannot in that circumstance continue on as if it were dealing with an inverse, since none can exist. Your program, whatever it is, needs to be able to deal appropriately with that situation.
Stephen23
Stephen23 2016 年 5 月 11 日
編集済み: Stephen23 2016 年 5 月 11 日

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2016 年 5 月 11 日
If you were working numerically then you could use pinv(), which would at least give you something. But you are working symbolically, so unless you can convert that to double, you cannot use pinv(). No, strike that -- you can use pinv() on symbolic arrays. But if you later substitute in symbolic values that lead to division by 0, you will still get an error.

その他の回答 (0 件)

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by