- ベストアンサー
係数に0の多い連立方程式の解法
- 回路を解くときよく出てくる係数が0の多い連立方程式を素早く解くコツはありますか?
- 3元なら行き当たりばったりで解けますが、6元ぐらいになると少しまごついてしまいます。
- 時間が限られたテストなどで解く場合、慌ててしまいます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
式をよく観察して、虫食いを利用して、消去法で解けばいいじゃないですか。 お書きの連立方程式なら (4),(5),(6)から Q1=CV1 ・・・ (4)' Q2=CV2 ・・・ (5)' Q3=CV3 ・・・ (6)' これらを(1)式に代入 CV3=CV1+CV2 C≠0から V3=V1+V2 ・・・ (7)' (2),(3)から V1=E-V3 ・・・ (2)' V2=2E-V3 ・・・ (3)' (2)',(3)'を(7)'に代入してV3を求める。 3V3=3E ∴V3=E これを(2)',(3)'に代入して V1=0,V2=E (4)',(5)',(6)'から Q1=0,Q2=C*E,Q3=C*E と言った具合に解けばいいです。 ポイント)どの順で変数項を消去して減らして行けばいいか方針を立てる。まず1つの変数を求めたら、消去した逆ルートをたどって、 芋弦式に(機械的に)次々変数を求めて行くだけです。 このような方針を立ててやらないと、消去する変数が、堂々巡りになって、いつまで経っても解けないことにもなりかねません。 順番に1つづつ変数を消去していくつど、変数を書き出していき、(すでに書き出した変数を持ち出すような消去計算を防いで)、確実に未知数を減らして行くことです。そして変数が1つになった所で変数を確定し、書き出しておいた変数の並びを逆順のルートをたどって、機械的に変数を求めてい行けば、すべての未知変数を効率的に決定できます。 ちょっとした工夫をすれは無駄な計算をすることなくすべての未知変数を求めることができます。 ゼロ係数が多い連立方程式は、すでに消去法で未知変数が消去してあるのと同じですから、その性質を上手に利用すれば良いと言うことでしょう。
その他の回答 (3)
- alice_44
- ベストアンサー率44% (2109/4759)
質問の例では、たまたま、 順番に1つづつ変数を消去していくようになりますが、 いつもそこまで簡単だとは限りません。 例えば、 -Q1 -Q2 +Q3 = 0 ・・・・・ (1) V1 +V3 = E ・・・・・ (2) V2 +V3 = 2E ・・・・・ (3) Q1 +Q2 -CV1 = 0 ・・・・・ (4) Q2 -CV2 = 0 ・・・・・ (5) Q1 -Q3 -CV3 = 0 ・・・・・ (6) のような方程式であれば、 (4)~(6) を Q1~Q3 の方程式として解いて、 それを (1)~(3) に代入すればよいのです。 六元六連立方程式であったものが、 三元三連立方程式ふた組に分離されます。 ポイントは、この例の Q1~Q3 のように 最初に注目する未知数としてどれを採るかです。 山勘が大きくものをいう世界ですが、 基本方針としては、式中に登場する回数が少ないもの を選ぶことになると思います。
- alice_44
- ベストアンサー率44% (2109/4759)
掃き出し法だと、基本変形の際、 折角 0 が多い係数行列に わざわざ非 0 要素を増やしてしまう ことがあります。 登場回数の少ない未知数に注目して、 代入法で未知数の個数を減らすのが よいと思います。 質問の例ならば、(4)~(6) を使って Q1~Q3 を V1~V3 で表し、 それを (1)~(3) へ代入して Q1~Q3 を消去すれば、V1~V3 の 三元三連立方程式になります。 これを解いて V1~V3 を求めた後、 (4)~(6) で Q1~Q3 を求める。 この例ほど簡単でなくても、 最初に注目した何個かの未知数以外を 一旦、定数の一部と考えて、 未知数の少ない方程式を解き、 その結果を残りの式へ代入すれば、 今回 Q1~Q3 と V1~V3 を分離したように 注目した未知数と他の未知数を 分離することができます。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
普通に -1 -1 3 0 0 0 | 0 0 0 0 1 0 3 | E 0 0 0 0 1 1 | 2E 1 0 0 -C 0 0 | 0 0 1 0 0 -C 0 | 0 0 0 1 0 0 -1 | 0 と、行列に書き換えて解きますけど???? 最終的に 1 0 0 0 0 0 | A 0 1 0 0 0 0 | B 0 0 1 0 0 0 | C 0 0 0 1 0 0 | D 0 0 0 0 1 0 | G 0 0 0 0 0 1 | H を目指す。