matplotlibでランダムウォーク

ランダムウォークをmatplotlibで表示してみた。
各粒子の動作は乱数で上下左右に動くように設定。
マシンが非力なせいか、粒子数を増やすとgif作成にやたら時間がかかる。

実行した結果が下記。
random work at matplotlib by python

random work sample by python and matplotlib.

cygwinでmatplotlibとscipyを使えるようにする

↓こちらのサイトを参考に、そのままの手順でできました。
http://ssmn0621.blogspot.jp/2016/03/cygwinnumpyscipymatplotlib.html

■pipのインストール
%easy_install-2.7 pip

■scipyのインストール
%pip install scipy

■matplotlibのインストール
%easy_install-2.7 matplotlib==2.0.0

■実行テスト
setenv DISPLAY :0.0 #DISPLAY設定
run xwin -multiwindow -noclipboard #xを起動
python rect.py

■実行結果
matplotlibで描画した長方形図形

■rect.pyの中身は↓

※easy_install , pip
共にpython用外部ライブラリのパッケージ管理ツール
easy_installの方が古いらしく、pipはこれらを置き換える
 目的で開発されている。

任意の数のランダムなxy座標を生成する

リスト形式でappendしてやることで、指定数を追加できる。
xyzならappendで追加する要素を3つにすればOK

関数に指定した引数は参照渡し

Pythonは関数に指定した引数がすべて参照渡しとなるらしい。
ただし、指定した引数の型によっては変更不可となる。

変更不可(イミュータブル)
int, float, str, tuple

変更可(ミュータブル)
list, set, dict

↓参考
http://docs.python.jp/2/reference/datamodel.html

■変更不可例

■変更可例

id関数を使ってみると、関数内でイミュータブル変数を変更すると識別子が変わった。
(ミュータブルは識別子変わらず)