【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
  • 阅读 ( 108 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论