【Excel】行列の積、逆行列、転置行列の計算

エクセルで行列の計算をするときの最大のポイントは、計算式を入力後

 

を同時に押すことです。

 

エクセルのヘルプを見ても、この事はどこに書いてあるのか?分からないので、ちょっとハマりやすいかもしれません。(私ははまりました。)

 

行列の積[MMULT(行列1,行列2)]

まず、行列の積の計算を行う行列を入力しておきます。
次に行列の積の計算結果を表示するセルを選択します。

 

 

セルを選択した状態で、行列の積の計算式

 

= MMULT(行列1, 行列2)

 

を入力します。

 

 

ここで、EnterではなくCtrlキーとShiftキーとEnterキーを同時に押します。

 

 

逆行列[MINVERSE(行列)]

逆行列に関しても同様に

 

=MINVERSE(行列)

 

と入力します。

 

 

ここで、EnterではなくCtrlキーとShiftキーとEnterキーを同時に押します。

 

 

転置行列[TRANSPOSE(行列)]

転置行列の計算式は

 

=TRANSPOSE(行列)

 

となります。

 

 

クドいですが、EnterではなくCtrlキーとShiftキーとEnterキーを同時に押します。

 

 

この行列の積、逆行列、転置行列がエクセルで解けると何が良いか?というと、

 

●連立方程式
●座標の回転
●最小二乗法
●擬似逆行列(一般逆行列)

 

などが解けるようになります。
これらを知らないと、いちいちプログラムを組んで計算の検証をしたりもしますが、
エクセルで出来るようになると、とっても簡単、お手軽です。

ガウスの消去法

ガウス(Gauss)の消去法は連立一次方程式を解くのに用いられます。

 

基本的な方針は、下記のような連立一次方程式

 

 

を行列であらわすと、

 

 

となりますが、対角成分を全て、左下の成分をになるように、行の入替えや足し算、引き算などを行い、下記の行列になるように調整します。

 


(?の部分は任意の値で可)

 

これまでの処理を前進消去といいます。
ここで、最後の行の部分(3の部分)に着目すると、答えが確定しています。
この値を使って最後から2行目の値を計算すると答えが算出できます。
このように最後の行から順々に計算すると答えが全て計算することができます。
この処理は後退代入といいます。
この前進消去と後退代入の処理を合わせてガウスの消去法といいます。

 

さらに、前進消去のときに対角成分を1にするときの割り算の計算のときにおいて、
ピボット選択を行ったGauss-Jordan法でも説明しましたが、

 

  • 0(ゼロ)で割ることはできない。
  • 値を絶対値の小さい値で割ると、値に誤差が含まれる場合、計算結果に大きく影響が出てしまう。

     

    という性質を考慮します。

     

    ということで、以下、具体的な計算例を示します。

     

    連立一次方程式


     

    のうち、まず最初に1の項のどれか1つを1にするのですが、割り算の計算で誤差が少なくなるように、1の係数が一番大きい2行目の式を一番上に持ってきます。

     

     

    次に1行目の式の1の係数がになるように1行目の式全体を1の係数()で割ります。

     

     

    次に1行目以下の式の1の項が消えるように、
    2行目-1行目×23行目-1行目を計算します。

     

     

    ここで、3行目の式の3の項(行列で表現すると対角成分)が消えてしまったので、
    このままだと対角成分をにできないので、2行目3行目を入れ替えます。

     

     

    次に2行目の式の2の係数をにするように、2行目の式全体に3/2を掛けます。

     

     

    次に2行目以下の2の項が消えるように3行目+2行目 × 2/3を計算します。

     

     

    3行目の式のの係数はすでになので、前進消去はこれで終了です。
    この3本の式を行列であらわすと

     

     

    というように、対角成分が全てがで左下の成分がになったことが分かります。

     

    次に後退代入です。

     

    一番下の行の式はすでに答えが確定(X3 = 3)しているのがわかります。
    一番下の答えを用いて、下から2行目の式の答えを計算、
    一番下、下から2行目の答えを用いて下から3行目の式の答えを計算していきます。
    (今回の例だけ特別に、下から2行目の式の答えが確定してしまっています。)

     

     

    こうして全ての答えが求まります。

     

     

    この一連の処理がガウスの消去法です。

     

    このガウスの消去法を用いると、連立方程式を求めたり、最小二乗法の未知数を
    求めることができます。

     

    使える数学へ戻る

     

    逆行列(Gauss-Jordan法)

    2×2行列の逆行列

    行列

    の逆行列は

    となります。
    ただし、ad-bc = 0 のとき、逆行列は存在しません。

     

    3×3以上の行列の逆行列

    逆行列を解く手法はいくつかありますが、ここでは比較的分かり易いGauss-Jordan法を紹介します。

     

    Gauss-Jordan法では行列の右側に単位行列を付けたして、行ごとに掛け算、足し算、引き算を行い、行列の左側が単位行列になるように計算を繰り返し、最後に右側に残った行列が逆行列となります。

     

    といっても分かりづらいと思うので、具体的な計算例は以下の通りです。

     

    行列

    の右側に単位行列を追加します。

    1行1列目の要素が1となるように1行目2で割ります

    1列目の要素が(1 0 0)となるように

    [2行目] = [2行目]ー[1行目]
    [3行目] = [3行目]ー[1行目]×4

    を計算します。

    2行2列目の要素が1となるように2行目2倍します。

    2列目の要素が(0 1 0)となるように

    [1行目] = [1行目]ー[2行目]×3/2
    [3行目] =
    [3行目]+[2行目]

    を計算します。

    ここで、3行3列目の要素はすでに1なので、3列目の要素が(0 0 1)となるように

    [1行目] = [1行目]+[3行目]×2
    [2行目] = [2行目]ー[3行目]×2

    を計算します。

    これで、左側が単位行列となり、右側に出来た行列が求める逆行列となります。

     

    ただ、このままの方法では、求める行列の対角要素(行数と列数の同じ場所)に0(ゼロ)がある場合は対角要素を1に出来ない(0で割れない)ので、ここにピボット選択という手法を導入します。
    このピボット選択についてはピボット選択を行ったGauss-Jordan法にて紹介しています。

     

    使える数学へ戻る