我有一个数据文件,它是数组形式的。我想对数组中的所有复数进行规范化。但我不想使用z/Absz这种方法。我想用不同的方法,比如z得分。例如,在z-得分中,你可以找到标准差,你可以对所有的数字进行规范化,但我试图将复数规范化。那我该怎么做呢?
发布于 2013-10-27 23:23:04
Z-实数得分:
Z = (X - Avg) / SD
显而易见的方法,在脑海中,将是计算平均和标准差的真实平面和想象平面独立。
然后,我们大概会修改公式,使用类似sqrt(平方和)的方法将真实和想象的成分或分数结合起来。
Zr = (Xr - AvgR) / SDr
Zi = (Xi - AvgI) / SDi
最后:
Zc = sqrt( Zr^2 + Zi^2)
这可能是最直接的方式产生一个单一的Z-得分,从一个复杂的数字,在它的分布。
当然,这与“规范化”不同,因为“规范化”保留了单独的组件,以及我最初回答的内容。但我相信,一个分数,测量距离的平均值,是你想要的。
发布于 2015-11-18 12:09:24
您可以将复杂向量规范化为
norm = np.exp(1j*np.angle(z))
虽然速度慢,但比它有优势。
z/abs(z)
因为如果z是零,你做以上的计算,你会得到南。即使将nan移除0,您也会得到0,因为归一化长度不能为零。如果使用这个0长度归一化向量来设置任何其他向量的相位,则始终会得到0。这取决于你在寻找什么
或者你也可以
z1=z/abs(z)
z1[np.isnan(z)]=1
因为归一化长度应该是1
问候
https://stackoverflow.com/questions/19624830
复制相似问题