如何在Python中绘制复数?
绘制复数的图像可以直观地展示复数的概念及其运算规律,同时也是学习Python科学计算的一个很好的实践。在Python中,我们可以使用matplotlib库来绘制复数的图像。
在绘制复数图像前,我们先来简单了解一下复数的概念。
阅读更多:Python 教程
复数的概念
复数可以表示为实部和虚部的和,其中虚部用小写字母 j 表示,例如:
z = a + bj
其中, a 为实部, b 为虚部, j 为虚数单位。复数的图像表示中,可以把实部和虚部分别作为坐标轴的横、纵坐标,将复数对应的点绘制到平面直角坐标系中。
绘制复数图像
使用matplotlib库来绘制复数图像,需要导入库并创建一个坐标系对象,示例如下:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
接下来,我们来绘制一些复数的图像。
复平面
复平面可以理解为一个二维坐标系,平面内有一个实数轴和一个虚数轴。我们可以通过将复数对应的点绘制到这个平面上来展示复数的图像,示例代码如下:
import numpy as np
# 创建一组复数
z = 1 + 1j
ax.plot(z.real, z.imag, 'ro') # 将复数对应的点绘制成红色的圆点
# 设置坐标轴范围
ax.set_xlim([-2, 2])
ax.set_ylim([-2, 2])
# 添加网格线
ax.grid(True)
plt.show()
该代码会绘制一个实部为1,虚部为1的点
极坐标系
除了使用二维直角坐标系之外,我们还可以使用极坐标系来展示复数的图像。在极坐标系下,复数被表示为极径和极角,示例代码如下:
fig, ax = plt.subplots(subplot_kw={'projection': 'polar'})
# 创建一组复数
z = 1 + 1j
# 将复数转换为极坐标系下的坐标
r = np.abs(z)
theta = np.angle(z)
ax.plot(theta, r, 'ro')
# 添加网格线
ax.grid(True)
plt.show()
该代码会绘制出一个极角为45度,极径为根号2的点
几何意义
我们可以将一组复数看作是向量的形式,对应到图像上就是向量的终点。在这种情况下,我们可以通过加减乘除等运算来展示复数的运算规律。示例代码如下:
# 创建一组复数
z1 = 1 + 1j
z2 = 2 + 2j
# 绘制向量
ax.arrow(0, 0, z1.real, z1.imag, head_width=0.1, head_length=0.1, fc='r', ec='r')
ax.arrow(0, 0, z2.real, z2.imag, head_width=0.1, head_length=0.1, fc='b', ec='b')
# 绘制和与积
ax.arrow(0, 0, (z1+z2).real, (z1+z2).imag, head_width=0.1, head_length=0.1, fc='g', ec='g')
ax.arrow(0, 0, (z1*z2).real, (z1*z2).imag, head_width=0.1, head_length=0.1, fc='y', ec='y')
# 设置坐标轴范围
ax.set_xlim([-4, 4])
ax.set_ylim([-4, 4])
# 添加网格线
ax.grid(True)
plt.show()
该代码会绘制出两个向量(红色和蓝色),以及它们的和(绿色)和积(黄色)
结论
绘制复数图像是展示复数概念和运算规律的重要手段,在Python科学计算中,我们可以使用matplotlib库来实现复数图像的绘制。通过使用二维直角坐标系或者极坐标系,我们可以直观的展示复数的形式和性质,因此在复数的学习和实践中,掌握复数图像绘制技术是非常有意义的。
极客笔记