我需要创建一个函数,测试一个复数,c是否在Mandelbrot集合中,定义为z n + 1 = z n 2 + c。如果令人困惑,则n的值在下标中。该函数接受变量c(形式0 + 0j的某个复数)和n(迭代次数)。为了查看c是否在集合中,我需要测试z = z ** 2 + c> 2.如果> 2我需要归还假。现在我知道,当c = 0 + 0j和n = 25时,我应该得到True。但是我只能用非常小的n值来实现。我需要做些什么不同的事情。
def inMSet(c,n):
for x in range(0, n):
z = n**2 + c
if abs(z) > 2:
return False
else:
return True
答案 0 :(得分:2)
定义有一个iterative formula,从z=0
开始。
def inMSet(c,n):
z = 0
for x in range(0, n):
z = z**2 + c
if abs(z) > 2:
return False
return True
>>> inMSet(0+0j,25)
True