• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    【Mathematica】復變函數迭代過程的可視化

    本文,用Mathematica來實現復變函數迭代過程的可視化。這是繪制Julia集合的一些基礎內容。

    東西/原料

    • 電腦
    • Mathematica

    方式/步調

    1. 1

      給定一個復變函數:

      f[z_]:=z^2+0.365-0.7I

      我們就來研究這個函數的迭代過程:

      NestList[f,0,20]

      初值為0時,迭代10次之后,獲得的復數敏捷遠離遠點。

    2. 2

      要實現可視化,可以在實平面上,象征性的畫出這些點。

      這就需要別離求出這些點的實部和虛部:

      a=ReIm[NestList[f,0,10]]

    3. 3

      作圖:

      Graphics[{Green,Line[a],Red,PointSize[0.01],Point[a]},PlotRange->7]

    4. 4

      用箭頭取代線段:

      Graphics[{Green,Arrowheads[0.02],Arrow[Partition[a,2,1]],Red,PointSize[0.01],Point[a]},PlotRange->7]

      獲得的圖片如下:

    5. 5

      若是初值改為-0.1-0.2*I,那么:

      a=ReIm[NestList[f,-0.1-0.2I,20]];

      這時辰發散的比力慢,但也是會發散的。

    6. 6

      初值為-0.092-0.195I,發散過程如下:

    7. 7

      這樣尋找不發散的初值,其實是效率太低。

      我們可以轉而尋找不動點,好比知足f[f[z]]=z的復數z:

      b=ReIm[Solve[Nest[f,z,2]==z,z]//Values//Flatten]

    8. 8

      我們可以畫出這些點:


      Graphics[{Blue,PointSize[0.01],Point[b]},Axes->True,PlotRange->2]

    9. 9

      知足Nest[f,z,2]==z的復數有八個:

    10. 10

      知足Nest[f,z,6]==z的復數有2^6個:

    • 發表于 2020-01-04 22:09
    • 閱讀 ( 960 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆