SST Lab Dokuwiki Header header picture

ユーザ用ツール

サイト用ツール


lectures:r201504

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
lectures:r201504 [2020/08/20 17:53] – [問題によって変更する部分] kimilectures:r201504 [2022/08/23 13:34] (現在) – 外部編集 127.0.0.1
行 1: 行 1:
 ======2階常微分方程式 ====== ======2階常微分方程式 ======
-  * {{:lectures:nc20110621b.pdf|ダウンロード版}}+===== 共通部分 ===== 
 +$z=y'=\frac{{\rm d}}{{\rm d}x}y$と置くのでこの部分はすべて共通。 
 +<code c> 
 +double dydx(double x, double y, double z) { 
 +  return z; 
 +
 +</code> 
 +===== 問題によって変更する部分 ===== 
 +$x, y, y'(=z), y''$で書かれた式を$y''=\cdots$の形に直して、その右辺の式を計算する関数をここに定義する。 
 +例は、$y''+2y'+y=1$すなわち$y''=1-2y'-y=1-2z-y$の場合の例になっている。
  
 +<code c>
 +double dzdx(double x, double y, double z) {
 +  double ret;
 +  ret = 1.0 - 2.0*z - y;
 +  return ret;
 +}
 +</code>
 +
 +また、問題や用途によって「繰り返し回数」、「初期値」、「刻み幅」は適当なものに適宜変更せよ。
 +<code>
 +  int i, n = 100;                    /* 繰り返し回数 */
 +  double x = 0.0, y = 0.0, z = 0.0;  /* 初期値 */
 +  double dx = 0.01;                  /* 刻み幅 */
 +</code>
 ===== オイラー法-2階版 ===== ===== オイラー法-2階版 =====
 <code c> <code c>
行 80: 行 103:
 } }
 </code> </code>
-===== 共通部分 ===== 
-$z=y'=\frac{{\rm d}}{{\rm d}x}y$と置くのでこの部分はすべて共通。 
-<code c> 
-double dydx(double x, double y, double z) { 
-  return z; 
-} 
-</code> 
-===== 問題によって変更する部分 ===== 
-<latex>x, y, y'(=z), y''</latex>で書かれた式を<latex>y''=\cdots</latex>の形に直して、その右辺の式を計算する関数をここに定義する。 
-例は、$y''+2y'+y=1$すなわち$>y''=1-2y'-y=1-2z-y$の場合の例になっている。 
  
-<code c> 
-double dzdx(double x, double y, double z) { 
-  double ret; 
-  ret = 1.0 - 2.0*z - y; 
-  return ret; 
-} 
-</code> 
- 
-また、問題や用途によって「繰り返し回数」、「初期値」、「刻み幅」は適当なものに適宜変更せよ。 
-<code> 
-  int i, n = 100;                    /* 繰り返し回数 */ 
-  double x = 0.0, y = 0.0, z = 0.0;  /* 初期値 */ 
-  double dx = 0.01;                  /* 刻み幅 */ 
-</code> 
lectures/r201504.1597913591.txt.gz · 最終更新: 2022/08/23 13:34 (外部編集)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki