Skip to main content
 首页 » 编程设计

Python Numpy 矩阵之返回矩阵中包含的值

2025年05月04日10cloudgamer

我有一个包含值的 1x1 矩阵。我只想要值(value)。

矩阵([[-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 之间的符号差异。没有改变任何东西,但一旦我注意到就无法忍受看着它..]