Python中的Mandelbrot集

2024-09-27 02:20:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个问题。我正在为我的课程做一项任务,我正在尽我最大的努力,但是老师的提示似乎没有帮助,我需要自己寻找问题所在

首先,我必须把这个任务从我的母语翻译成英语。因此,可能会有一些误解,因为很难从数学的角度解释它

“有一个Mandelbrot集,它是由曲面上由复数定义的点创建的,因此以下递推方程不会无穷大:

{z0=0//zn+1=zn^2+c

您必须创建大小为600x600的二维数组T。该数组T[k][l]中的每个元素将表示一个复数ckl=(−2+k*0.005(−1.5+l*0.005)ˆi)。接下来,对于T[k][l]中的每个元素,计算序列中的第一个n_max=100个数字,并将该值保存为n,表示| zn |>;2。”

是的,这很痛苦。我在谷歌上搜索了很多关于这一点的信息,但我无法使用所有其他Python脚本来解决这一任务。我最终使用了:LINK,并制作了以下内容:

import matplotlib.pyplot as plt


k = 600
l = 600

T = [0][0]


for i in range(k):
    for j in range(k):
        z = 0 + 0j
        c = complex(-2 + i * 0.005, -1.5 + j * 0.005)
        for g in range(100):
            z = z * z + c
            if abs(z) > 2.0:
                T = i
                break


plt.figure(dpi=200)
plt.imshow(T, cmap="hot")
plt.show()

这真的很糟糕,我真的不明白这一点。另外我得到一个错误:TypeError:Invalid shape()对于图像数据。我在几周前找到了另一个解决方案,已发送,但必须按照脚本中描述的方式完成。请帮助。提前感谢您的时间。如果您需要此任务的任何其他屏幕截图,我将提供它


Tags: in脚本元素forrangeplt数学老师

热门问题