有一段时间我在考虑解决这个问题。我有一个在 0 到 355 之间变化的角度数据 (Angle(~20000,1)) 的注册(连接到旋转测试机的电位计),我想将其转换为增量形式,因为我想要最终的总角度移位。主要问题是在 355 和下一个 0 之间没有跳跃,而是快速递减(时间与角度空间的斜率很大)。到目前为止,我已经尝试了两种方法:
计算
Angslope=diff(Angle)
, 提取并找到索引j1=find(Angslope>0.2 & Angslope<0.2)
以避免由于角度信号的反转而导致的负斜率,然后尝试将这些索引应用于原始Angle(n,1)
,如Angle2=Angle(j1)
。问题在于 Angslope 的 n-1 长度,以及不知何故,我的一个位置的索引并没有简单的移动。对于循环和逻辑,如果前一个小于当前值等,则希望排除数据
Angle2=zeros(size(Angle,1),1); for i=2:size(Angle,1) if Angle(i,1)<Angle(i-1,1) Angle2(i,1)=NaN; else Angle2(i,1)=Angle(i,1); end end
哪个效果很好,但我不知道如何“匹配”我获得的单个增量步骤!
任何帮助或简单的评论都会有很大的帮助!!