如何更改运行代码?有必要运行在实轴和虚轴上生成函数w(omega) = 1/(1 + 1j*omega)
的图形。
import matplotlib.pyplot as plt
import numpy as np
def func(a):
for x in range(len(a)):
plt.plot([0, a[x].real], [0, a[x].imag], 'ro-', label='python')
limit=np.max(np.ceil(np.absolute(a))) # set limits for axis
plt.xlim((-limit,limit))
plt.ylim((-limit,limit))
plt.ylabel('Imaginary')
plt.xlabel('Real')
plt.show()
omega = np.linspace(-4, 4, 251)
a = np.arange(1) + 1j*np.arange(omega, 1)
func(a)
答案 0 :(得分:0)
回答您的具体问题:错误来自于arange
是一个数组,但omega
期望标量参数:从步骤到值。由于它得到长度为1的数组(omega
),因此无法确定应选择omega
的哪个值作为范围的起点。因此错误:arange
无法转换为标量(这将使a
工作)。
但目前还不清楚你为什么要用这种方式进行绘图,以及你想要放入数组position:absolute;
的确切内容。