最小值对于复数

2024-09-30 00:27:46 发布

您现在位置:Python中文网/ 问答频道 /正文

在最小值似乎不适用于复数:

np.minimum(5+3*1j,4+30*1j)
(4+30j)

我想保持最大值的值。 它只比较真实的部分。还有其他函数可以进行元素最小比较吗?matlabmin可以处理复数。 谢谢


Tags: 函数元素np复数minimummatlabmin
3条回答

你能做到的

X = np.array([3+4j, 10+5j, 1+1j])
min_X = min(X, key=np.abs)
print(min_X)
Out: (1+1j)

您可以使用^{}^{}

假设你有

vals1 = [4+30*1j, 7+3*1j, 4+30*1j]
vals2 = [5+3*1j, 6+3*1j, 5+3*1j]

那么

^{pr2}$

如果要按大小比较复数,可以使用内置的abs,然后比较结果:

>>> np.minimum(abs(5+3*1j),abs(4+30*1j))
5.830951894845301

要获得最小的初始值而不是其大小,请使用argmin

^{pr2}$

相关问题 更多 >

    热门问题