如何在极平面上表示对应于单个量的复数?
How to represent complex numbers corresponding to a single quantity in a polar plane?
我有一个 Python 列表,其中每行包含两列。第一列包含实数 (th),第二列包含复数 (voltage)。
0.25 (1.2457255255383563e-09 - 7.827999559008199e-11j)
0.225 (1.2769209019868422e-09 - 1.1957504414521587e-10j)
0.2 (1.3221477572417824e-09 - 1.6359636324117563e-10j)
0.175 (1.382055160135606e-09 - 2.0572240011775488e-10j)
0.125 (1.5471711559849657e-09 - 2.696133396356665e-10j)
0.075 (1.787743723105496e-09 - 2.8204767576743745e-10j)
0.025 (2.0887332185896165e-09 - 2.0611142376588599e-10j)
我想在极平面上绘制这些 电压 ,用它们对应的 th 值标记。
使用以下代码,其中 data
是我上面显示的 table:
def th_polar_plots(data):
th = []
vreal = []
vim = []
for row in data:
th.append(row[0])
voltage = complex(row[1])
vreal.append(voltage.real)
vim.append(voltage.imag)
plt.polar(th, vreal, 'ro-', th, vim, 'bo-')
plt.show()
我能够生成这个:
这不仅不正确,而且对我来说也没有任何意义。因为我需要的是每个带有 dot/circle 的电压向量,用于 th 值,因为将来我需要绘制更多这样的 th vs voltage tables 同平面比较.
编辑:为了更好的可读性,我在 table 中设置了间距和缩进的格式。
您在 plt.polar()
调用中的半径有误。在您的代码中尝试以下操作,
radius = np.sqrt(voltage.real**2 + voltage.imag**2)
plt.polar(th, radius, 'ro-')
我有一个 Python 列表,其中每行包含两列。第一列包含实数 (th),第二列包含复数 (voltage)。
0.25 (1.2457255255383563e-09 - 7.827999559008199e-11j)
0.225 (1.2769209019868422e-09 - 1.1957504414521587e-10j)
0.2 (1.3221477572417824e-09 - 1.6359636324117563e-10j)
0.175 (1.382055160135606e-09 - 2.0572240011775488e-10j)
0.125 (1.5471711559849657e-09 - 2.696133396356665e-10j)
0.075 (1.787743723105496e-09 - 2.8204767576743745e-10j)
0.025 (2.0887332185896165e-09 - 2.0611142376588599e-10j)
我想在极平面上绘制这些 电压 ,用它们对应的 th 值标记。
使用以下代码,其中 data
是我上面显示的 table:
def th_polar_plots(data):
th = []
vreal = []
vim = []
for row in data:
th.append(row[0])
voltage = complex(row[1])
vreal.append(voltage.real)
vim.append(voltage.imag)
plt.polar(th, vreal, 'ro-', th, vim, 'bo-')
plt.show()
我能够生成这个:
这不仅不正确,而且对我来说也没有任何意义。因为我需要的是每个带有 dot/circle 的电压向量,用于 th 值,因为将来我需要绘制更多这样的 th vs voltage tables 同平面比较.
编辑:为了更好的可读性,我在 table 中设置了间距和缩进的格式。
您在 plt.polar()
调用中的半径有误。在您的代码中尝试以下操作,
radius = np.sqrt(voltage.real**2 + voltage.imag**2)
plt.polar(th, radius, 'ro-')