ありがとうございます

 投稿者:堀江伸一  投稿日:2009年 5月23日(土)15時07分20秒
  山中和義さん、定義をありがとうございます。
SECONDさんポアンカレ切断面。
新しい言葉を覚えました。

Xi+1=f(Xi)
の関数fがポアンカレ切断面ですね?


写像fが見つかればランダムでなくカオス。
理解しました。


山中和義さん。
既定の図形をアフィン変換で変形して重ねる、大きさの異なるスタンプを重ねるような写像ならいいですが、どうみても基本となるスタンプのような形が見出せそうもないようなアフィン変換の組が設定できるようなきがしてなりません。


まだ初学なのできれいに扱えるようなところから学習しようかと考えていますがちょっと気になります。
 

Re: ありがとうございます

 投稿者:SECOND  投稿日:2009年 5月24日(日)06時26分47秒
  > No.389[元記事へ]

> Xi+1=f(Xi)
> の関数fがポアンカレ切断面ですね?

関数fそのものではなくて、関数fの入出力領域の形状です。
一次元の例では、その形が、関数fと同一で、区別出来なくて、
まずかったですが、多くは、関数fが、微分方程式の形式で、解も
不明なまま、ルンゲクッタで描ける程度で、分りません。
ポアンカレ切断面は、その曲線や領域の中に、関数fの入出力が、
閉じている意味を持ち、関数fの存在を示唆するものです。

微分方程式も、差分化して描いている過程を考えると、
i番目からi+1番目の境界の関数で、関数として固定されていますが、
ポアンカレ切断面の場所の移動(iの移動)で、その入出力領域の
形状が、変化したりもします。

でも概念は、そのとおりかも知れない。この辺は、私もわからない。
 

Re: ありがとうございます

 投稿者:SECOND  投稿日:2009年 5月25日(月)00時20分17秒
  > No.390[元記事へ]

!ポアンカレ切断面の実際例です。
!
!レスラー方程式を、ルンゲ・クッタ4で描いています。グラフは、
!xyzの3次元の振る舞いですが、中央の図は、上から見たxy平面です。
!周囲30度 角度ごとに配置された12枚の図が、
!その角度での、ポアンカレ切断面で、縦:Z軸、横:中心からの半径距離
!になります。

!-------------------------------
OPTION ANGLE DEGREES
LET x=-2
LET y=0
LET z=0
LET a=0.398
LET b=2
LET c=4
!-----レスラー方程式( 非線形項が、z*x 1つだけのカオス)
DEF dxdt(  y,z)=-y-z       ! (dx/dt)= -y -z
DEF dydt(x,y  )= x+a*y     ! (dy/dt)=  x +a*y
DEF dzdt(x  ,z)= b+z*(x-c) ! (dz/dt)=  b +z*(x-c)

SUB RungeKutta
   LET kx1=dxdt(  y,z)
   LET ky1=dydt(x,y  )
   LET kz1=dzdt(x  ,z)
   !
   LET kx2=dxdt(            y+ky1*dt/2 ,z+kz1*dt/2)
   LET ky2=dydt(x+kx1*dt/2, y+ky1*dt/2            )
   LET kz2=dzdt(x+kx1*dt/2             ,z+kz1*dt/2)
   !
   LET kx3=dxdt(            y+ky2*dt/2 ,z+kz2*dt/2)
   LET ky3=dydt(x+kx2*dt/2, y+ky2*dt/2            )
   LET kz3=dzdt(x+kx2*dt/2             ,z+kz2*dt/2)
   !
   LET kx4=dxdt(          y+ky3*dt ,z+kz3*dt)
   LET ky4=dydt(x+kx3*dt, y+ky3*dt          )
   LET kz4=dzdt(x+kx3*dt           ,z+kz3*dt)
   !
   LET x=x+(kx1+2*kx2+2*kx3+kx4)*dt/6
   LET y=y+(ky1+2*ky2+2*ky3+ky4)*dt/6
   LET z=z+(kz1+2*kz2+2*kz3+kz4)*dt/6
END SUB

!-----run
SET TEXT background "OPAQUE"
SET COLOR MIX(15) .5,.5,.5
SET POINT STYLE 1
DIM vl(12),vr(12),vb(12),vt(12) ,va(12)
DATA .8, .8, .6, .4, .2, 0 , 0 , 0 , .2, .4, .6, .8
DATA 1 , 1 , .8, .6, .4, .2, .2, .2, .4, .6, .8, 1
DATA .4, .6, .8, .8, .8, .6, .4, .2, 0 , 0 , 0 , .2
DATA .6, .8, 1 , 1 , 1 , .8, .6, .4, .2, .2, .2, .4
DATA  0, 30, 60, 90,120,150,180,-150,-120,-90,-60,-30
MAT READ vl,vr,vb,vt,va
!
CLEAR
LET dt=.03 !演算ピッチ sec. pitch time
LET t=0
DO
   SET VIEWPORT .2, .8, .2, .8
   SET WINDOW -7,7,-7,7! -4,6, -6,3
   IF 0< t THEN
      PLOT LINES:bakx,baky; x,y
   ELSE
      DRAW axes !grid(1,1)
      FOR p=1 TO 12
         PLOT LINES:0,0;8*COS(va(p)),8*SIN(va(p))
         PLOT TEXT,AT 6.6*COS(va(p))-.15, 6.6*SIN(va(p))-.3 :STR$(va(p))
      NEXT p
   END IF
   LET bakx=x
   LET baky=y
   CALL RungeKutta
   FOR p=1 TO 12
      IF ABS( va(p)-ANGLE(x,y))< 1 THEN
         CALL poincare
      END IF
   NEXT p
   LET t=t+dt
LOOP UNTIL 2000< t

SUB poincare
   SET VIEWPORT vl(p),vr(p),vb(p),vt(p)
   SET WINDOW -1,7,-1,7
   !PLOT LINES:-1,-1;7,-1;7,7;-1,7;-1,-1
   DRAW axes
   PLOT POINTS: SQR(x^2+y^2),z
END SUB

END
 

戻る