アプリ版:「スタンプのみでお礼する」機能のリリースについて

次ぎの連立方程式をガウス・ザイデル法に従って解け。

2x1+x2=1
x1+2x2=-1

(1)上式をガウス・ザイデル法で解く場合のX1(K)、x2(K)とx1(K-1)、x2(K-2)の間を関係づける反復の式を書け。
(2)初期値をx1(0)=0、x2(0)=0とし、反復回数K=3までのx1(K)、x2(K)を求めよ。

という問題なんですが、今夏休みという関係などで先生との連絡がつかないので質問できません。
教科書を見ながら似たような例題を参考にしながら自力でやってみてるんですが、やり方がわからないところなどがあるので教えて欲しいんです。お願いします。また他のもっと効率のよい解き方などがあったら教えてください。

まず、つまずいているところなんですが、教科書の例題にならってやってみると、上の式を係数行列
A= 2 1
   1 2

という形にし

行列K1とK2および行列Qを書くとなってるんですが、その行列の変換の方法がわからないので実際の問題に置き換えやることができません。

ちなみに教科書の例題は

10x1+3x2+x3=14
-2x1+5x2+x3=4
2x1+5x2+5x3=8

という方程式が

A= 10 3 1
   -2 5 1
    2 1 5

という行列に直され

K1=   0   0 0
   -0.4   0 0
    0.4 0.2 0

K2=0 0.3 0.1
   0   0 0.2
   0   0   0

Q=1.4
  0.8
  1.6

というようになっているんですが、どのようにこのような形にもっていくのかわからないのです。

質問などでわかりにくい部分など多々あると思いますが、よろしくお願いします。

A 回答 (1件)

ガウスザイデル法は反復して解を求める手法ですね。


行列式に書き直さなくても良いのではと思います。
連立方程式の一つを用いてある変数について解き、その解を別の方程式を解いていきます。
この時、まだ値が求まっていない変数については初期値を代入します。
ご質問の方程式をもう少し一般的に書くと、
a*x1+b*x2=A   (1)
c*x1+d*x2=B   (2)
となります。
(2)式について、まずx2について解くと、
x2(1)=(B-c*x1(0))/d
となります。x2(1)の(1)は1回目という意味です。
x1(0)は適当な初期値を入れます。
あなたの場合は0が指定されているとすれば0を入れます。
x2(1)を(1)式に代入してx1について解くと、
x1(1)=(A-b*x2(1))/a
となります。これを式(2)に入れてx2について解くということを延々と繰り返していき、収束すれば終了します。
実際にやってみると、x2→-1, x1→1となると思います。
5回くらいやってみると良く分かると思いますよ。
行列式を使いたい場合は、逆行列を掛けて一気に解くガウスの消去法の法が良いのではという気がしますが。
参考になれば。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
わかりやすい回答だったのでとても参考になりました。
ありがとうございました。

お礼日時:2004/09/14 22:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!