MATLAB找到数组元素并有条件地添加到常量

时间:2015-02-22 19:52:06

标签: arrays matlab conditional addition

鉴于这一组角度:

  123.5280
  129.5280
  129.0130
  136.2960
  139.1640
  145.7430
  148.9800
  156.9080
  168.3440
  179.2340
    3.0840
    3.9720

我想确定那些< 90度

angles(angles < 90)

ans =

    3.0840
    3.9720

并仅将那两个因此添加180

  123.5280
  129.5280
  129.0130
  136.2960
  139.1640
  145.7430
  148.9800
  156.9080
  168.3440
  179.2340
  183.0840
  183.9720

我如何实现这一目标?

3 个答案:

答案 0 :(得分:2)

angles(angles < 90) = angles(angles < 90) + 180

答案 1 :(得分:2)

您正在寻找的行为称为(阶段)展开,并且内置函数unwrap用于

res = unwrap(angles / 90 * pi) / pi * 90

请注意,unwrap适用于弧度,跳跃为+/- pi,而不是2 * pi,因此我故意使用90 * pi而不是{{1}进行缩放}。另请参阅讨论here

答案 2 :(得分:1)

一行解决方案:

angles=angles+(angles<90)*180;