窶サ鬮伜穀縺九i螟ァ蟄ヲ蛻晏ケエ蠎ヲ蜷代¢縲碁€」遶区婿遞句シ上€�縺ォ縺、縺�※�後%縺ョ繧オ繧、繝医↓縺ッ谺。縺ョ謨呎攝縺後≠繧翫∪縺呻シ�
縺薙�鬆√∈Google繧ШAHOO ! 縺ェ縺ゥ縺ョ讀懃エ「縺九i逶エ謗・譚・縺ヲ縺励∪縺」縺溘�縺ァ縲悟燕謠舌→縺ェ縺」縺ヲ縺�k蜀�ョケ縺悟�縺九i縺ェ縺�€阪→縺�≧蝣エ蜷医d縲後%縺ョ鬆√�蛻�°縺」縺溘′繧ゅ▲縺ィ蠢懃畑蝠城。後r隕九◆縺�€阪→縺�≧蝣エ蜷医��御サ悶�鬆√r隕九※縺上□縺輔>��縲€ 縺檎樟蝨ィ蝨ー縺ァ縺呻シ�
竊�陦ィ險育ョ励が繝シ繝医ヵ繧」繝ォ縺ョ菴ソ縺�婿
竊�Excel縺ョ陦悟�險育ョ�(1) 陦悟�縺ョ遨�
竊�譛ェ遏・謨ー縺鯉ス主€九〒騾�。悟�繧堤畑縺�※隗」縺丞�エ蜷�-迴セ蝨ィ蝨ー
竊�繧ッ繝ゥ繝。繝シ繝ォ縺ョ蜈ャ蠑上〒隗」縺丞�エ蜷�
竊�繧ッ繝ゥ繝。繝シ繝ォ縺ョ蜈ャ蠑擾シサ蝠城。鯉シス
竊�wxMaxima縺ァ隗」縺丞�エ蜷�
竊�荳崎�隗」繝サ荳榊ョ夊ァ」縺悟�繧句�エ蜷�
竊�蜷�(蝗コ譛峨�繧ッ繝医Ν)
竊�陦悟渕譛ャ螟牙ス「縺ィ謗�″蜃コ縺玲ウ輔↓繧医k蝣エ蜷�
竊�蜷�(荳榊ョ夊ァ」)
竊�騾」遶区婿遞句シ�(縺セ縺ィ繧�)
2谺。2谺。騾」遶句ス「

== 連立方程式の解き方 ==
 この頁では,未知数の個数と方程式の個数とが等しい(*)ような連立1次方程式の解き方を扱う.さらに,係数行列に逆行列が存在する場合(**)だけを扱う.

 内容的には,
(1)筆算により代数的に解く方法を簡単に振り返り

(2)Excelで解く方法
(3)wxMaximaで解く方法
を使って確かめることを考える.

(*)
 方程式の個数が未知数の個数よりも少ない連立1次方程式は,一般に不定解をもつ.この頁ではこれは扱っていない.また,方程式の個数が未知数の個数よりも多い連立1次方程式は,一般には解が存在しない.この頁ではこれも扱っていない.
 この頁では方程式の個数と未知数の個数が等しく,解がただ1通りに確定する場合のみを扱う.

(**)
 係数行列に逆行列が存在しないときは方程式の解はただ1通りには確定しない.この頁ではこれは扱っていない.


【 係数行列とは 】
○ - - - 未知数が2個のとき - - -
 x , yを未知数とする連立1次方程式…(*1)は,行列を用いて
…(*2)
のように書くことができる.
なぜなら,(行列の形が同じで)対応する成分が等しいとき,2つの行列は等しいので,(*2)式が成り立つときは
1行1列成分が等しい → ax+by=p
2行1列成分が等しい → cx+dy=q
となり,(*1)に一致するから.
 このように連立1次方程式を(*2)の形 A>xw=>bw で表すとき,行列係数行列という.
 このとき,未知数の組は列ベクトル(2×1行列)で表され,右辺の定数項の組は列ベクトル(2×1行列)で表される.

○ - - - 未知数がn個のとき - - -
 一般に未知数がn個 x1, x2, x3, ··· , xn の連立1次方程式
は,行列を用いて
のように書くことができ,行列の等式 A>xw=>bw に対応させることができる.


■連立1次方程式の解き方

 未知数がn個 x1, x2, x3, ··· , xn ,方程式がn個の連立1次方程式
は,行列を用いて
のように書くことができる.この連立方程式を係数行列Aを用いて
A>xw=>bw
と表すとき,Aの逆行列A−1が存在すれば,連立方程式の解は次の方法で解くことができる.(どちらでも解ける)

(1) 逆行列を用いる方法
>xw=A−1>bw
(2) クラメールの公式(Cramer’s fomula)による方法
xi=
※ 行列Aの行列式をdet(A)で表す.・・・|A|と書かれることも多い.

(1)の簡単な解説
 Aの逆行列A−1が存在すれば,
A>xw=>bw
に左からA−1を掛けると
A−1 A>xw=A−1 >bw
ここで
A−1 A=EEは単位行列
任意のn次元列ベクトル>bwに対してE>bw=>bw
だから
>xw=A−1 >bw
(2)の解説は長くなる.
例1 次の連立方程式を解け.
(解答)
(1) 逆行列による方法
 係数行列の逆行列を求めるととなるから, …(答)
(2)クラメールの公式による方法
=−2
=−4=2
=0だから
x1= .-4-2nn = 2x2= .2-2nn = -1x3= .0-2nn = 0 …(答)

■ Excelによる解き方
○ 上のような方法で連立方程式の解が求められるということが分かれば,実際の数値計算はExcelによって行うことができる.・・・ただし,Excelでは解は小数(または指数表示)で示されるので,
▼「解が分数になるときに,どのような分数を表しているかを調べるには工夫を要する」 …(***)
▼「解が5nnnnのような無理数になるときに近似値で表された小数から元の無理数を推測するのは難しい」

(***) 右のA5:C7のように数値が分数になるときは,分母が3桁以下なら「セルの書式→分数→3桁増加」により,分数表示される.このとき,仮分数は対分数を使って表示される( 4/3 → 1 1/3 など).また,負の仮分数は整数部分にのみ符号が付く( -4/3 → -1 1/3 など)
 元の係数行列や定数項が整数で,求めた逆行列や解の分母が4桁以上の分数になるときは,分母がdet(A)になることが原因なので,det(A)倍しておくと整数係数になる・・・ただし,結果もdet(A)倍になっていることを途中で忘れてはいけない.
  A B C D E F G
1 1 2 3   2   0.000
2 1 -1 2   -1   3.000
3 0 1 1   0   -1.000
4              
5 1 1/2 - 1/2 -3 1/2   0   2.000
6 1/2 - 1/2 - 1/2   3   -1.000
7 - 1/2 1/2 1 1/2   -1   0.000



○ [逆行列による方法]で連立方程式を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 >bwを計算するためにE5:E7(水色の部分)に問題の右辺にあった定数項の列ベクトルを書き込む.
・「行ベクトルと行ベクトルの積」(横向きの並びと横向きの並びの積)や「列ベクトルと列ベクトルの積(縦向きの並びと縦向きの並びの積)」を求めるには=SUMPRODUCT(範囲1:範囲2)とするが,今行いたいのは「行×列=行列の各成分」という計算で,これを求める関数はMMULT(行列1:行列2)となっている.
・G5に=MMULT(A5:C7,E5:E7)と書きこむ. (直接入力してもよい.関数の挿入からメニューをたどって書き込んでいくときは,
fxをクリックして関数の挿入メニューを出す
・関数の分類は「すべて表示」または「数学/三角」とする
・関数名はMMULTとする → OK
・配列で行列 A−1の範囲を選択してから「カンマ」を入れて,次にベクトル >bwの範囲を選択する)
※左に青で示したときと同様に,配列(行列)にするにはG5:G7の範囲を選択してから Ctrl+Shift+Enter とする.

 Excelでは数値の表示設定次第では小数が四捨五入されて整数でない数値も整数で表示されることがあるので,小数の桁も表示されるようにしておくと早合点しなくて済む.

実際に計算すると「範囲選択のミス」「関数のとり違い」「考え方の間違い」など様々な間違いが起こるので,検算しておくとよい.そのためには,元の行列行列 Aと求めた解との積が右辺の定数ベクトルになっていることを確かめればよいので,E1:E3に解のベクトルを書き込み,G1:G3にそれらの積を求めてベクトル >bwと一致していることを確かめるとよい.
○ [クラメールの公式]で連立方程式をExcelで解くには次のようにすればよい.
・係数行列と右辺の定数項からなる列ベクトルを用意する.
・係数行列をコピーしたものを必要個数作り,各々の1列目,2列目,・・・にベクトル >bwを上書きする.
・行列式を求める関数 MDETERM(行列の範囲) を使って,各々の行列式を求める・・・これらは単なる数字になる.
・求めたdet(A)で順に割れば答になる.
問題 次の表において黄色で示した部分が係数行列,水色で示した部分が右辺の定数項からなる列ベクトルとするき,この連立方程式の解を求めよ.
 (Web画面をドラッグ・コピーしてからExcelに貼り付けるとよい.)
(1)
2 3   3
3 4   -1
(2)
-3 2 0   -3
1 -1 2   2
4 0 5   4
(3)
2 3 -1 6   2
1 2 -3 3   0
0 1 2 1   1
1 -1 0 1   4
(解答)
(1)
-15
11
(2)
11/21
- 5/7
8/21
(3)
23
8
2
-11

■ wxMaxima による解き方
(フリーの数学用ソフトwxMaximaのインストール方法は→この頁

○[その1]…普通に連立一次方程式として解くには
【例1】
1x+2y=3
3x+4y=11

を解くには,まず方程式の数は2個と数えます.
次に,次のようにメニューをたどっていきます.
wxMaxima 上で数の積(掛け算)はアスタリスク(*)で表します

変数はカンマで区切ります
「方程式」→「連立一次方程式を解く」
→「方程式の数」として2を入力→OK
方程式1:1*x+2*y=3
方程式2:3*x+4*y=11
変数:x,y
と入力してOKボタンをクリック
[結果]⇒ [x=5,y=-1]
【例2】
2x−3y+4z=5
x+y+3z=6
3x+4y−5z=7

を解くには,まず方程式の数は3個と数えます.
次に,次のようにメニューをたどっていきます.
wxMaxima 上で数の積(掛け算)はアスタリスク(*)で表します

変数はカンマで区切ります
「方程式」→「連立一次方程式を解く」
→「方程式の数」として3を入力→OK
方程式1:2*x-3*y+4*z=5
方程式2:x+y+3*z=6
方程式3:3*x+4*y-5*z=7
変数:x,y,z
と入力してOKボタンをクリック
[結果]⇒
※wxMaximaでは分数の解も既約分数で表示されます.

【例3】



のように方程式や解に根号が含まれる問題も解くことができます.
wxMaxima 上で根号は 各々sqrt(2),sqrt(3)と入力します

出力されるときはとなります
「方程式」→「連立一次方程式を解く」
→「方程式の数」として2を入力→OK
方程式1:sqrt(3)*x+sqrt(2)*y=1
方程式2:sqrt(2)*x+sqrt(3)*y=0
変数:x,y
と入力してOKボタンをクリック
[結果]⇒
【練習用類題】
x+2y=1
2x+6y=0
⇒ x=3 , y=−1

2x−y−3z=−9
x+5y+z=14
⇒ x=1 , y=2 , z=3
−3x−y+2z=1
○[その2]…連立一次方程式を行列を使って解くには
【例1】
3x−4y=2
5x−6y=4

のような連立方程式は,係数行列を使って次のように表わせます.

この式の両辺に左から逆行列を掛けると

すなわち

したがって

一般に,左辺の係数行列をA,右辺の係数行列をBとおくと,
連立方程式
ax+by=p
cx+dy=q

は,行列を使って

と書けるので,Aに逆行列A−1が存在する限り

により直ちに解けます.

「代数」→「手入力による行列生成」

行数:2
列数:2
タイプ:一般
変数名:A
と入力してOKボタンをクリック
成分を 3 -4 5 -6 と入力する.

同様にして 「代数」→「手入力による行列生成」

行数:2
列数:1
タイプ:一般
変数名:B
と入力してOKボタンをクリック
成分を 2 4 と入力する.
wxMaxima 上で行列の積(掛け算)はドット(.)で表します

逆行列は invert()で表します


画面上で空打ちして,入力欄を作り
invert(A).B +Shift+Enter
[結果]⇒

【練習用類題】




...(携帯版)メニューに戻る

...(PC版)メニューに戻る

髫ィ�ス�ソ�ス驍オ�コ髦ョ蜻サ�ソ�ス驛「�ァ�ス�オ驛「�ァ�ス�、驛「譏懶スコ�・�ス�ス驍オ�コ�ス�ョGoogle髫カツ€隲幢ソス�ス�エ�ス�「髫ィ�ス�ソ�ス

髫ィ�ス�ス�ウ驍オ�コ髦ョ蜻サ�ソ�ス驛「譎擾ス」�ケ�ス�ス驛「�ァ�ス�ク驍オ�コ�ス�ョ髯キ閧イ�」�ッ�ス�ス�ス�ュ驍オ�コ�ス�ォ髫ー魃会スス�サ驛「�ァ鬩ォツ€霎滂ス。
驍オ�イ�ス�ス 驛「�ァ�ス�「驛「譎「�ス�ウ驛「�ァ�ス�ア驛「譎「�ス�シ驛「譎会ス」�ッ�つ€遶擾スス�ス�ソ�ス�。 驍オ�イ�ス�ス
… 驍オ�コ髦ョ蜻サ�ソ�ス驛「�ァ�ス�「驛「譎「�ス�ウ驛「�ァ�ス�ア驛「譎「�ス�シ驛「譎冗樟�ス�ス髫ー�ィ陷サ蜿夜ァ�垈�セ�ス�ケ髯懈サゑスソ�ス�ス�ス髯キ�ソ郢ァ迺ーツ€�ス�ス遶企豪�ク�コ髴域喚髮キ驍オ�コ�ス�ヲ驍オ�コ�ス�ス隨ウ�ス�ク�コ�ス�ス驍オ�コ鬮ヲ�ェ遶擾スェ驍オ�コ�ス�ス

髫ィ�ス�ソ�ス驍オ�コ髦ョ蜻サ�ソ�ス鬯ッ�ス�ス遶企豪�ク�コ�ス�、驍オ�コ�ス�ス遯カ�サ�ス�ス霑ケ螢ス�ス驍オ�コ�ス�ス陜ィ謚オ�ソ�ス隴エ�ァ邵コ讙趣スク�コ�ス�ス陜ィ謚オ�ソ�ス驕停或�ソ�」鬯ゥ謌奇スシ雋サ�シ讓抵スク�コ�ス�ョ髫ー蜴�スソ�ス鬩包スュ�ス�ス陟募ィッ關ス驍オ�コ�ス�ョ髣皮判縺假ソス�ス髫イ�「雋企ウカ�ヲ驍オ�コ陟募ィッ譌コ驛「�ァ陟暮ッ会スソ�ス鬯ィ�セ遶擾スス�ス�ソ�ス�。驍オ�コ陷会スア遯カ�サ驍オ�コ闕ウ蟯ゥ蜻ウ驍オ�コ髴郁イサ�シ讖ク�ソ�ス�ス�ス
髫ィ�ウ陋ケ�コ隴ォ螟撰ソス�ス�ス驍オ�コ�ス�ョ髯溷私�ス�「驛「�ァ陋幢スオ�ス�ス驍オ�コ�ス�ヲ驍オ�コ�ス�ス�ス邇厄スォ�「雋企ウカ�ヲ驍オ�コ�ス�ッ髯キ闌ィ�ス�ィ鬯ゥ蟷「�ス�ィ鬮ォ�ア�ス�ュ驍オ�コ�ス�セ驍オ�コ陝カ蜷ョツ€�サ驛「�ァ郢ァ�ス�ス閾・�ク�コ�ス�」驍オ�コ�ス�ヲ驍オ�コ�ス�ス遶擾スェ驍オ�コ陷サ�サ�ス�シ�ス�ス
髫ィ�ウ陋ケ�コ隨渉€髫イ�ス�ス�ウ驍オ�コ�ス�ョ髯キツ€�ス�ス邵イ謚オ�ソ�ス陟募ィッ�ス驍オ�コ�ス�ョ髯懶ソス陜楢カ」�ス�。陟募ィッツ€�イ驍オ�コ�ス�ゥ驍オ�コ�ス�ス邵イ蝣、�ク�コ郢ァ�ス螟「驍オ�コ雋�シ会スー驛「�ァ陷サ闌ィ�ス�ュ�ス�」鬩墓慣�ス�コ驍オ�コ�ス�ェ髫エ�ス�ソ�ス�ス�ォ�ス�ス驍オ�コ�ス�ァ髣費スィ隴擾スエ遶擾スエ驍オ�コ�ス�ヲ驍オ�コ�ス�ス隨ウ�ス�ク�コ�ス�ス驍オ�コ�ス�ス隨ウ�ス�ャ�セ�ス�ケ髯懈サゑスソ�ス�ス�ヲ遶擾スオ隰泌調�ク�コ�ス�ォ髯晢ソス�ス�セ驍オ�コ陷会スア遯カ�サ驍オ�コ�ス�ッ�ス�ス隰疲コキ�コ�ス螯呻ソス�ス驍オ�コ�ス�ェ鬯ョ�ッ髣企ッ会スス鬘俶ア橸ソス�セ髯滂ス「隲帛イゥ�ス驛「�ァ闕オ譎「�ス閧イ�ク�コ�ス�ス遶企豪�ク�コ陷会スア遯カ�サ驍オ�コ�ス�ス遶擾スェ驍オ�コ陷サ�サ�ス�シ髮懶ス」�ス�シ鬩包スコ�つ€�ス�サ驍オ�コ�ス�ェ驍オ�コ陞ゑソス�ス�シ隴エ�ァ陋サ�、髫ー�ヲ�ス�ス陜趣スェ驍オ�コ�ス�ェ髫エ�ス�ソ�ス�ス�ォ�ス�ス驍オ�コ�ス�ォ驍オ�コ�ス�ェ驍オ�コ�ス�」驍オ�コ�ス�ヲ驍オ�コ�ス�ス�ス邇匁捗�ス�エ髯キ�キ陋ケ�サ�ス�ス�ス�ス陟募ィッ關ス驛「�ァ陟暮ッ会スス螳壽€ヲ�ス�ャ鬯ョ�「闕オ譏カ�ス驛「�ァ闕オ譏カ�ス鬩包スイ�ス�ス�つ€�ス�ス隨�ス。驍オ�コ闔会ス」邵イ蝣、�ク�コ�ス�ェ驍オ�コ陷托スー�ス�ェ�ス�ュ鬮「�ス�ス�ス�ス繧句擅�ス�ュ驛「�ァ�つ€驍オ�コ髦ョ蜷ョ�ス驍オ�コ�ス�ォ驍オ�コ�ス�ェ驛「�ァ驗呻スォ遶擾スェ驍オ�コ陷キ�カ�ス�ス驍オ�コ�ス�ァ�ス�ス隴エ�ァ雎撰スサ鬨セ蛹�スス�ィ驍オ�コ陷会スア遶擾スェ驍オ�コ陝カ蜻サ�ス髮」�ソ�ス髮懶ス」�ス�シ�ス�ス


鬮ョ莨夲スス�ェ髯懶ソス闕ウ蟯ゥ�ス髯晢ソス�ス�セ驍オ�コ陷キ�カ�ス邇匁綜隶捺慣�ス�ュ隴∵腸�ソ�ス髣包スウ�ス�ュ髯晢ソス�ス�ヲ髴大」シ迴セ�ス�ス驍オ�コ髦ョ蜻サ�ソ�ス鬯ッ�ス�ソ�ス�ス�ス驕抵ソス�ス�ォ闖ォ�カ�ス�ス�ス�。髴大」シ迴セ�ス�ス驍オ�コ髦ョ蜻サ�ソ�ス鬯ッ�ス�ソ�ス驍オ�コ�ス�ォ驍オ�コ郢ァ�ス�ス鬘費スク�コ�ス�セ驍オ�コ�ス�ス