アプリ版:「スタンプのみでお礼する」機能のリリースについて

SCILABという計算ソフトを使用して次のような計算を行っていました、
A=[1 2 3; 4 5 6; 7 8 8.999999999999]
B=[-1 0 1]^T (^Tは転置行列の意)
Aの逆行列とBの積A^(-1)*B=Xとして、det(X)を計算したところ、次のようなエラーが出てきました。

matrix is close to singular or badly scaled. rcond=7.7099D-17
このエラー文の意味が不明です。

直訳すると
matrix is (行列は)
close to (ほぼ、ほとんど)
singular (特異である)
or (もしくは)
badly scaled.(好ましくないスケール)
となりますが、このエラーはつまりどういう意味なのでしょうか。

直訳など、何が問題なのかが知りたいです。
どなたかわかる方、ご教示のほどお願いいたします。

A 回答 (2件)

書いてある通りの意味で、Aがほとんど特異行列になっているので逆行列が計算できないんでしょう。


A=[1 2 3; 4 5 6; 7 8 9]であれば完全に特異行列ですね。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2012/06/24 16:07

>A=[1 2 3; 4 5 6; 7 8 8.999999999999]



もし、A=[1 2 3; 4 5 6; 7 8 9] ならAは正則ではないので
逆行列は計算できません。A=[1 2 3; 4 5 6; 7 8 8.999999999999]は
それに限りなく近いですから、逆行列の計算時に桁落ちが発生して
計算結果に大きな誤差が含まれてしまいます。

エラーはこれを示しています。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2012/06/24 16:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A