電子書籍の厳選無料作品が豊富!

初め、粒子は原点にいるとして、確率1/4ずつでx方向へ+1,-1,y方向へ+1,-1ジャンプする場合、nステップ後の粒子の位置の2乗平均(平均2乗変位)を求めたいです(n=0から100ステップまでの平均2乗変位)。アンサンブルの数は10000とします。
添付のコードではxしか実行できないのですが、yの分も実行するにはどこを直せばよいかご教示いただきたいです。

「c++ ランダムウォーク」の質問画像

A 回答 (3件)

msd を二つにして msdx(x用), msdy(y用) とします。


これに、別々に位置の2乗を積算するだけの話だと思いますよ。

しかし、iのループの中にiのループが有るように見えるのだが
気のせいだろうか?
    • good
    • 0
この回答へのお礼

別々にして、無理やり書いたらそれっぽくできました。

お礼日時:2020/12/27 20:51

「iのループの中にiのループが有るように見える」のは, 残念ながら気のせいです>#2. スクリーンショットなので見づらいのですが, 二重ループのところは外が j, 中が i です.



今気づいたんだけど最後のループだけ条件が
i<=100
になってる. 不思議.
    • good
    • 0

どうして「xしか実行できない」のかを理解すればいいと思うよ.



なんというか突っ込みどころのあるプログラムだけど.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!