[deepconv/arare/sample]
微分の計算(1)
概要
1 階微分演算ルーチン diff.f90 の動作をテストする.
テストの際の注意点を以下にあげる.
- 微分演算を行った結果得られる関数は, 解析的に微分して得られる関数と一致しているか.
- 繰り返し微分演算を行った時, 関数の形が本来予想される形から平行移動していないか
(例えば, 極大極小となるべき独立変数の値がずれていないか).
テスト結果として元の関数, 微分演算を行った後の関数, 解析的に微分して得られる関数, 誤差(微分演算を行った関数の解析的に微分して得られる関数に対する差)の図を描く.
図は計算領域内のみのものと計算領域外を含むものの2種類を描く.
テスト内容とその結果
テスト 1
行った操作 |
s_dx_s( pi ) |
元の関数の分布 |
pi = sin(2πx/Lx) |
境界条件 |
x: 周期境界, z:固定壁 |
格子点数 |
x: 20, z: 20 |
結果(計算領域のみ)
|
|
|
|
元の関数 |
解析的に微分した関数 |
微分演算を施した関数 |
誤差 |
結果(計算領域外含む)
|
|
|
|
元の関数 |
解析的に微分した関数 |
微分演算を施した関数 |
誤差 |
テスト 2
行った操作 |
s_dz_s( pi ) |
元の関数の分布 |
pi = sin(2πz/Lz) |
境界条件 |
x: 周期境界, z:固定壁 |
格子点数 |
x: 20, z: 20 |
結果(計算領域のみ)
|
|
|
|
元の関数 |
解析的に微分した関数 |
微分演算を施した関数 |
誤差 |
結果(計算領域外含む)
|
|
|
|
元の関数 |
解析的に微分した関数 |
微分演算を施した関数 |
誤差 |
memo
- 解析的に微分した関数にも境界条件(x: 周期, z: 固定壁)を適用している.
Last Update: 2004/10/05 (北守 太一)