Python Numpy Matrix - 返回矩阵中包含的值?

发布于 2024-10-16 03:27:08 字数 107 浏览 0 评论 0原文

我有一个 1x1 矩阵,其中包含一个值。我只想要价值。

array([[-0.16666667+0.66666667j]])

我想要该矩阵内的复数。我怎样才能得到它?

I have a 1x1 matrix that contains a value. I want just the value.

matrix([[-0.16666667+0.66666667j]])

I want the complex number inside that matrix. How do I get it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

深海里的那抹蓝 2024-10-23 03:27:08
>>> 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之间的符号差异。没有改变任何东西,但一旦我注意到就无法忍受看它..]

>>> 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)

or, while we're at it:

>>> m.tolist()[0][0] # seldom useful, though
(-0.16666666666666666+0.6666666666666666j)
>>> m.flat[0]  # more frequently useful
(-0.16666666666666666+0.66666666666666663j)

To convince the OP that the above is actually a complex number :^) --

>>> 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

[Edited to correct a sign difference between my number and the OP's. Doesn't change anything but couldn't stand looking at it once I noticed..]

篱下浅笙歌 2024-10-23 03:27:08

使用上面示例中的数据,以下 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)

The following Python snippet also seems to work, using the data in your example above.

import numpy

m = numpy.matrix([[-0.16666667+0.66666667j]])

print m.item(0)

# the result of running the above is 
(-0.16666667+0.66666667j)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文