Excel で連立方程式を解きます

 この記事では 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 で解を得ます。ご自身で係数の値を色々変えて、解がどう変化するかを確認してください。

コメント

  1. 匿名 より:

    参考になりました。

    =mmult(E6:E7,G2:G3)ではなく
    =mmult(E6:F7,G2:G3)ではないでしょうか?

    • Blog Cat より:

       御指摘の通りです。申し訳ありませんでした。
       明日までに記事を修正しておきます。

タイトルとURLをコピーしました