[英]Python Numpy Matrix - Return the value contained in the matrix?
我有一個包含值的1x1矩陣。 我只想要價值。
矩陣([[--0.16666667 + 0.66666667j]])
我想要該矩陣內的復數。 我如何得到它?
>>> m = matrix([[-1.0/6 + (2.0j/3)]])
>>> m
matrix([[-0.16666667+0.66666667j]])
>>> m.shape
(1, 1)
>>> m[0,0]
(-0.16666666666666666+0.66666666666666663j)
>>> m[(0,0)]
(-0.16666666666666666+0.66666666666666663j)
或者,當我們在這樣做時:
>>> m.tolist()[0][0] # seldom useful, though
(-0.16666666666666666+0.6666666666666666j)
>>> m.flat[0] # more frequently useful
(-0.16666666666666666+0.66666666666666663j)
為了使OP確信以上實際上是一個復數:^)-
>>> m[(0,0)]
(-0.16666666666666666+0.66666666666666663j)
>>> type(m[(0,0)])
<type 'numpy.complex128'>
>>> x = m[(0,0)]
>>> x + 3
(2.8333333333333335+0.66666666666666663j)
>>> abs(x)
0.68718427093627676
>>> x.real
-0.16666666666666666
>>> x.imag
0.66666666666666663
[編輯以更正我的電話號碼和OP之間的符號差異。 我什么都沒改變,但是一經發現就忍不住了。
使用上面示例中的數據,以下Python代碼段似乎也可以工作。
import numpy
m = numpy.matrix([[-0.16666667+0.66666667j]])
print m.item(0)
# the result of running the above is
(-0.16666667+0.66666667j)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.