前のページ
-
こういう問題はどうでしょう?
$ \left(
\begin{array}{cccc}
3 & 4 & 9 & 8 \\
0 & 5 & 6 & 6 \\
0 & 0 & 4 & 1 \\
0 & 0 & 0 & 7
\end{array}
\right)
\left(
\begin{array}{c}
x_1\\
x_2\\
x_3\\
x_4
\end{array}
\right)
=
\left(
\begin{array}{c}
25\\
12\\
103\\
44
\end{array}
\right)
$
4行目を見れば$x_4$が$44/7$と分かり、
それを使えば$4x_3+x_4 =103$だから$x_3$もわかり、、、、
左下が全部0なので簡単です。
こういうのを「右上三角行列」というそうです。
上のほう(Upper)にしか数値がないので、これに$U$という名前を付けます。
$ \left(
\begin{array}{ccccc}
u_{11} & u_{12} & u_{13} & u_{14} & u_{15} \\
0 & u_{22} & u_{23} & u_{24} & u_{25} \\
0 & 0 & u_{33} & u_{34} & u_{35} \\
0 & 0 & 0 & u_{44} & u_{45} \\
0 & 0 & 0 & 0 & u_{55}
\end{array}
\right)
\left(
\begin{array}{c}
x_1\\
x_2\\
x_3\\
x_4\\
x_5
\end{array}
\right)
=
\left(
\begin{array}{c}
b_1\\
b_2\\
b_3\\
b_4\\
b_5\\
\end{array}
\right)
$
下から順にやっていけば無理なくできます
$u_{55}x_{5} = b_{5}$
$u_{44}x_{4} = b_{4} - u_{45}x_{5}$
$u_{33}x_{3} = b_{3} - u_{35}x_{5}- u_{34}x_{4}$
$u_{22}x_{2} = b_{2} - u_{25}x_{5}- u_{24}x_{4}- u_{23}x_{3}$
$u_{11}x_{1} = b_{1} - u_{15}x_{5}- u_{14}x_{4}- u_{13}x_{3}- u_{12}x_{2}$
$x_5$, $x_4$, $x_3$, ... は
右辺を$u_{55}$,$u_{44}$,$u_{33}$, ... で割れば求まります。
右辺をr (rightだからr)、
式中の、$u_{14}x_{4}$の4みたいなところをkと置けば
r = b[1];
for(k=5; k > 1; k--){
r = r - u[1][k]*x[k];
}
x[1] = r/u[1][1];
x[2]を求めるなら
r = b[2];
for(k=5; k > 2; k--){
r = r - u[2][k]*x[k];
}
x[2] = r/u[2][2];
x[1] から x[5] まで全部求めるなら、今変わったところをi とおいて
i=5 から順に
for(i=5; i > 0; i--){
r = b[i];
for(k=5; k > i; k--){
r = r - u[i][k]*x[k];
}
x[i] = r/u[i][i];
}
でいいですよね。
5行で終わらず、$n$元連立なら、
$ \left(
\begin{array}{ccccc}
u_{11} & u_{12} & u_{13} & ... & u_{1n} \\
0 & u_{22} & u_{23} & ... & u_{2n} \\
0 & 0 & u_{33} & ... & u_{3n} \\
: & : & : & & : \\
0 & 0 & 0 & ... & u_{nn}
\end{array}
\right)
$
|
|
$
\left(
\begin{array}{c}
x_1\\
x_2\\
x_3\\
:\\
x_n
\end{array}
\right)
=
\left(
\begin{array}{c}
b_1\\
b_2\\
b_3\\
:\\
b_n\\
\end{array}
\right)
$
|
さっき5だったところを$n$になおしたらできますね
for(i= n ; i > 0; i--){
r = b[i];
for(k= n; k > i; k--){
r = r - u[i][k]*x[k];
}
x[i] = r/u[i][i];
}
でいいですよね。
これで「右上三角行列」の連立方程式が解けることが分かります。
次へ
|