首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在matlab中将值收敛到范围[-pi,pi],而不是使用wraptopi

在matlab中将值收敛到范围[-pi,pi],而不是使用wraptopi
EN

Stack Overflow用户
提问于 2014-11-23 20:07:42
回答 1查看 8.8K关注 0票数 0

赋值是:相应地重置存储在矩阵中的值,以便它们位于此范围内-pi,pi。请注意不要使用任何非标准的Matlab函数来完成此操作。

(当然,对于任何整数n,角θ+ 2n*pi都是相同的。因此,例如: 1.5*pi的角度应该重置为-0.5*pi。)

非标准matlabfunction wraptopi会这样做(我认为),但是我不允许使用这个函数。我有种感觉,我可以用模组来做这件事,但我不知道怎么做。

有人能帮帮我吗?

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2014-11-23 22:34:16

要扩展@Ben Voight,可以这样使用模块化操作:

若要包装为0,2*pi,请执行以下操作:

代码语言:javascript
复制
angle_rad = angle_rad - 2*pi*floor(angle_rad/(2*pi));

要换到-pi,+pi,您需要添加另一个术语

代码语言:javascript
复制
angle_rad = angle_rad - 2*pi*floor( (angle_rad+pi)/(2*pi) ); 
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27093704

复制
相关文章

相似问题

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