« 特別定額給付金が支給された。振込より後にはがきで連絡がくる。 | トップページ | Python+NumbaでWikipediaのList of chaotic mapsを1つずつ描く(その4) Ikeda Map »

2020年6月22日 (月)

Python+NumbaでWikipediaのList of chaotic mapsを1つずつ描く(その3) Bogdanov map

さて今日は

https://en.wikipedia.org/wiki/List_of_chaotic_maps

の中の、

Bogdanov mapだ。

https://en.wikipedia.org/wiki/Bogdanov_map

x(n+1)=x(n)+y(n+1)

y(n+1)=y(n)+ε*y(n)+k*x(n)*(x(n)-1)+μ *x(n)*y(n)

という写像。っても何やってもWikipediaのような図にならない、、、

ということで

https://arxiv.org/ftp/chao-dyn/papers/9402/9402006.pdf

も参考にして初期値をいろいろ変えてプロットしてみる。

Bogdanov_00_k_12_00

おお、それっぽい図になった。パラメータはε=0,k=1.2,μ=0.0。

別のパラメータはε=0.0001,k=1.44,μ=-0.1。

Bogdanov_00001_k_144_01

 

リストはこちら:

import numpy as np
import matplotlib.pyplot as plt
from numba import jit


ep=0.0
kp=1.2
up=0.0

@jit
def Bogdanov_calc(x,y,N):

    for i in range(N-1):
        y[i+1]=(1+ep)*y[i]+kp*x[i]*(1-x[i])+up*x[i]*y[i]
        x[i+1]=x[i]+y[i+1]



N=300
xmax=2
xmin=-2
ymax=2
ymin=-2
Nx=100
Ny=100

fig=plt.figure(figsize=(10,10))
plt.xlim(-0.5,2)
plt.ylim(-1,1)


for i in range(Nx):
    for j in range(Ny):
        x=np.zeros(N)
        y=np.zeros(N)
        x[0],y[0]=xmin+(xmax-xmin)*i/Nx, ymin+(ymax-ymin)*j/Ny
        Bogdanov_calc(x,y,N)
        plt.scatter(x,y,s=1,c='black',alpha=0.05)


plt.show()

 

 

 

 

« 特別定額給付金が支給された。振込より後にはがきで連絡がくる。 | トップページ | Python+NumbaでWikipediaのList of chaotic mapsを1つずつ描く(その4) Ikeda Map »

学問・資格」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 特別定額給付金が支給された。振込より後にはがきで連絡がくる。 | トップページ | Python+NumbaでWikipediaのList of chaotic mapsを1つずつ描く(その4) Ikeda Map »

最近の記事

最近のコメント

2025年1月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
フォト
無料ブログはココログ