首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >复数归一化

复数归一化
EN

Stack Overflow用户
提问于 2013-10-27 23:15:19
回答 2查看 8.8K关注 0票数 1

我有一个数据文件,它是数组形式的。我想对数组中的所有复数进行规范化。但我不想使用z/Absz这种方法。我想用不同的方法,比如z得分。例如,在z-得分中,你可以找到标准差,你可以对所有的数字进行规范化,但我试图将复数规范化。那我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-27 23:23:04

Z-实数得分:

代码语言:javascript
运行
复制
Z = (X - Avg) / SD

显而易见的方法,在脑海中,将是计算平均和标准差的真实平面和想象平面独立。

然后,我们大概会修改公式,使用类似sqrt(平方和)的方法将真实和想象的成分或分数结合起来。

代码语言:javascript
运行
复制
Zr = (Xr - AvgR) / SDr
Zi = (Xi - AvgI) / SDi

最后:

代码语言:javascript
运行
复制
Zc = sqrt( Zr^2 + Zi^2)

这可能是最直接的方式产生一个单一的Z-得分,从一个复杂的数字,在它的分布。

当然,这与“规范化”不同,因为“规范化”保留了单独的组件,以及我最初回答的内容。但我相信,一个分数,测量距离的平均值,是你想要的。

票数 1
EN

Stack Overflow用户

发布于 2015-11-18 12:09:24

您可以将复杂向量规范化为

代码语言:javascript
运行
复制
norm = np.exp(1j*np.angle(z))

虽然速度慢,但比它有优势。

代码语言:javascript
运行
复制
z/abs(z)

因为如果z是零,你做以上的计算,你会得到南。即使将nan移除0,您也会得到0,因为归一化长度不能为零。如果使用这个0长度归一化向量来设置任何其他向量的相位,则始终会得到0。这取决于你在寻找什么

或者你也可以

代码语言:javascript
运行
复制
z1=z/abs(z)
z1[np.isnan(z)]=1

因为归一化长度应该是1

问候

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19624830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档