流体力学から数値計算まで

広告


・ガウスの消去法

ガウスの消去法は、直接、連立方程式を解く方法です。

この解法で3元1次方程式を解いてみます。

\[ \left\{ \begin{aligned} a_1x_1+b_1y_1+c_1z_1&=d_1\\[6pt] a_2x_2+b_2y_2+c_2z_2&=d_2\\[6pt] a_3x_3+b_3y_3+c_3z_3&=d_3 \end{aligned} \right. \]

上式を行列式で表すと次式となります。

\[ \begin{pmatrix} a_1&b_1&c_1\\ a_2&b_2&c_2\\ a_3&b_3&c_3 \end{pmatrix} \begin{bmatrix}x\\y\\z\end{bmatrix} = \begin{pmatrix}d_1\\d_2\\d_3\end{pmatrix} \]

これを次式の形に直すと変数がわかります。

\[ \begin{pmatrix} 1&0&0\\ 0&1&0\\ 0&0&1 \end{pmatrix} \begin{bmatrix}x\\y\\z\end{bmatrix} = \begin{pmatrix}p_1\\p_2\\p_3\end{pmatrix} \]


1つの行列で表すと次式となります。

\[ \begin{pmatrix} a_1&b_1&c_1&d_1\\ a_2&b_2&c_2&d_2\\ a_3&b_3&c_3&d_3 \end{pmatrix} \]

手順1.
    ・1行目を係数a1で割る。
    ・2行目を係数a2で割る。
    ・3行目を係数a3で割る。

\[ \begin{pmatrix} 1&\dfrac{b_1}{a_1}&\dfrac{c_1}{a_1}&\dfrac{d_1}{a_1}\\ 1&\dfrac{b_2}{a_2}&\dfrac{c_2}{a_2}&\dfrac{d_2}{a_2}\\ 1&\dfrac{b_3}{a_3}&\dfrac{c_3}{a_3}&\dfrac{d_3}{a_3} \end{pmatrix} \]

手順2.1行目を引く。

\[ \begin{pmatrix} 1&\dfrac{b_1}{a_1}&\dfrac{c_1}{a_1}&\dfrac{d_1}{a_1}\\ 0&\dfrac{b_2}{a_2}-\dfrac{b_1}{a_1}&\dfrac{c_2}{a_2}-\dfrac{c_1}{a_1}&\dfrac{d_2}{a_2}-\dfrac{d_1}{a_1}\\ 0&\dfrac{b_3}{a_3}-\dfrac{b_1}{a_1}&\dfrac{c_3}{a_3}-\dfrac{c_1}{a_1}&\dfrac{d_3}{a_3}-\dfrac{d_1}{a_1} \end{pmatrix} \]

手順3.係数を次式で置き換える。

\[ \begin{pmatrix} 1&\dfrac{b_1}{a_1}&\dfrac{c_1}{a_1}&\dfrac{d_1}{a_1}\\ 0&s_1&s_2&s_3\\ 0&t_1&t_2&t_3 \end{pmatrix} \]

手順4.
    ・2行目を係数s1で割る。
    ・3行目を係数t1で割る。

\[ \begin{pmatrix} 1&\dfrac{b_1}{a_1}&\dfrac{c_1}{a_1}&\dfrac{d_1}{a_1}\\ 0&1&\dfrac{s_2}{s_1}&\dfrac{s_3}{s_1}\\ 0&1&\dfrac{t_2}{t_1}&\dfrac{t_3}{t_1} \end{pmatrix} \]

手順5.2行目を引く。

\[ \begin{pmatrix} 1&\dfrac{b_1}{a_1}&\dfrac{c_1}{a_1}&\dfrac{d_1}{a_1}\\ 0&1&\dfrac{s_2}{s_1}&\dfrac{s_3}{s_1}\\ 0&0&\dfrac{t_2}{t_1}-\dfrac{s_2}{s_1}&\dfrac{t_3}{t_1}-\dfrac{s_3}{s_1} \end{pmatrix} \]


連列方程式に直すと次式となります。 z→ y→ xの順番に変数が計算できます。

\[ \left\{ \begin{aligned} x+\frac{b_1}{a_1}y+\frac{c_1}{a_1}z&=\frac{d_1}{a_1}\\[6pt] y+\frac{s_2}{s_1}z&=\frac{s_3}{s_1}\\[6pt] \left(\frac{t_2}{t_1}-\frac{s_2}{s_1}\right)z&=\frac{t_3}{t_1}-\frac{s_3}{s_1} \end{aligned} \right. \]
\[ \begin{pmatrix} 1&\dfrac{b_1}{a_1}&\dfrac{c_1}{a_1}\\ 0&1&\dfrac{s_2}{s_1}\\ 0&0&\dfrac{t_2}{t_1}-\dfrac{s_2}{s_1} \end{pmatrix} \begin{bmatrix}x\\y\\z\end{bmatrix} = \begin{pmatrix} \dfrac{d_1}{a_1}\\ \dfrac{s_3}{s_1}\\ \dfrac{t_3}{t_1}-\dfrac{s_3}{s_1} \end{pmatrix} \]

・ポイント

割り算をする係数が0の場合は、計算ができません。 係数が0となる場合は、列を入れ替える必要があります。 割り算をする係数は、aii成分です。


prev | up | next

カウンタ

(2011.3.15~)