コンピュータは働きたくて、いつもウズウズしています!   Data + Automation = Datamation
TEXT_SIZE

204 汎用逆行列プログラム

汎用逆行列プログラムは、多変量解析では欠かすことの出来ない行列と行列の乗算する場合に使用します。
正則行列ではない(行数と列数が違っている)行列の逆行列を求めることができるように「104 正則逆行列プログラム」を拡張したものです。
正則行列でない場合は、ムーアペンローズ逆行列が得られます。

サンプルデータ・A

204 汎用逆行列プログラム サンプルデータ


操作手順・A

アドイン接続を終え、メニューの「汎用逆行列」をクリックすると、次のように設定画面が表示されます。

204 汎用逆行列プログラム 設定画面

データ行列範囲

逆行列を求める行列を、範囲選択します。
なおデータ行列は、データ番号列やデータラベル(行)を含まずに範囲選択します。なお処理可能な行列の範囲は、200行×200列以内です。

→ 200行×200列を超える行列の処理に関する可否・料金を問い合わせる(問い合わせフォームへ)

ムーアペンローズ逆行列出力

ムーアペンローズ逆行列を出力させる場合、チェックを入れます。

中間出力

固有値・固有ベクトルなど中間出力を表示させる場合、チェックを入れます。

出力先

出力を開始したいセル1か所をクリックして選択します。

設定が済んだら、「開始」ボタンをクリックします。

ここで設定画面を閉じるには、「中止」ボタンをクリックします。

なおデータの範囲選択において、データラベルの有無に誤りがあるなどの場合は、次のようなエラーメッセージが表示されることがあります。
「OK」ボタンをクリックして、もう一度やり直します。

204 汎用逆行列プログラム エラーメッセージ


出力結果・A

204 汎用逆行列プログラム 出力結果


参考

逆行列の計算は、まず、固有値と固有ベクトルを求めて、正則性を検査します。
次に、掃出し法によって、正則の逆行列を求めます。
そして、転置行列を使用してムーアベンローズの逆行列を計算します。 


サンプルデータ・B

次のような連立方程式で考えてみましょう。

(1) 5 * x+ 6 * x+ x= 3
(2) 2 * x+ 4 * x+ 3 * x= 6
(3) x+ 3 * x+ 2 * x= 5
(4) 3 * x+ 3 * x+ 6 * x= 4

(1)と(2)から(5)式を作ります。

(5) 7 * x+ 10 * x+ 4 * x= 9

(3)、(4)と(5)から解くと、

x1 = -1.667
x2 = 1.8333
x3 = 0.5833
が得られます。

また(3)と(4)から、(6)式を作り

(6) 4 * x1 + 6 * x2 + 8 * x3 = 9

となり、(1)、(2)と(6)から解くと、

x1 = -2
x2 = 2.0714
x3 = 0.5714

が得られるのですが、これでは結果が不安定であることがわかります。
そこで、逆行列によって、誤差が少ない解を求めてみます。

上の連立方程式の係数行列は、次のように表すことができます。

204 汎用逆行列プログラム サンプルデータ


設定画面・B

204 汎用逆行列プログラム 設定画面

上の係数行列のうちx1・x2・x3の逆行列として、ムーアベンローズ逆行列を求めます。


出力結果・B

204 汎用逆行列プログラム 出力結果

上のムーアペンローズ逆行列と定数行列との乗算を行います(102 行列乗算プログラムでも計算が可能です)。

その結果、検証すると、誤差の少ない解であることがわかります(102 行列乗算プログラムでも計算が可能です)。


その他サンプルデータ

以下に、色々なケースでの逆行列計算の結果を示します。






定価: ¥12,960.-

ご注文はこちらから。別途、注文フォームが開きます。


Excel用アドインプログラム