如下方法,可以生成著名的曼德布洛特集合。

def Mandelbrot_set():

Y, X = np.mgrid[-1.3:1.3:0.005, -2:1:0.005]

Z = X + 1j * Y

c = tf.constant(Z.astype(np.complex64))

zs = tf.Variable©

ns = tf.Variable(tf.zeros_like(c, tf.float32))

sess = tf.InteractiveSession()

tf.initialize_all_variables().run()

zs_ = zs * zs + c

not_diverged = tf.abs(zs_) < 5

step = tf.group(zs.assign(zs_), ns.assign_add(tf.cast(not_diverged, tf.float32)))

for i in range(300):

step.run()

X = ns.eval()

plt.imshow(X)

plt.show()

在这里插入图片描述

Mandelbrot集合,是分形理论的一个著名例子。从数学角度讲,就是满足如下条件的复平面上的点C的集合:



版权声明:本文为arzhh原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/arzhh/article/details/105456551