复数的标准化

时间:2013-10-27 23:15:20

标签: computer-science complex-numbers

我有一个数组形式的数据文件。我想规范化该数组中的所有复数。但我不想使用z / Abs [z]这种方法。我想使用像z-score这样的不同方法。例如,在z-score中你可以找到标准差,你可以标准化所有数字,但我试图规范化复数。那我该怎么办呢?

2 个答案:

答案 0 :(得分:0)

实数的Z分数:

Z = (X - Avg) / SD

想到的显而易见的方法是计算平均值&实平面的标准偏差&假想的飞机独立。

然后我们可能会改变公式,使用像sqrt(平方和)方​​法来组合真实和&虚构的成分或分数。

Zr = (Xr - AvgR) / SDr
Zi = (Xi - AvgI) / SDi

最后:

Zc = sqrt( Zr^2 + Zi^2)

这可能是从其分布中的复数中产生单个Z分数的最直接方式。

这当然不同于“标准化”,它将保留单独的组件以及我最初回答的内容。但是我相信,只有一个分数,衡量与平均值的距离,就是你在这里所追求的。

答案 1 :(得分:0)

您可以将复杂矢量标准化为

norm = np.exp(1j*np.angle(z))

虽然速度较慢但优于

z/abs(z)

因为如果z为零并且你进行上述计算,你将得到nan。即使你将nan移除0,你也会得到0,因为标准化长度不能为零。如果你使用这个0长度标准化向量来设置任何其他向量的相位,你将总是得到0.这取决于你在搜索什么

或者你可以做

z1=z/abs(z)
z1[np.isnan(z)]=1

因为标准化长度应为1

问候