Arrays MATLAB查找数组元素并有条件地添加到常数
给定此角度阵列:Arrays MATLAB查找数组元素并有条件地添加到常数,arrays,matlab,conditional,addition,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 我想确定
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
如何实现这一点?角度(角度<90)=角度(角度<90)+180
angles(angles < 90) = angles(angles < 90) + 180
角度(角度<90)=角度(角度<90)+180
您正在寻找的行为称为(相位)展开,并且有一个内置函数
请注意,
unwrap
以弧度工作,跳跃+/-pi,而不是您要求的2*pi,因此我有意使用90*pi
而不是180*pi
进行缩放。另请参见讨论。您正在寻找的行为称为(相位)展开,并且有一个内置函数用于此操作
请注意,unwrap
以弧度工作,跳跃+/-pi,而不是您要求的2*pi,因此我有意使用90*pi
而不是180*pi
进行缩放。另请参见讨论。一行解决方案:
angles=angles+(angles<90)*180;
角度=角度+(角度一行解决方案:
angles=angles+(angles<90)*180;
angles=angles+(anglesind=angles<90;angles(ind)=angles(ind)+180;
@Jubobs:没有更多要添加的了。请回答这个问题!谢谢@Jubobs——请将它添加为答案,以便我可以给它打勾ind=angles<90;angles(ind)=angles(ind angles)(ind)+180;
@Jubobs:没什么可补充的了。请回答!谢谢@Jubobs--请将它添加为答案,这样我就可以给它打勾了
angles=angles+(angles<90)*180;