次の問題があります。次の関数を評価したい
def sigLinZ(self,val,omega):
A = 1
C = 0
D = 1
B =1./(omega*val*1j)
return np.asmatrix(np.array([[A,B],[C,D]]))
そのような方法でpyplotで使用できるように:
omega = numpy.arange(0,100,1)
y = classInstance.sigLinZ(12,omega)
plt.plot(omega,y)
しかし、これは機能しません。パイソンは次のように述べています。
Traceback (most recent call last):
File "testImpedanz.py", line 132, in test6_lineImpedanz
print "neue Matrix: ", lineImpe.sigLinZ('C',lineImpe.C(),np.array([600e6,300e6]))
File "/afs/physnet.uni-hamburg.de/users/ap_h/pgwozdz/Dokumente/PythonSkriptsPHD/ImpedanzCalculation.py", line 350, in sigLinZ
return np.mat(np.array([[A,B],[C,D]]))
TypeError: only length-1 arrays can be converted to Python scalars
numpy 関数の場合、この手順は問題なく機能しますが、私の関数ではまったく機能しません。