如何在 numpy 矩阵中使用这个复数?
How can I use this complex number in numpy matrix?
这是我正在处理的 Python 代码:
def inver_hopf(x,y,z):
return (1/np.sqrt(x**2+y**2+(1+z)**2))*np.matrix([[1+z],[x+y.j]],dtype=complex)
问题发生在[x+y.j]
,其中j
表示复数单位。它 returns 我的错误消息 AttributeError: 'int' object has no attribute 'j'
。如果我删除点,那么它 returns NameError: name 'yj' is not defined
。我该如何纠正?谢谢!
与其尝试使用 x
和 y
变量直接写入复数,不如尝试将其传递给 complex
class。示例:
def inver_hopf(x, y):
return np.matrix([complex(x, y)], dtype=complex)
这取决于您要使用代码存档的内容。
在一般写作中 y.j
(object.attribute
) 您想要访问所述对象的属性。在您的情况下,对象 y
的属性 j
(在您的示例中为 int
)。
如果我对你的理解正确,你想要一个矩阵,其中第一个条目是纯实数,值为 1+z
,第二个条目是纯虚数 x+y
。为此,您需要将纯实数总和 x+y
乘以 j
.
这将导致:
def inver_hopf(x,y,z):
return (1/np.sqrt(x**2+y**2+(1+z)**2))*np.matrix([[1+z],[(x+y)*1j]],dtype=complex)
j
单独是一个变量,你可以输入 1j
得到复数
这是我正在处理的 Python 代码:
def inver_hopf(x,y,z):
return (1/np.sqrt(x**2+y**2+(1+z)**2))*np.matrix([[1+z],[x+y.j]],dtype=complex)
问题发生在[x+y.j]
,其中j
表示复数单位。它 returns 我的错误消息 AttributeError: 'int' object has no attribute 'j'
。如果我删除点,那么它 returns NameError: name 'yj' is not defined
。我该如何纠正?谢谢!
与其尝试使用 x
和 y
变量直接写入复数,不如尝试将其传递给 complex
class。示例:
def inver_hopf(x, y):
return np.matrix([complex(x, y)], dtype=complex)
这取决于您要使用代码存档的内容。
在一般写作中 y.j
(object.attribute
) 您想要访问所述对象的属性。在您的情况下,对象 y
的属性 j
(在您的示例中为 int
)。
如果我对你的理解正确,你想要一个矩阵,其中第一个条目是纯实数,值为 1+z
,第二个条目是纯虚数 x+y
。为此,您需要将纯实数总和 x+y
乘以 j
.
这将导致:
def inver_hopf(x,y,z):
return (1/np.sqrt(x**2+y**2+(1+z)**2))*np.matrix([[1+z],[(x+y)*1j]],dtype=complex)
j
单独是一个变量,你可以输入 1j