前回は表計算ソフトの基本的な利用法を学んだ。今回は、それを一歩進めて、様々な工学分野で必要になる、多元の連立方程式の行列による表し方、表計算ソフトでの作成法、及びその解法を学ぶ。またこのことを通じて行列演算の有用性を体感し、データ処理の技術を身につける。
機械工学の様々な分野で、以下の様な連立方程式の解を得ることが要求される。
が成立つとすると、未知変数はである。数値的に解を得るため行列表記とすると、
となる。これは即ち、
である。ここで係数行列Aの逆行列A-1を用いれば、以下のように解xが得られる。
では具体的にExcelを用いて行列演算をしてみよう。具体的な例として、
を考える。これを行列表記にすると
となる。まずはこれを以下のようにExcelで表現してみよう。
右辺の係数行列とxには数値を入れ、左辺には行列とベクトルの乗算を行う計算式を入力する。
計算式を入力する左上のセル番地がA1であるとき、ここに入力されるべき計算式は、
=B1*E1+C1*E2+D1*E3
である。A2とA3にも同様に式を入力する。
これで、行列Aとベクトルxの乗算が完成した。右のに様々な数値を入力して、計算が正しく行われているかどうかを確認せよ。
セルA1には以下の行列関数を入力する。
=MMULT(B1:D3,E1:E3)
ここで、MMULT()は行列と行列、または行列とベクトルの乗算を行う関数であり、第1引数は、左側、第2引数は右側の行列あるいはベクトルを示している。MMULT()はまた、配列数式*を返します。従って、セルA1にのみMMULT()を入力しても正しく機能せず、A2とA3にも配列数式を入力する必要がある。この例の場合、A1:A3を選択してからF2キーを押し、その後、Ctrl+Shift+Enterを入力する。
計算式を手入力した場合と結果が同じになるかどうか確認してみよ。
*配列数式:Excelのヘルプを参照の事
では次に、逆行列を作ってみよう。行列式
をExcel上で以下のように作成する。わかりやすくするために、先に作った行列(B1:D3)は残し、その下(以下の例ではB5:D7の部分)に逆行列を作成してみる。
B5への入力が終わったら、MMULT()の時と同様に、B5:B7を選択してからF2を押し、その後、Ctrl+Shift+Enterを入力する。すると、逆行列が以下のように求まる。
最後に、MMULT()を用いて行列とベクトルの乗算を行えば、xを求めることができる。
得られた解は何か? 得られた解を、初めの順計算の式b=Axに代入して、同じbが得られるかどうか、確認してみよ。
その他のExcel組込の行列演算関数には、転置TRANSPOSE()がある。
以下の計算を1つのExcelワークシート上に作成し、作成したExcelファイルを提出せよ。提出期限は来週正午までとする。
![]() 位置ベクトルの回転(図中の座標は一例) |