| 連立方程式の共役勾配法による解法 | |||
Start |
|||
変数,配列変数の宣言と初期化 |
|||
\(A\)の初期化 (n=5の場合F7~J11) |
\( s_k = A p_k \) |
||
\( x_k \)の初期化 (n=5の場合K7~K11) |
Rk1 \( = \left( r_k, r_k \right) \) |
||
\( b \)の初期化 (n=5の場合L7~L11) |
Rk1 \( = \left( r_k, r_k \right) \) |
||
\( r_k = b - A x_k \) |
\( \alpha_k = \delta \times \displaystyle \frac{R_{k1}}{\left( p_k, s_k \right)} \) |
||
\( p_k = r_k \) |
\( x_k = x_k + \alpha_k p_k \) |
||
Rk2 ≧ \( \epsilon \) かつ k < kmax の間 |
\( r_k = r_k - \alpha_k s_k \) |
||
\(x_k\)の表示(n=5の場合K7~K11) |
\( R_{k2} = \left( r_k, r_k \right) \) |
||
kの表示(N7セル) |
\( \beta_k = \displaystyle \frac{R_{k2}}{R_{k1}} \) |
||
Rk2の表示(M7セル) |
\( p_k = r_k + \beta_k p_k \) |
||
End |
k = k + 1 |
||
| PAD展開【連立方程式の共役勾配法による解法】 | ||||
Start |
||||
Long型変数で 元数 n の宣言と初期化(H3セル) |
||||
Double型配列変数で\(A\)の宣言 要素番号1~nの2次元配列 |
||||
Double型配列変数で\(x_k\)の宣言 要素番号1~nの1次元配列 |
||||
Double型配列変数で\(b\)の宣言 要素番号1~nの1次元配列 |
||||
Double型配列変数で\(r_k\)の宣言 要素番号1~nの1次元配列 |
||||
Double型配列変数で\(p_k\)の宣言 要素番号1~nの1次元配列 |
||||
Double型配列変数で\(s_k\)の宣言 要素番号1~nの1次元配列 |
||||
Long型変数でkの宣言と 初期化(0) |
||||
Long型変数でkmaxの宣言と 初期化(1000) |
||||
Double型変数でRk1, Rk2の宣言 |
||||
Double型変数で\( \alpha_k, \beta_k \)の宣言 |
||||
Double型変数で\( \delta \)の宣言と 初期化(0.9) |
||||
Double型変数で\( \epsilon \)の宣言と 初期化(0.00001) |
||||
j = 1, n, 1 |
i = 1, n, 1 |
A(j,i) = Cells(6+j,5+i) \(A\)の初期化 (n=5の場合F7~J11) |
||
j = 1, n, 1 |
xk(j) = Cells(6+j,11) \(x_k\)の初期化 (n=5の場合K7~K11) |
\( s_k = A p_k \) |
||
j = 1, n, 1 |
b(j) = Cells(6+j,12) \( b \)の初期化 (n=5の場合L7~L11) |
Rk1 \( = \left( r_k, r_k \right) \) |
||
\( r_k = b - A x_k \) |
\( \alpha_k = \delta \times \displaystyle \frac{R_{k1}}{\left( p_k, s_k \right)} \) |
|||
\( p_k = r_k \) |
\( x_k = x_k + \alpha_k p_k \) |
|||
Rk2 ≧ \( \epsilon \) かつ k < kmax の間 |
\( r_k = r_k - \alpha_k s_k \) |
|||
j = 1, n, 1 |
Cells(6+j,11) = xk(j) \(x_k\)の表示(n=5の場合K7~K11) |
\( R_{k2} = \left( r_k, r_k \right) \) |
||
kの表示(N7セル) |
\( \beta_k = \displaystyle \frac{R_{k2}}{R_{k1}} \) |
|||
Rk2の表示(M7セル) |
\( p_k = r_k + \beta_k p_k \) |
|||
End |
k = k + 1 |
|||