在复杂矢量的matlab图中,将得到虚部与实部的图。
matplotlib中是否有等效函数?
显然这会奏效:
def plotcomplex(c, *args):
plot(real(c), imag(c), args)
但是它已经存在吗?
答案 0 :(得分:0)
似乎没有原生复数绘图功能。建立自己的。
答案 1 :(得分:0)
我本人对此进行了调查,因为将来自函数的向量(数组)输出划分为绘图函数的实部和虚部可能很不方便。例如,f(x).real, f(x).imag
将调用该函数两次。我得到的最接近的结果是使用numpy的“ view”方法将复数向量转换为有序实数向量,从函数中返回该值,然后在plot函数中将其解压缩为“ *”。此示例在复杂平面上绘制超心形图案的示例说明了该技术:
import numpy as np
import matplotlib.pyplot as plt
def z(n):
t = np.linspace(-np.pi, np.pi, 1000)
c = 0.25 * n
for n in range(1,n+1):
c = c - (-1) ** n * np.exp(1j * n * t) / (2 * n)
return c.view('(2,)float').T
plt.plot( *z(2), *z(3), *z(4), *z(5), *z(6), '-', lw=3 )
plt.axis('scaled')
plt.show()
答案 2 :(得分:0)
只是稍微相关一点,但是您可以使用cplot(例如,我的一个项目)来使用domain coloring绘制复杂值函数,例如,
import cplot
import numpy
cplot.show(numpy.sin, -5, +5, -5, +5, 100, 100)