python编写曼德勃罗集
时间: 2023-10-17 17:12:12 浏览: 155
用python实现绘制Julia集与Mandelbrot集
曼德勃罗集(Mandelbrot set)是一种分形图形,由于其复杂的结构和美丽的图案而备受关注。Python可以用来编写曼德勃罗集的计算和绘图程序。下面是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
def mandelbrot(c, max_iter):
z = c
for i in range(max_iter):
if abs(z) > 2:
return i
z = z**2 + c
return 0
def mandelbrot_set(xmin, xmax, ymin, ymax, width, height, max_iter):
x = np.linspace(xmin, xmax, width)
y = np.linspace(ymin, ymax, height)
pixels = np.zeros((height, width))
for i in range(height):
for j in range(width):
pixels[i, j] = mandelbrot(x[j] + 1j*y[i], max_iter)
return pixels
xmin, xmax, ymin, ymax = -2, 2, -2, 2
width, height = 500, 500
max_iter = 100
pixels = mandelbrot_set(xmin, xmax, ymin, ymax, width, height, max_iter)
plt.imshow(pixels, cmap='jet', extent=(xmin, xmax, ymin, ymax))
plt.title('Mandelbrot Set')
plt.xlabel('Real Axis')
plt.ylabel('Imaginary Axis')
plt.show()
```
上面的代码中,`mandelbrot`函数用于计算曼德勃罗集中某个点的迭代次数,`mandelbrot_set`函数用于计算整个曼德勃罗集的像素矩阵。最后,我们使用Matplotlib库中的`imshow`函数将像素矩阵绘制成图像,并使用`extent`参数设置坐标轴范围。
运行上面的代码,将得到一个美丽的曼德勃罗集图像。你可以尝试修改代码中的参数,比如迭代次数和图像大小,看看会有什么不同的效果。
阅读全文