如何使用 Matplotlib 绘制复数(Argand 图)? 您所在的位置:网站首页 origin复数作图 如何使用 Matplotlib 绘制复数(Argand 图)?

如何使用 Matplotlib 绘制复数(Argand 图)?

2024-07-11 22:32| 来源: 网络整理| 查看: 265

如何使用 Matplotlib 绘制复数(Argand 图)?

复数是数学中很重要的一个概念,我们可以用它来描述电磁波,信号、噪声等,并且在很多物理、数学、工程学科中都有应用。Argand 图是一种用于图形化表示复数的方式,也称为复平面,通常用于可视化复数平面中的运算和变化。Matplotlib是一个常用的Python数据可视化库,可以很方便地绘制Argand 图。在本篇文章中,我们将介绍如何使用Matplotlib绘制复数、Argand 图,示例代码将使用Python语言编写。

什么是复数?

复数是由实数部分和虚数部分组成的数,通常表示为 a+bi 的形式,其中 a 和 b 为实数,i 则是虚数单位,满足 i^2=-1 。在复数中,实部和虚部都可以看做是一个实数,因此在几何上就可以将其表示为平面直角坐标系中的一个点。

如何使用 Matplotlib 绘制复数?

在 Matplotlib 中,我们可以使用scatter函数绘制复数,因为复数可以被看作是平面上的一个点。下面的示例代码展示了如何使用Matplotlib绘制复数。

import matplotlib.pyplot as plt # 创建一个空画布 fig, ax = plt.subplots() # 绘制一个实部为 2,虚部为 3i 的复数点 ax.scatter(2, 3) # 显示画布 plt.show()

上述代码将绘制出一个实部为 2,虚部为 3i 的蓝点。

由于复数可以有不同的实部和虚部,我们可以通过循环来绘制多个复数。下面的示例代码中,我们会生成一些具有随机实部和虚部的复数,并用不同的颜色表示它们,在我们的 Argand 图中可以看到这些点的分布情况。

import matplotlib.pyplot as plt import numpy as np # 创建一个空画布 fig, ax = plt.subplots() # 生成 100 个复数,每个复数的实部和虚部都是在 [-5, 5] 区间生成的随机数 complex_numbers = np.random.uniform(-5, 5, size=(100, 2)) + 1j * np.random.uniform(-5, 5, size=(100, 2)) # 为每个复数分配一个随机的颜色 colors = np.random.rand(100) # 绘制所有的复数点,每个点的颜色随机分配 ax.scatter(complex_numbers.real, complex_numbers.imag, c=colors) # 设置坐标轴标签和标题 ax.set_xlabel('Real') ax.set_ylabel('Imag') ax.set_title('Argand plane with 100 complex numbers') # 显示画布 plt.show()

上述代码将绘制出一个包含 100 个复数的 Argand 图。

在图中,我们可以看到每个点表示了一个复数,其中横轴表示实部,纵轴表示虚部,点的颜色是随机分配的。这样,我们就能很方便地可视化复平面中的数据分布。

如何绘制复数的运算?

除了可视化复数的分布情况,我们还可以利用Argand图,将复数的算术运算可视化。本节中,我们将介绍如何绘制复数的加法、减法和乘法的Argand图。

复数的加法

复数的加法采用“平移”的方式,也就是将一个复数平移到另一个复数的位置上,然后绘制出它们的和。下面的示例代码演示如何将两个实部和虚部分别为 a_1+b_1i 和 a_2+b_2i 的复数相加,并绘制出它们的和的 Argand 图。

import matplotlib.pyplot as plt # 两个复数 a1, b1 = 2, 3 a2, b2 = 1, 2 # 绘制两个复数的位置 fig, ax = plt.subplots() ax.scatter(a1, b1, label='z1') ax.scatter(a2, b2, label='z2') # 绘制复数的和 a_sum, b_sum = a1 + a2, b1 + b2 ax.scatter(a_sum, b_sum, label='z1+z2', c='r') # 添加图例、坐标轴标签和标题 ax.legend() ax.set_xlabel('Real') ax.set_ylabel('Imag') ax.set_title('Complex addition') plt.show()

上述代码将绘制出两个复数和它们的和的 Argand 图。

在图中,我们可以看到两个复数分别被绘制为蓝色和绿色的点,它们被平移到了一起,它们的和被绘制为红色的点。

复数的减法

复数的减法实质上就是加上一个相反数,因此可以通过将一个复数加上它的相反数来实现复数的减法。下面的示例代码演示如何将两个实部和虚部分别为 a_1+b_1i 和 a_2+b_2i 的复数相减,并绘制出它们的差的 Argand 图。

import matplotlib.pyplot as plt # 两个复数 a1, b1 = 2, 3 a2, b2 = 1, 2 # 绘制两个复数的位置 fig, ax = plt.subplots() ax.scatter(a1, b1, label='z1') ax.scatter(a2, b2, label='z2') # 绘制复数的差 a_diff, b_diff = a1 - a2, b1 - b2 ax.scatter(a_diff, b_diff, label='z1-z2', c='r') # 添加图例、坐标轴标签和标题 ax.legend() ax.set_xlabel('Real') ax.set_ylabel('Imag') ax.set_title('Complex subtraction') plt.show()

上述代码将绘制出两个复数和它们的差的 Argand 图。

在图中,我们可以看到两个复数分别被绘制为蓝色和绿色的点,它们被平移到了一起,它们的差被绘制为红色的点。

复数的乘法

复数的乘法可以通过对它们的实部、虚部进行展开计算得到。下面的示例代码演示如何将两个实部和虚部分别为 a_1+b_1i 和 a_2+b_2i 的复数相乘,并绘制出它们的积的Argand 图。

import matplotlib.pyplot as plt # 两个复数 a1, b1 = 2, 3 a2, b2 = 1, 2 # 绘制两个复数的位置 fig, ax = plt.subplots() ax.scatter(a1, b1, label='z1') ax.scatter(a2, b2,label='z2') # 绘制复数的积 a_mul, b_mul = a1 * a2 - b1 * b2, a1 * b2 + a2 * b1 ax.scatter(a_mul, b_mul, label='z1*z2', c='r') # 添加图例、坐标轴标签和标题 ax.legend() ax.set_xlabel('Real') ax.set_ylabel('Imag') ax.set_title('Complex multiplication') plt.show()

上述代码将绘制出两个复数和它们的积的Argand 图。

在图中,我们可以看到两个复数分别被绘制为蓝色和绿色的点,它们被平移到了一起,它们的积被绘制为红色的点。

结论

在本文中,我们已经学习了如何使用Matplotlib绘制复数的Argand图,如何将复数的算术运算可视化。我们还学习了如何在Argand图中绘制多个复数和一个具有随机实部和虚部的复数集合,并展示了不同的颜色。希望这篇文章能对你理解复数的基本概念和运算有所帮助,同时也能提高使用Matplotlib进行可视化的能力。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有