如下方法,可以生成著名的曼德布洛特集合。
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的集合:
上面的代码是在Tensorflow1.0下完成的,风格和py