この記事では Excel関数 を使って、連立方程式の数値解 を求めます。
逆行列と連立方程式
次のような連立方程式を考えます。
\[\begin{align*}ax+by=p\\[6pt]cx+dy=q\end{align*}\]
ここで行列 $A$ とベクトル $\boldsymbol{x},\ \boldsymbol{b}$ を
\[A=\begin{pmatrix}a & b\\ c & d\end{pmatrix},\ \boldsymbol{x}=\binom{x}{y},\ \boldsymbol{b}=\binom{p}{q}\]
とおくと、連立方程式は
\[A\boldsymbol{x}=\boldsymbol{b}\]
と表せます。両辺に逆行列を左からかけます。
\[A^{-1}A\boldsymbol{x}=A^{-1}\boldsymbol{b}\]
$A^{-1}A=I$ ($I$ は単位行列) なので、
\[I\boldsymbol{x}=A^{-1}\boldsymbol{b}\]
さらに $I\boldsymbol{x}=\boldsymbol{x}$ なので、
\[\boldsymbol{x}=A^{-1}\boldsymbol{b}\]
となります。逆行列を用いると、このように解ベクトル $\boldsymbol{x}$ を機械的に計算できますが、$\det{A}=ad-bc=0$ のときは逆行列は存在せず、方程式も解をもたなかったり不定であったりします。
それでは、Excel で連立方程式の数値解を求めてみましょう。下図を参照にシートを作っていきます。
セル B2, B3, D2, D3, G2, G1 には適当な値を入れておきます。セル B6, B7, C6, C7 には相対参照で方程式の x と y の係数を写し取るようにして配列を作ります(ユーザーが値を変えれば配列も変化します)。
次に逆行列を作ります。セル B6 から C7 の範囲を選択して
=minverse(B6:C7)
と入力し、 Ctrl + Shift + Enter を押してください。次に行列積を計算します。セル I6 と I7 を選択して
=mmult(E6:F7,G2:G3)
と入力して Ctrl + Shift + Enter で解を得ます。ご自身で係数の値を色々変えて、解がどう変化するかを確認してください。
エクセルや数学に関するコメントをお寄せください
参考になりました。
=mmult(E6:E7,G2:G3)ではなく
=mmult(E6:F7,G2:G3)ではないでしょうか?
御指摘の通りです。申し訳ありませんでした。
明日までに記事を修正しておきます。