「プログラミング基礎」 レポート課題

「プログラミング基礎」 レポート課題
課題
以下の非線形方程式を区間 x   0, d  で解き、y = 定数でない解を求める。
d2y
 y exp  y 2  I , ①
2
dx

境界条件:

dy
0  0 ,
dx
dy
d   0
dx
②
③
(1) I = 0.2, d = 20 の場合を考える。高階の微分方程式は連立 1 階微分方程式に置き換
えることができるので、①式を
 dz
2
 dx  y exp  y  I

dy

z

dx


①’
と変形する。
(i) y(0) = 0.21, z(0) = 0 を初期条件とし、Runge-Kutta 法を用いて初期値問題とし
て x についての微分方程式①’を区間 x   0, d  で解くプログラムを作成せよ。z(d)
の値を示し、y(x)のグラフをプロットせよ。
(ii) 初期値 y(0)を y(0) = 0.21, 0.22, 0.23, 0.24, 0.25 と変化させ、x = 20 の点までの軌
跡をプロットし比較せよ。
(iii) 初期値 y(0)を適切に選ぶことで終点での境界条件 z(d) = 0 を満たすものが求
める解である。(ii)の結果より、y(0) = 0.21~0.25 の間に解があることがわかる。
(i)のプログラムに条件を満たす初期値を決定するプロセスを加えたプログラムを
作成せよ。解を与える y(0)の値を示し、y(x)のグラフをプロットせよ。
(iv) (iii)で作成したプログラムの内容、計算過程について図を用いてわかりやすく
説明せよ。
(2) d のみを変化させ、対応する解を調べよ。なお、初期値によって収束する解が異
なるので、適切な初期値を選択する必要がある。
(3) I のみを変化させ、対応する解を調べよ。
(裏面へ続く)
(4) I = 0.2, d = 20 の場合について、②、③の境界条件を満たす解は他にもないか考察
せよ。
レポート:上記課題に答えよ。また(1)(iii)で作成したプログラムも添付して提出せよ。
プログラムファイル名は”solit_学生番号.f90”(例、solit_2ES14999X.f90)としてく
ださい。レポート本文のファイル名は任意ですが、学生番号を入れてください。
講義 Web ページ
もしくは応用力学研究所2階211号室(事務室)へ持参
期限 6 月 30 日(火)正午
Web ページから提出の場合、受信確認メールが返信されます。メールが返信
されない場合は問い合わせのこと。
提出先