PCが描く奇妙な画像集(数学的万華鏡と生物形態等の世界)

・インタープリタBASICによるフラクタルとカオスの奇妙な画集。

006. 複素関数:Z^f(Z)の実数部と虚数部の計算

2014-06-13 07:32:08 | 画像作成の説明


Zを複素平面上の点とし、f(Z)を任意の複素関数とするとき、複素関数:Z^f(Z)の実数部と虚数部を求める計算プログラムをサブルーチン化ておく。

そのために、Z^f(Z)の実数部と虚数部を以下のようにして求める。

Z=X+iY=R*e^iθとし,ここで、R=(X^2+Y^2)^0.5 ,θ=arctan(Y/X)から、Rとθは、このサブルーチンの入力値とする。また、任意のf(Z)の実数部(これをREFとする)と虚数部(これをIMFとする)も既に与えられているとする。

即ち、f(Z)=FZR+i*FZI とする。 (ここで、FZR , FZI は既知の実数とする)

(以下の計算式において掛け算の記号(*)は煩雑さを避けるため適宜省略する。)

Z^f(Z)=( R*e^iθ)^( FZR+i*FZI)=( (R*e^iθ)^FZR)*( (R*e^iθ)^iFZI )
=(R^FZR)*(e^(iθ*FZR))*(R^iFZI)*e^(-θ*FZI)
=(R^FZR)*e^(-θ*FZI)*e^(iθ*FZR)*R^(i*FZI)
  ここで、ZF1=(R^FZR)*e^(-θ*FZI) とおくと、

Z^f(Z)=ZF1* ( e^(iθ*FZR)*R^(i*FZI) ) ・・・・・(1)
  ここで、R=e^logR  (但し、logの底はeとする) だから
  R^(i*FZI)=(e^logR)^(i*FZI)=e^(i*logR*FZI)
従って、(1)より、
Z^f(Z)=ZF1*e^i(θ*FZR+logR*FZI)
ここで、ZF2=θ*FZR+logR*FZI とおくと、
Z^f(Z)=ZF1*e^(*ZF2)=ZF1*(cosZF2+i*sinZF2)
=ZF1*cosZF2 + i*(ZF1*sinZF2)
となるから、
Z^f(Z)の実数部= ZF1*cosZF2
Z^f(Z)の虚数部= ZF1*sinZF2
( 但し、ZF1=(R^FZR)*e^(-θ*FZI) , ZF2=θ*FZR+logR*FZI )

となり、Z^f(Z)の実数部と虚数部が求まった。
従って、Z^f(Z)の実数部と虚数部を、それぞれ、ZFZR,ZFZIとすれば、求めるサブルーチン・プログラムは下記のようになる。

20000 REM Z^(f(z)の計算:file name ZFZ
20010 IF R=0 THEN 20060
20020 ZF1=(R^FZR)*EXP(-TH*FZI)
20030 ZF2=TH*FZR+LOG(R)*FZI
20040 ZFZR=ZF1*COS(ZF2)
20050 ZFZI=ZF1*SIN(ZF2)
20060 RETURN


最新の画像もっと見る