python – 删除相角不连续的最简单方法是什么
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 删除相角不连续的最简单方法是什么,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1049字,纯文字阅读大概需要2分钟。
内容图文
![python – 删除相角不连续的最简单方法是什么](/upload/InfoBanner/zyjiaocheng/744/75f3e5be7b024d2e8995be66591431e3.jpg)
说我想画一个相位数组
ph = [1, 40, 80, 179, -173, -150, -90, -40, -3, 3] on an X-Y plot.
[179,-173]之间的跳跃是如此可怕,以至于我使用mod(ph 360,360)来摆脱它.然而,这使得[-3,3]变为[357,3].
我知道我可以有一个循环去除这种不连续性.但我想知道是否有更优雅的方式.
解决方法:
您应该研究一维相位展开.在Matlab中有一个unwrap函数和Python中类似的numpy.unwrap用于弧度参数.在Matlab中:
ph = [1, 40, 80, 179, -173, -150, -90, -40, -3, 3];
ph2 = unwrap(ph*pi/180)*180/pi
返回:
ans =
Columns 1 through 7
1.0000 40.0000 80.0000 179.0000 187.0000 210.0000 270.0000
Columns 8 through 10
320.0000 357.0000 363.0000
如果要查看代码或者您确实需要特定于度的版本,请在命令窗口中键入edit unwrap.这是矢量输入的简化版本(有关每行的详细注释,请参阅unwrap):
function p = unwrap_deg(p)
m = length(p);
dp = diff(p,1);
dps = mod(dp+180,360)-180;
dps(dps==-180 & dp>0) = 180;
dp_corr = dps-dp;
dp_corr(abs(dp)<180) = 0;
p(2:m) = p(2:m)+cumsum(dp_corr);
然后
ph = [1, 40, 80, 179, -173, -150, -90, -40, -3, 3];
ph2 = unwrap_deg(ph)
返回
ans =
1 40 80 179 187 210 270 320 357 363
内容总结
以上是互联网集市为您收集整理的python – 删除相角不连续的最简单方法是什么全部内容,希望文章能够帮你解决python – 删除相角不连续的最简单方法是什么所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。