質問編集履歴
1
x[1] = 0.0;→x[j] = 0.0;に変更しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
プログラムのフローチャートの通りにプログラムを組んだのですが、どこが間違っているのかいまいちわからなくて困っています。ran1.cとgasdev.cは正常にうごきます。langevin3.cのforの中がいまいちわかりません。
|
2
2
|
エラーは出ませんが、望んでいる結果と違う結果となっています。望んでいる結果は通常の目盛り(片対数や両対数ではない)で線形の関係になります。具体的には、[0, 1]の範囲でy=xを描きます。
|
3
|
+
追記
|
4
|
+
修正しましたが、実行の際に動作が停止してしまいました。
|
3
5
|
```c言語
|
4
6
|
コード
|
5
7
|
//langevin3.cのプログラム。
|
@@ -29,7 +31,7 @@
|
|
29
31
|
a = sqrt(2*kT*h/gamma);
|
30
32
|
t = 0.0;
|
31
33
|
for (i=1;i<=im;i++) {
|
32
|
-
x[
|
34
|
+
x[j] = 0.0;
|
33
35
|
for (j=1;j<=nsmp;j++){
|
34
36
|
x[j] += a*gasdev(&idum);
|
35
37
|
if (i % 50 == 0) {
|