T_NAKAの阿房ブログ

アクセスカウンタ

zoom RSS 17_Random Walk Simulation の復習(2)

<<   作成日時 : 2016/04/13 00:01   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

では、先に進みましょう。今回は一つの関数と最初のメインプログラムを見ていきます。

まず、最初に \(performTrial\) という関数です。
画像

酔歩回数と \(field\) を指定すると、 \([0.0]\) という1要素のリストに \(append\) メソッドでその回数分の距離を追加したものを返すものと思われます。
少し丁寧に見ていきましょう。
 \(start = f.getLoc()\)
これは \(field\) の \(getLoc\) メソッドで初めの座標を \(start\) に記憶します。
 \(distances = [0.0]\)
\([0.0]\) という1要素のリスト \(distances\) を用意します。 
 \(for\; t\; in\; range(1, time + 1):\)
これは続く字下げした4行を \(time\) 回実行するということですね。
では繰り返しの4行を見て行きます。
 \(f.getDrunk().move(f)\)
これは分かり難いですね。
\(field\) の \(getDrunk\) メソッドで、酔っ払いを特定し、 \(Drunk\) の \(move\) メソッドで1回の酔歩させることのようです。
 \(newLoc = f.getLoc()\)
そして、\(field\) の \(getLoc\) メソッドで更新された酔っ払いの位置を \(newLoc \) に記憶します。
 \(distance = newLoc.getDist(start)\)
さらに、 \(Location\) の \(getDist\) メソッドで、 \(newLoc \) と \(start\) との直線距離を計算して、\(distance\) に記憶します。
繰り返しの4行の最後は
 \(distances.append(distance)\)
で、\(distances\) というリストに \(append\) メソッドで、ちょっとややこしいですが、\(distance\) を追加していきます。
そして、最後に
 \(return\; distances\)
で、\(distances\) というリストを返します。

次に最初のメインプログラムを示します。
画像

まず、最初の行で酔っ払いに "Homer Simpson" という名を付けて、これを \(drunk\) とします。
また次の行で、字下げした続く3行を3回繰り返します。つまり Homer Simpson に3回広場を歩いて貰うことになります。
以下繰り返し3行を少し詳しく見ていきたいと思います。
 \(f = Field(drunk, Location(0, 0))\)
最初に定義した \(drunk\) で \( Location(0, 0)\) で歩き始める座標をセットして広場 \(f\) を設定します。
 \(distances = performTrial(500, f)\)
この広場 \(f\) 上を500歩あるいた各距離のリストを \(performTrial\) で求めます。 
 \(pylab.plot(distances)\)
\(pylab.plot\) でリストをプロットします(実際の描画は未だです)。
次に続く3行で「標題」「x軸ラベル」「y軸ラベル」をセットします(実際の描画は未だです)。
最後に \(pylab.show()\) で描画します。

結果を示します。
画像
 

今日はこの辺で。。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
17_Random Walk Simulation の復習(2) T_NAKAの阿房ブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる