質問編集履歴
1
プログラムの修正・補足
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,11 +7,14 @@
|
|
7
7
|
運動方程式の関数は dx/dt = f(t, x, z),dz/dt = g(t, x, z)となることに注意せよ.
|
8
8
|
|
9
9
|
という課題です。
|
10
|
-
ルンゲ・クッタ法の計算は作れたのですが、関数の中でどう値を返せばいいのか
|
10
|
+
ルンゲ・クッタ法の計算は作れたのですが、関数の中でどう値を返せばいいのか分かりました(修正)
|
11
11
|
|
12
|
+
ただ、初期値をどうやって使うのかわかりません。使わずにグラフは作ることができました、
|
12
|
-
|
13
|
+
なぜ、初期値は設定されているのでしょうか?
|
13
14
|
|
15
|
+
よろしくお願いします。
|
14
16
|
|
17
|
+
|
15
18
|
```C言語
|
16
19
|
/*
|
17
20
|
ばね-マス-ダンパー系でc/m = 0.02 N s/m kg, k/m = 0.1 N/m kg, u/m =1 N/kgとする.
|
@@ -33,12 +36,12 @@
|
|
33
36
|
⇔ d2f/dt2 = -b*df/dt-a*df+c
|
34
37
|
*/
|
35
38
|
{
|
36
|
-
return ;
|
39
|
+
return z;
|
37
40
|
}
|
38
41
|
|
39
42
|
double func_2(double t, double x, double z)
|
40
43
|
{
|
41
|
-
return ;
|
44
|
+
return -b*z-a*x+c;
|
42
45
|
}
|
43
46
|
int main(void)
|
44
47
|
{
|
@@ -86,7 +89,7 @@
|
|
86
89
|
printf("%f, %f\n", t, x);
|
87
90
|
fprintf(fp,"%f, %f\n", t, x);
|
88
91
|
|
89
|
-
} while(t<
|
92
|
+
} while(t<1000.0);
|
90
93
|
|
91
94
|
fclose(fp);
|
92
95
|
|