質問編集履歴
2
p、値について追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
q0=0
|
9
9
|
```
|
10
10
|
を解きたいです。
|
11
|
-
現在、ウェブサイトでルンゲクッタ法の解き方を自分で調べて書いてみたのですが、明らかにおかしな値になっています。
|
11
|
+
現在、ウェブサイトでルンゲクッタ法の解き方を自分で調べて書いてみたのですが、明らかにおかしな値(sin,cos の値になっていない)になっています。
|
12
12
|
参考にしたところに書いてあったのは
|
13
13
|
```ここに言語を入力
|
14
14
|
d^2y/dx^2=f(x,y,y')
|
@@ -53,4 +53,7 @@
|
|
53
53
|
q += (dq1 + 2 * dq2 + 2 * dq3 + dq4)*(h/6.0);
|
54
54
|
t = t0 + i*h;
|
55
55
|
printf("q(%f)=%f\n", t, q);
|
56
|
+
p += (dp1 + 2 * dp2 + 2 * dp3 + dp4)*(h/6.0);
|
57
|
+
printf("p(%f)=%f\n", t, p);
|
56
58
|
```
|
59
|
+
|
1
タグを編集し、tについてのご指摘を変更しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -41,7 +41,7 @@
|
|
41
41
|
|
42
42
|
|
43
43
|
for ( i=1; i <= n ; i++){
|
44
|
-
|
44
|
+
|
45
45
|
dp1 = -q;
|
46
46
|
dq1 = p;
|
47
47
|
dp2 = -(q+dq1/2);
|
@@ -51,5 +51,6 @@
|
|
51
51
|
dp4 = -(q + dq3);
|
52
52
|
dq4 = p+ dp3;
|
53
53
|
q += (dq1 + 2 * dq2 + 2 * dq3 + dq4)*(h/6.0);
|
54
|
+
t = t0 + i*h;
|
54
55
|
printf("q(%f)=%f\n", t, q);
|
55
56
|
```
|