Minmax规范化抛弃了复杂的部分?

2024-04-25 21:15:10 发布

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

我目前正在尝试将numpy.ndarray公司包含复数,但由于某种原因,我的实现正在丢弃复杂的部分。。为什么?你知道吗

def numpy_minmax(X):
    xmin =  X.min()
    print X.min()
    print X.max()
    return (2*(X - xmin) / (X.max() - xmin)-1)*0.9

Tags: numpyreturndef公司minmax复数print
1条回答
网友
1楼 · 发布于 2024-04-25 21:15:10

复数的最小值或最大值是一个未定义的概念。这就是NumPy在获取数组的最大值或最小值时忽略虚部的原因。你知道吗

通常,归一化包括居中缩放。你知道吗

复数数组中心的自然概念是包含复数的最小圆盘的中心。但是这个(切比雪夫中心)有点难以计算。一种简单的居中方法是取最小的轴对齐的包含数字的矩形。这包括分别查看实部和虚部的最大/最小值:

a = (np.real(X).min() + np.real(X).max())/2.0
b = (np.imag(X).min() + np.imag(X).max())/2.0
Y = X - complex(a, b)

接下来是缩放。看起来您希望数字的绝对值最多为0.9。这可以通过使用Y元素绝对值的最大值来安排

return 0.9*Y/np.abs(Y).max()

这不是唯一可以继续的方法;但对我来说,上面的内容似乎是您的代码对复杂情况的最直接的改编。你知道吗

相关问题 更多 >