EXCELでの行列演算
1. 転置行列を求める。
このA’は、行列Aの行と列を入れ替えた行列である。
関数では =TRANSPOSE(行列範囲)で求める。
関数ウィザードを使用して求めてもよいし、キーボードから直接入力してもよい。
1.1 関数ウィザードを使用する
(1)元の行列Aを入力しておく。
(2)転置行列を求めたい先頭のセルをクリックする。
(3)関数ウィザードのfxのアイコンをクリックする。関数ウィザードが起動するので、その中の検索/行列をクリックし、次にTRANSPOSEをクリックする。
(4)TRANSPOSE関数で、転置行列を求めたい行列の範囲を指定する。
範囲指定には、範囲指定ボタンをクリックし、次に範囲をドラッグし、範囲指定終了ボタンをクリックする。最後にOKボタンをクリックする。
#VALUEと表示されるが、この式を配列展開する。
キーボードから直接関数:「=TRANSPOSE(」と入力し、次に行列Aの範囲をドラッグし、最後に「)」と入力してもよい
(5)元の行列Aは2行3列であるから、その転置行列A'は3行2列になる。
先頭の式を始点にして、3行2列分ドラッグし、次に数式バーをクリックする。
(6)CTRLキー+SHIFTキー+ENTERキーを押して展開を実行する。
転置行列は、元の行列を行・列を入れ替えるだけであるから、目で見ながら直接数値を入力してもよいが、間違って入力することや、元の行列の値を変更した時に再度目で見ながら訂正入力しなければならない。このTRANSPOSE関数を使用しておけば、間違いはないし、元の行列の値を変更すると、それに応じて自動的に再計算されて、正しい値となる。
2.1 逆行列を求める。
逆行列を求めるには、元の行列が正方行列(行数・列数共に同じ大きさの行列)でなければならない。
このA-1は、手計算で求めるのは面倒である。
逆行列を求める関数:=MINVERSE(行列範囲)を使用すれば簡単に求められる。操作方法は、転置行列の時と同じ方法で行う。
(1)元の行列Aを入力しておく。
(2)逆行列を求めたい先頭のセルをクリックする。
(3)関数ウィザードのfxのアイコンをクリックする。関数ウィザードが起動するので、その中の数学/三角をクリックし、次にMINVERSEをクリックする。
MINVERSE関数のボックスが開くので、範囲指定ボタンをクリックし、元の行列範囲をドラッグして指定後、範囲指定終了ボタンをクリックし、最後OKボタンをクリックする。
元行列Aが3行・3列であるから、逆行列も3行・3列分必要である。先頭のセル位置から3行3列分ドラッグし、次に数式バーをクリックし、CTRLキー+SHIFTキー+ENTERキーを押して展開する。
2.2 もとの行列が対角行列である時の逆行列を求める。
正方行列で、対角成分以外はすべて0のような行列を対角行列という。元の行列Aが、この対角行列である時、その逆行列は非常に簡単となる。
いま正方行列で、対角成分が、1,2,3,4であり、他の成分はすべて0であるような対角行列Aがあるとする。
A-1/2 = (A1/2)‐1 であるから、A‐1/2を求めるには、最初に各成分の平方根を求め、続けてその逆行列を求めればよい。
3. 行列式を求める。
正方行列Aにおいて、その行列式 |A| を求める。
行列式を求める関数:=MDETERM(行列範囲)を使用する。
正方行列Aを入力しておく。答えを表示させたいセル位置をクリックする。関数ウィザードのアイコンfxをクリックし、関数指定ボックスを開く。数学/三角をクリックし、続けてMDETERMをクリックする。
MDETERM関数ボックスが開くので、行列式を求めたい行列範囲をドラッグし、OKボタンをクリックする。
4. 行列の積を求める。
行列Aがl行m列、行列Bがm行n列であれば、その行列の積は、l行n列となる。
行列Aが4行3列。行列Bが3行2列であれば、行列の積A・Bは4行2列となる。
2つの行列の積を求める関数:=MMULT(行列1,行列2)である。
行列の積は、その順番が重要であるから、A・Bを求める時には、行列Aの範囲を行列1の範囲にし、行列Bの範囲を行列2の範囲にしなければならない。
最後に数式バーをクリックした後、CTRLキー+SHIFTキー+ENTERキーで配列展開する。
5. 行列を使用して、連立方程式を解く
行列を使用した方程式は、A・X=B
と書けるで、X=A-1・Bで求められる。
42 X1+ 15 X2+ 24.5X3=56
15 X1+ 31.5 X2+ 21.25X3=26
24.5X1+21.25X2+35.875X3=52
上の方程式を、行列を使用して解く。
とすると、XはAの逆行列A-1とBの積で求められる。
6. 固有値を求める。
主成分分析・正準相関分析・数量化2類・3類などの分析を実施する時には、行列演算で固有値を求めなければならない。固有値を求めるのは、ヤコビ法、べき乗法、三重対角化法などがあるが、いずれも演算を繰り返し実施しなければならず、表計算でこの作業を実施することは難しい。
表計算で簡便的に実施する方法としては、行列式を使用して求めることはできる。
固有値を求める行列式がm行m列であればm固有値はm個求められる。
いま下のように、3行3列の行列式で固有値λを求める。3行3列であるから、固有値λも3つ求められる。
これを解くには、通常3次方程式を解かなければならないが、λを除いた行列Aと、対角成分がλからなる対角行列Bを作成し、A−Bの新しい行列Cを作成する。このCの行列式を関数で求めるようにしておく。最初は対角行列Bの各成分は0にしておき、対角成分の1行1列目に値を入力すると他の対角成分はすべてその値になるように参照式を入力しておく。
|C|の値を見ながら、セルB6に順次数値を入力していくとすぐに再計算されてその結果が|C|に表示される。|C|が+から−に変わるところを見つけ、|C|が10-5程度までの値となった時が固有値の値となる。この点は3つあるのでこの3点を探していく。
B6の値 |
|C|の値 |
3 |
-7.414481 |
2 |
-0.694147 |
1 |
0.0261869 |
0 |
0.7465209 |
-1 |
7.4668549 |
-2 |
26.187189 |
0.5 |
0.0113539 |
0.6 |
-0.02168 |
0.9 |
-0.00078 |
1 |
0.0261869 |