ランダムウォークのプログラム

アバター
SAI
記事: 115
登録日時: 14年前
住所: はひほーひ

ランダムウォークのプログラム

投稿記事 by SAI » 14年前

あ~やっと課題終わった!
危うく今日の日記書けないところだった。(笑)
英語のプレゼンとかマジ勘弁。今週本当に忙しい。主に英語で。

提出期限が過ぎたので、せっかく書いたランダムウォークのプログラムを載せてみる。
ランダムウォークというのは、ある歩数を決めて、上下左右ランダムに1歩ずつ歩きます。
それを何度も繰り返し、出発地点から到達地点の距離の平均がガウス分布のなんとかかんとか(よくわからん)というものです。
本当は可視化したかったんだけど、ソースコードを提出するのでDXライブラリは使わない方がいいと思い断念。
平均距離を出すだけになっています。
あるぇ~?
コードを載せるコマンドってなかったっけ?
ああ、あったあった。このカラーやフォントが一覧で見られるのは便利ですね。

CODE:

#include 
#include 
#include    
#include      

using namespace std;

#define MAX_NUM 99999
#define MAX_WALK 9999

int main()
{
    	cout > num ;
            if(numMAX_NUM)
            {
            	cout > walk ;
            if(walkMAX_WALK)
            {
            	cout << "1から9999までの値を入力してください。\n";
                walk=-1;
            }
            else break;
        }
        
        double r_sum=0; //距離の合計
        srand((unsigned) time(NULL));
    
        for(int i=0; i < num ; i++)
        {
            int x=0;
            int y=0;
            
            for(int j=0; j < walk ; j++)
            {
                switch(rand()%4)
                {
                    case 0:
                        x++;
                        break;
                    case 1:
                        x--;
                        break;
                    case 2:
                        y++;
                        break;
                    case 3:
                        y--;
                        break;
                }
            }
            
            r_sum+=sqrt(double(x*x+y*y));
        }
        
    	cout << "平均距離は" << r_sum/num << "です。\n ";
    return 0;
} 
一応講座カテゴリにしますが、これって誰得?
まあいいや。


おまけ
文花帖ちょっとやってみました。
「写真を撮る」発想に感動しつつ、リグルを撮りま・・・
と、撮れない orz
カメラの操作が慣れないので難しいです。
多分最初だけで10枚ぐらいいらない写真撮ってるんじゃないかと。
この新鮮な感じいいですね。ハマりそう。

コメントはまだありません。