Python+NumbaでWikipediaのList of chaotic mapsを1つずつ描く(その4) Ikeda Map
今日は
https://en.wikipedia.org/wiki/List_of_chaotic_maps
の中の、Ikeda Mapです。
https://en.wikipedia.org/wiki/Ikeda_map
t[i]=0.4-6./(1+x[i]**2+y[i]**2)
x[i+1]=1+u*(x[i]*cos(t[i])-y[i]*sin(t[i]))
y[i+1]=u*(x[i]*sin(t[i])+y[i]*cos(t[i]))
の形式を使って計算する。Wikipediaに乗っているu=0.918で初期値を振ってみた。
こっちは狭い領域で有名な形。
これは広い領域でWikipediaのトップの絵に相当するもの。
リストはこちら。
import numpy as np
import matplotlib.pyplot as plt
from numba import jit
up=0.918
@jit
def ikeda_calc(x,y,N):
for i in range(N-1):
t=0.4-6./(1+x[i]**2+y[i]**2)
x[i+1]=1+up*(x[i]*np.cos(t)-y[i]*np.sin(t))
y[i+1]=up*(x[i]*np.sin(t)+y[i]*np.cos(t))
N=500
xmax=10
xmin=-10
ymax=10
ymin=-10
Nx=100
Ny=100
fig=plt.figure(figsize=(10,10))
plt.xlim(-10,10)
plt.ylim(-10,10)
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
ikeda_calc(x,y,N)
plt.scatter(x,y,s=1,c='black',alpha=0.01)
plt.show()
« Python+NumbaでWikipediaのList of chaotic mapsを1つずつ描く(その3) Bogdanov map | トップページ | Python+NumbaでWikipediaのList of chaotic mapsを1つずつ描く(その5) Cliford attractor »
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年1月13日 IEEE Microwave Magazineの特集はニューラルネットワークとマイクロ波、Siversがミリ波ビームフォーマー開発を受注、バイデン・ハリス政権が ワイヤレス革命に1億 1,700 万ドル、HoneywellとNXPが航空機技術で提携(2025.01.13)
- UnityでVisual C#用の数値計算ライブラリMath.NET numericsを使う(1) まずはNuGetForUnityを使ってインストール。2Dゲーム画面に連立方程式を解いた結果を表示。(2025.01.14)
- 高周波・RFニュース 2025年1月9日 CES2025に合わせて各社プレスリリース、特にQualcomm、NVIDIA、INTELが大量。SEMCOのC0G MLCC (1210 inch, 22nF, 1000V)解説、TIのAI搭載60GHz車内レーダ、MarvellのCPO、Qorvoの車載UWB SoC、TDKのセンサがAI白杖に採用(2025.01.09)
- NHK パンサー尾形さんの笑わない数学 微分・積分 スペシャルがもうすぐ始まる。これから見てリアルタイムでポストしたのでそのスレッドを残す。(2024.12.29)
« Python+NumbaでWikipediaのList of chaotic mapsを1つずつ描く(その3) Bogdanov map | トップページ | Python+NumbaでWikipediaのList of chaotic mapsを1つずつ描く(その5) Cliford attractor »
コメント