作者yaujack (大头)
看板MATLAB
标题[运算] 请问如何算出现有波型的起点
时间Tue Nov 26 13:58:44 2013
假设我现在手边有一组data, 里面有640个数值
这640个数值一个点一个点描绘出来会得到一个波型
我想请问的是我要如何作才能得到这个波型的起始点的index呢?
我本来的想法是在波型开始之前, 点的数值应该不会有太剧烈的震荡
我就用一个for回圈对这组data的640个点一一检察,
当碰到第一个「数值大於150」的点时, 那个点就是波型的起始点
for j=1:640
if (abs(start(j)) >= 150)
[val index] = start(j);
end
break
end
我的回圈应该要在第一次找到「数值大於150」的点时停下来
但我发现我不知道该怎麽让它判定在这个时候停下来...
上面的code只会在j=1跑完之後就停了QQ
当然我也可以直接用绘图的功能把这组data画出来再去看点座标
但实际上是我有400组data, 我的需求是将这400个波型的起始点index都得到
我不可能手动画400次图吧>"<
不知道有没有高手能提供一些想法呢?
拜托各位了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.207.166
※ 编辑: yaujack 来自: 140.112.207.166 (11/26 14:01)
1F:推 profyang:我觉得你的逻辑用while可能比较好 从第1点开始往右扫 11/26 14:08
2F:→ profyang:不然就直接x=find(start>150); xs=min(x); 11/26 14:09
3F:→ yaujack:噢感谢楼上! 这样简单很多了!! 11/26 14:26