■連立方程式の解き方
|
この頁では,未知数の個数と方程式の個数とが等しい(*)ような連立1次方程式の解き方を扱う.さらに,係数行列に逆行列が存在する場合(**)だけを扱う.
■連立1次方程式の解き方
※ 行列Aの行列式をdet(A)で表す.・・・|A|と書かれることも多い.未知数がn個 x1, x2, x3, ··· , xn ,方程式がn個の連立1次方程式 ![]() ![]() (1) 逆行列を用いる方法 ![]() (1)の簡単な解説 Aの逆行列A−1が存在すれば,
A=
に左からA−1を掛けると
A−1 A=A−1
ここで
A−1 A=E … Eは単位行列
だから
任意のn次元列ベクトルに対してE=
=A−1
(2)の解説は長くなる.
|
(←*) 方程式の個数が未知数の個数よりも少ない連立1次方程式は,一般に不定解をもつ.この頁ではこれは扱っていない.また,方程式の個数が未知数の個数よりも多い連立1次方程式は,一般には解が存在しない.この頁ではこれも扱っていない. この頁では方程式の個数と未知数の個数が等しく,解がただ1通りに確定する場合のみを扱う. (←**) 係数行列に逆行列が存在しないときは方程式の解はただ1通りには確定しない.この頁ではこれは扱っていない. 【 係数行列とは 】 ○ - - - 未知数が2個のとき - - - x , yを未知数とする連立1次方程式 …(*1)は,行列を用いて
…(*2)
なぜなら,(行列の形が同じで)対応する成分が等しいとき,2つの行列は等しいので,(*2)式が成り立つときは
このように連立1次方程式を(*2)の形 A= で表すとき,行列1行1列成分が等しい → ax+by=p 2行1列成分が等しい → cx+dy=q となり,(*1)に一致するから. を係数行列という.このとき,未知数の組は列ベクトル(2×1行列) で表され,右辺の定数項の組は列ベクトル(2×1行列) で表される.○ - - - 未知数がn個のとき - - - 一般に未知数がn個 x1, x2, x3, ··· , xn の連立1次方程式 ![]() ![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
例1 次の連立方程式を解け.
(解答)![]() (1) 逆行列による方法 係数行列 の逆行列を求めると となるから,
…(答)
|
(2)クラメールの公式による方法 =−2 =−4, =2 =0だからx1= = 2,x2= = -1,x3= = 0 …(答) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
(Excelによる解き方) ○ 上のような方法で連立方程式の解が求められるということが分かれば,実際の数値計算はExcelによって行うことができる.・・・ただし,Excelでは解は小数(または指数表示)で示されるので,
▼「解が分数になるときに,どのような分数を表しているかを調べるには工夫を要する」 …(***)
▼「解がのような無理数になるときに近似値で表された小数から元の無理数を推測するのは難しい」 (***) 右のA5:C7のように数値が分数になるときは,分母が3桁以下なら「セルの書式→分数→3桁増加」により,分数表示される.このとき,仮分数は対分数を使って表示される( 4/3 → 1 1/3 など).また,負の仮分数は整数部分にのみ符号が付く( -4/3 → -1 1/3 など) 元の係数行列や定数項が整数で,求めた逆行列や解の分母が4桁以上の分数になるときは,分母がdet(A)になることが原因なので,det(A)倍しておくと整数係数になる・・・ただし,結果もdet(A)倍になっていることを途中で忘れてはいけない. ○ [逆行列による方法]で連立方程式をExcelで解くには次のようにすればよい.
(1) 行列の成分は,右図のように各セルに数値を入力する.
(2) 逆行列を求めるワークシート関数としてMINVERSE()を利用する. (3) 行列の積を求めるワークシート関数としてMMULT()を利用し,これによって解を求めるとともに検算する. (1) 黄色で示したように係数行列を入力する:これが行列A もも色で示したE1:E3の部分は,はじめは空欄にしておく.G1:G3も空白にしておく・・・これらは検算用に使う. (2) 灰色で示した部分に行列Aの逆行列を求める. セルA5に =MINVERSE(A1:C3) と書き込む. (直接入力してもよい.関数の挿入からメニューをたどって書き込んでいくときは, ・fxをクリックして関数の挿入メニューを出す ・関数の分類は「すべて表示」または「数学/三角」とする ・関数名はMINVERSEとする → OK ・配列で元の行列Aの範囲を選択する) ※このとき逆行列の各成分が自動的に書き込まれるのでなくA5には逆行列の(1,1)成分(=単なる数値1つのもの)が書き込まれるので,これをA5:C7の範囲に配列として書き込むためには A5:C7の範囲を選択し反転表示にする 画面上にある数式バーのどこかをポイントしてから Ctrl+Shiftを押しながらEnterキーを押す (続く→) |
(→続き) (3) 次に行列の積A−1 を計算するためにE5:E7(水色の部分)に問題の右辺にあった定数項の列ベクトルを書き込む.
・「行ベクトルと行ベクトルの積」(横向きの並びと横向きの並びの積)や「列ベクトルと列ベクトルの積(縦向きの並びと縦向きの並びの積)」を求めるには=SUMPRODUCT(範囲1:範囲2)とするが,今行いたいのは「行×列=行列の各成分」という計算で,これを求める関数はMMULT(行列1:行列2)となっている.
・G5に=MMULT(A5:C7,E5:E7)と書きこむ. (直接入力してもよい.関数の挿入からメニューをたどって書き込んでいくときは,・fxをクリックして関数の挿入メニューを出す ・関数の分類は「すべて表示」または「数学/三角」とする ・関数名はMMULTとする → OK ・配列で行列 A−1の範囲を選択してから「カンマ」を入れて,次にベクトル の範囲を選択する)
※左に青で示したときと同様に,配列(行列)にするにはG5:G7の範囲を選択してから Ctrl+Shift+Enter とする.
実際に計算すると「範囲選択のミス」「関数のとり違い」「考え方の間違い」など様々な間違いが起こるので,検算しておくとよい.そのためには,元の行列行列 Aと求めた解との積が右辺の定数ベクトルになっていることを確かめればよいので,E1:E3に解のベクトルを書き込み,G1:G3にそれらの積を求めてベクトル と一致していることを確かめるとよい.
Excelでは数値の表示設定次第では小数が四捨五入されて整数でない数値も整数で表示されることがあるので,小数の桁も表示されるようにしておくと早合点しなくて済む. ○ [クラメールの公式]で連立方程式をExcelで解くには次のようにすればよい. ・係数行列と右辺の定数項からなる列ベクトルを用意する. ・係数行列をコピーしたものを必要個数作り,各々の1列目,2列目,・・・にベクトル を上書きする. ・行列式を求める関数 MDETERM(行列の範囲) を使って,各々の行列式を求める・・・これらは単なる数字になる. ・求めたdet(A)で順に割れば答になる. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
問題 次の表において黄色で示した部分が係数行列,水色で示した部分が右辺の定数項からなる列ベクトルとするき,この連立方程式の解を求めよ.
(Web画面をドラッグ・コピーしてからExcelに貼り付けるとよい.) (1)
|
(解答) (1)
|