teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

x[1] = 0.0;→x[j] = 0.0;に変更しました。

2020/09/30 08:10

投稿

Okuhira007
Okuhira007

スコア13

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[1] = 0.0;
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) {