Python 试图绘制矩阵的列,但遇到一些错误

Python 试图绘制矩阵的列,但遇到一些错误,python,python-3.x,loops,matrix,nested-loops,Python,Python 3.x,Loops,Matrix,Nested Loops,我试图画出一个系统的频率响应函数。我在绘制不同阻尼值d和不同频率omega的幅值时遇到了一些困难。最后,我要构造一个大小为600*9的矩阵tf。这个tf的每一列都是根据omega绘制的。但我在做这件事时犯了一些错误。下面是我如何尝试执行的 import matplotlib.pyplot as plt import numpy as np import sympy as sp m = 1; k = 1; d = np.arange(0.1, 1, 0.1); omegan = sp.sqrt(k

我试图画出一个系统的频率响应函数。我在绘制不同阻尼值
d
和不同频率
omega
的幅值时遇到了一些困难。最后,我要构造一个大小为600*9的矩阵
tf
。这个
tf
的每一列都是根据
omega
绘制的。但我在做这件事时犯了一些错误。下面是我如何尝试执行的

import matplotlib.pyplot as plt
import numpy as np
import sympy as sp
m = 1;
k = 1;
d = np.arange(0.1, 1, 0.1);
omegan = sp.sqrt(k/m);
omega = np.arange(-1, 5, 0.01);
s = sp.I*omega;
tf=np.zeros((len(omega), len(d)))

for p in range(0, len(omega)): 
    for q in range(0, len(d)): 
      tf[p,q]=(1/(m*omega[p])**2)/((((omegan/(omega[p]))**2)-1) + (sp.I*2*(d[q]))*(omegan/(omega[p])))
      
      
mag = np.abs(tf);      
np.shape(mag)

plt.plot(tf[:,1], omega, color='blue', linewidth=3)
plt.show()