迭代权力分形

复数幂的迭代可以产生循环。这些周期长度的彩色图产生分形图像。

内容

UWO海报

我的博客一个月前我提到过一张海报由西安大略大学提出,关于朗伯W函数。而在我的博客我说过,如果基础$z$小于$ mbox{e}^{- mbox{e}}$,大约是0.066,那么计算塔的迭代将稳定地运行两个周期。这两篇文章导致了今天的博客,其中$z$在复杂的平面上移动。

迭代

迭代的基数是一个实数或复数$z$,在整个迭代过程中保持固定。从$y_0 = 1$开始,然后简单迭代$$ y_{k+1} = z^{y_k} $如果$z$太大,那么$y_k$将迅速膨胀。正如我们在上一篇博客中看到的,当$z$大于$\mbox{e}^{1/\mbox{e}}$时,会发生这种情况,$1.444$。对于某些$z$,迭代$y_k$方法是一个固定点。例如$z = \sqrt{2}$。y_k$收敛于$2$。我们把不动点看成是长度为1的圈。

一个例子

下面是一个复杂的$z$的例子,它产生一个长度为7的循环,$z = 2.5+4i$。
格式Z = 2.5+4i y = 1K = 1:7 y = z^y;disp (y)结束
y = 1 y = 1 y = 1 y = 1 y = 1
七步之后,我们还没回到y = 1但我们已经很接近了。重复几十次迭代会使我们在初始瞬态附近得到一个长度为7的稳定循环。这是一张图片。

周期长度

查找周期长度包括在堆栈上保存迭代,并将每个新的迭代与之前的迭代进行比较。函数的内部参数是比较中的公差、堆栈大小和最大迭代次数。如果迭代达到无穷大,或者在达到迭代极限之前没有找到匹配,则将周期长度声明为无穷大。这是函数。
类型周期
函数c = cycle(z) % cycle迭代功率的循环长度% c = cycle(z) tol = 1.e-4;%公差N = 40;%栈高M = 2000;%最大迭代次数S = 0 (N,1);% Stack S(:) = NaN;y = 1;k = 0;c =正;当k < M y = z^y;k = k + 1; if isinf(y) break elseif any(abs(y-S) < tol) c = min(find(abs(y-S) < tol)); break end S(2:N) = S(1:N-1); S(1) = y; end end
让我们在一些已知答案的情况下测试这个函数。
周期(sqrt (2))%应该是1周期(1.5)%应为Inf周期(0。)%应该是2周期(2.5 + 4我)%应该是7
ans = 1 ans = Inf ans = 2 ans = 7

Colormaps

好的彩色图是生成好的分形图像的一个重要方面。我使用的颜色图来自曼德布洛特章与MATLAB实验.这些程序从MATLAB中获取颜色图的小块并重复几次。这些地图被称为飞机热点,cmyk都包括在曼德布洛特。m代码.这是其中之一。
类型飞机
函数cmap = jets(m) c = jet(16);e = 1(1米/ 16日);提出= kron (e、c);结束

生成图像

要生成分形图像,在复杂区域的某个区域上放置一个网格,计算每个网格点的周期长度,然后使用MATLAB图像函数和其中一个彩色贴图生成一个伪彩色图像。(这是一个令人尴尬的是平行的多年来,它一直被用于演示并行计算机。负载平衡是一个挑战。但我跑题了…)

第一个图片

这篇文章顶部的图片显示了一大块复杂的平面。与cmyk彩色地图,无限循环长度出来的黑色。我可以看出来间谍在我保存数据的机器上绘图。
负载view1间谍(isinf (u)集(gca,“ydir”“n”
当我这样做的时候,我们来检查一下密度inf。
nnz (isinf (u)) /刺激(大小(u))
ans = 0.2602
超过四分之一的网格点具有无限的周期长度。

第二个图片

放大平面上较小的区域,并使用飞机彩色地图与它的列翻转。这是典型的结构,我们在这个分形中随处可见,在所有的放大级别。它们当然没有Mandelbrot集合那么丰富,但我仍然认为它们很有趣。

第三个图片

进一步放大,并使用热点colormap。西北角的棕色大区域并不是无限的循环长度。它碰巧是周期= = 16下面是生成这个图像的代码。在我用了几年的笔记本电脑上运行大约需要5分钟。
类型view3
x0 = 2.3825;y0 = 3.7227;d = 1. e-5;nhalf = 200;v = d * (-nhalf: nhalf);(x, y) = meshgrid (x0 + v, y0 + v);z = x + i * y;u = 0(大小(z));N = size(z,1) tic for k = 1: N for j = 1: N u(k,j) = cycle(z(k,j));端k端toc形象(u)轴广场colormap(热点(128))(gca、“ydir”,“n”)设置(gca、“xtick”,[1,n / 2 n])组(gca、“ytick”,[1,n / 2 n])组(gca, xticklabel, {min (x (:)) num2str (x0)、马克斯(x(:))})组(gca, yticklabel, {min (y (:)), num2str y0,马克斯(y(:))})包含(“x”)ylabel (y)

参考

兰伯特W函数,海报,安大略省计算机代数研究中心,http://www.orcca.on.ca/LambertW/

发布与MATLAB®R2013b
|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。