情報通信工学科 2年 コンピュータ数値解析(学内専用) 中川朋子


オイラー法によるシミュレーション
どちらか好きな方選択
課題 (Aコース)

ばね定数kのばねの先についている質量mの物体には、
重力mgと、ばねの伸び y に比例したばねの復元力 −ky と
速度 v に比例した抵抗力 −Rv( R は抵抗係数)が働いている。

初期条件 位置y(0)=1, 初速度v(0)=0 として、これ以降の位置y(t),速度v(t)を
Euler法または 改良Euler法で求め、2周期分以上グラフに表せ。
時間刻みを変えて3通り以上計算し、1枚のグラフに重ねて描くこと。

ただし、 m = 1、g=9.8、学生番号を A B C D E F Gとしたとき
k = DE、 R = 0.1 * FG とする。
課題 (Bコース) 

インダクタンスLのコイル、抵抗値Rの抵抗, 容量C1のコンデンサ、電圧Eの電源、
及びスイッチが直列につながっている。
時刻t=0にこのスイッチを入れた後の コンデンサにたまる電荷Q(t)、電流i(t)を
Euler法または改良Euler法で求め、2周期分以上グラフに表せ。
時間刻みを変えて3通り以上計算し、1枚のグラフに重ねて描くこと。

ただし、スイッチを入れる前は電荷はたまっていなかったとし、L=1、E=5、
学生番号を A B C D E F Gとしたとき R = 0.1 * FG、 C1 = 1/DE とする。

---------- オイラー法によるシミュレーションのHint ----------

まず微分方程式を立てて、それをオイラー法に直します。
微分方程式とは、運動方程式とか、速度や電流の時間変化に関する式のことです。

1周期 T の間に約100点以上入るような細かい時間刻み dt を設定しないと、
誤差が大きくなって発散します。

1周期 T が大体どれくらいの時間になるかわからないと、
時間刻みをどれくらい細かく計算したらよいかわからないので
あらかじめ、微分方程式を、手計算 でも解いて、周期 T を求めておきます。
sin(ωt) のωの値がわかれば、ω= (2π/T) で周期Tがわかるよ

提出物に書くこと 1.解くべき微分方程式(2本) 2.手計算で得た理論式と振動周期 3.プログラム 4.結果のグラフ(出力結果の数字は載せない) 5.検討考察

結果を画面ではなくファイルに落としたいときは ./a.out > 好きなファイル名.txt (リダイレクト)

出力のヒント・グラフを描く際の注意・検討考察のポイント ........学内サイトにあります

オイラー法 採点基準(10点満点の例)

計算方法が正しい(1点)
初期条件が正しい(1点)
手計算で周期を求めてある(1点)
刻みhが適切(振動周期の1/100程度以下)(1点)
結果が妥当(発散していない)(1点)
結果が妥当(周期が手計算と合っている)(1点)
結果が妥当(振幅が手計算と合っている)(1点)
グラフの縦軸・横軸が正しい(1点)
周期や振幅の値を書く時、精度に配慮している(計算精度以上に記載してない)(1点)
刻みを変えた結果を比較している、または、手計算結果のグラフと比較している(1点)

数値解析の最初のページに戻る