我正在尝试分析并将滤波器应用于信号(测量)。问题是在记录测量值时,在2个时间戳之间,没有记录该值,因此用于记录这些测量值的程序只连接了这两个松散的末端,这对我的算法来说是一个问题。我想根据这种异常将信号分成多个部分。我需要自动执行此操作。
以下是这种异常的例证:
下面我有plot(diff(t))
的照片:
我想帮助检测这种异常并在此时切断信号。所以在我的例子中,信号将被分成3个部分。
Ps - 我的第一张图中有2个异常,我刚刚放大到1以正确显示
这是我到目前为止提出的代码:
a = diff(t);
[value, ind] = findpeaks(a,'thresold',0.5);
for i = 1:length(ind)
T(i) = %not sure how to use here
end
使用高峰图片进行编辑:
ind的价值:[3557; 7550]
答案 0 :(得分:0)
使用findpeaks函数怎么样?
以下是一个例子。
function getFruit(callback) {
var result;
result = "banana";
// Make sure the callback is a function
if (typeof callback === "function") {
// Call it, since we have confirmed it is callable
callback(result);
}
return result;
}
getFruit(function(result){
alert(result);
});
结果如下。
为了找到索引,
var result;
function getFruit(callback) {
result = "banana";
// Make sure the callback is a function
if (typeof callback === "function") {
// Call it, since we have confirmed it is callable
callback();
}
}
getFruit(function(){
alert(result);
});
此处,a=[0 0 0 0 0 1 0 0 0 0 1 0 0 0];
findpeaks(a,'threshold',0.5);
将是峰值指数。
在你的情况下,
[value, ind]=findpeaks(a,'threshold',0.5);