Excel の行列計算による連立方程式の解き方

消去法との比較

例題
 次の連立方程式を解きます。
 Excel_matrix01.gif

解説
 この方程式は、行列を使って、以下のように書けます。
Excel_matrix02.gif
ここで、
Excel_matrix03.gif
とおくと、方程式の解、x、y、z は、Aの逆行列を用いて
Excel_matrix04.gif
のように、求められます。

以下に、この計算を Excel を使って行う手順を示します。

Excel による手順
行列Aと、右辺の行列を入力します。
Excel_matrix05.gif
D列は空けなくてもいいですが、区別しやすいように空けてあります。

行列Aの逆行列を入れたい場所を、マウスでドラッグ(左ボタンを押したままマウスを移動する)して、反転させます。
Excel_matrix06.gif

この状態で、
 =MINVERSE(A1:C3)      A1:C3 は行列Aを入れた範囲です。
と入力して、(まだ確定ではありません)
Excel_matrix07.gif

SHIFTキーと、CTRLキーを同時に押しながら、Enter キーを押します。
Excel_matrix08.gif
SHIFTキーと、CTRLキーを同時に押して確定した場合は、数式の前後に {  }
が付くので、区別できます。

これで、行列Aの逆行列が計算できました。これに、E1〜E3 の行列を右から掛ければ
x、y、z が求められます。
答えを格納する場所を、マウスドラッグで反転させ、
 =MMULT(A5:C7, E1:E3)
と入力し、
Excel_matrix09.gif

SHIFTキーと、CTRLキーを同時に押しながら、Enter キーを押します。
Excel_matrix10.gif

これで、
 x=1、y=2、z=3
と解くことが出来ました。

参考1
 以下のように、一気に答えまでいく方法もあります。
式の内容は、図を参照してください。
Excel_matrix12.gif

参考2
 解が分数になる場合、Excel では、小数でしか表示されません。
係数が整数の場合、解の分母は、行列Aの行列式の約数になっていますので、
行列Aの行列式を計算して、それを求めた解(小数)に掛けておけば、整数値が得られます。
行列Aの行列式は、MDETERM 関数で求められます。
Excel_matrix11.gif
MDETERM は、単一値を返すので、SHIFT と CTRL を押す必要はありません。


解が分数になる例として、
 Excel_matrix13.gif
を解いてみます。このまま Excel で解くと、以下のようになりますが、
Excel_matrix14.gif

行列式を求め(下図のH6のセル)、解に掛けると、以下のようになります。
Excel_matrix15.gif
 d=32.5 は自明なので、そのままにしてあります。
これより、解は、
 a=632275/4125000000=25291/165000000
 b=-82202625/4125000000=-219207/11000000
 c=1369493750/4125000000=219119/660000
 d=32.5
と求められます。

算数・数学の部屋に戻る