[matplotlib animation] 100.反応拡散系によるチューリングパターン

matplotlib

はじめに

反応拡散モデルによるチューリング・パターンをmatplotlibのFuncAnimationで表示する方法について説明する。

解説

モジュールのインポート

バージョン

データの生成

偏微分方程式を解くことでデータを生成する。詳細については下記記事で解説した。imgs=[]でからのリストを作成しておいて、そこにimgs.append(U_)でデータを追加していく。

[SciPy] 15. 偏微分方程式を有限差分法で解く
2次元における反応拡散系の偏微分方程式(フィッツフュー-南雲モデル)を有限差分法で解く方法について説明する。

アニメーションの設定

最初に表示する図の設定

im = ax.imshow(imgs[0]) で画像を表示する。

アニメーション関数の設定

set_arrayにより画像データを差し替えていくことでアニメーションとする。set_climでimshowのvminとvmaxを最小と最大にして、色の発散を抑えている。ax.set_titleでそのときそのときの時間を表示する。

アニメーションの表示

ガウシアンで補間した版

imshowでinterpolation=’gaussian’として画像を滑らかにした時は以下のようになる。

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

参考

[SciPy] 15. 偏微分方程式を有限差分法で解く
2次元における反応拡散系の偏微分方程式(フィッツフュー-南雲モデル)を有限差分法で解く方法について説明する。
cookbook-2nd/chapter12_deterministic/04_turing.md at master · ipython-books/cookbook-2nd
IPython Cookbook, Second Edition, by Cyrille Rossant, Packt Publishing 2018 - ipython-books/cookbook-2nd
チューリング・パターン - Wikipedia

コメント