Scratch(プログラム言語)でLotka-Volterra方程式(アドリア海の鮫と魚の振動)を描いてみる。
今回はロトカ・ヴォルテラ方程式。
第一次大戦前はアドリア海の魚の漁獲量はある一定に近い値だったが、大戦中は漁業が中止され、魚が増えた。しかし、大戦後は逆に鮫が多くなり、魚が減った、というように振動する現象の解析モデル。
http://mathworld.wolfram.com/Lotka-VolterraEquations.html
被食者xと捕食者yの関係を
dx/dt = Ax -Bxy
dy/dt = -Cy + Dy
とする。これを(A,B,C,D)=(1.5,1,3,1)のとき計算するとこんな感じで振動する。
しかしScratchでやるには、グラフにしても面白くないので鮫と魚を描いていってみよう。これ。
http://scratch.mit.edu/projects/12024478/
計算にはRunge-Kutta4次を使用してます。ターボモード(シフト+緑フラグ)じゃないと遅くてやってられません、、、
« 115番目の元素の生成がやっと確認された? | トップページ | SNOOPY JAPANESQUE - スヌーピーx日本の匠展での書道(筆)でスヌーピーを描くのが面白い! »
「パソコン・インターネット」カテゴリの記事
- Interface2025年8月号Pythonで体験!はじめての暗号を買った。上杉暗号からRSA、AES、DHなど、特に楕円曲線暗号についてはコードも実際に動かすところまで詳しくかかれていた。耐量子暗号や聞いたことなかったY-00暗号や関数型暗号も記載。(2025.07.10)
- Gemini CLIが使えるようになっていたので早速VSCodeのターミナルから使って、JavaScriptで連立一次方程式を計算するコードを書いてもらった。普通にガウスの消去法で計算するhtmlを作ってくれた。(2025.06.27)
- Google ColabのJulia言語で1次元のGray-Scottモデル(∂u/∂t=u²v-(F+k)u+Du∂²u/∂x²,∂v/∂t=-u²v+F(1-v)+Dv∂²v/∂x²)を計算してパルスが次々分裂する様子を見る。空間6次の差分、時間8次のルンゲクッタ法で計算。(2025.07.08)
« 115番目の元素の生成がやっと確認された? | トップページ | SNOOPY JAPANESQUE - スヌーピーx日本の匠展での書道(筆)でスヌーピーを描くのが面白い! »
コメント