我正在尝试使用findpeaks()
函数找到数据集的局部最大值,到目前为止我有这段代码:
[pks, locs] = findpeaks(signal);
max_times = zeros(size(locs));
if n = 1:size(locs);
max_times(n) = (times(locs(n)));
end
我想做什么? 我有一组信号数据和相应的时间。我想得到局部最大值并输出两个向量;最大信号值及其发生的时间。
我是怎么做的? 我正在使用findpeaks函数来查找最大值的峰值(pks)和位置(locs)。然后我设置一个与locs向量长度相同的空白数组,然后使用if循环用最大值出现的时间填充空的max_times(n)向量
问题? 我一直收到关于if循环的错误Expression or statement is incomplete or incorrect.
。我不明白这意味着什么/如何解决这个问题/编辑我的代码让它做我想做的事情?
感谢您的帮助!
答案 0 :(得分:0)
你在想什么是完全错误的。
If
不是一个循环,它是一个条件语句
你想要的是一个for
循环
for n = 1:size(locs)
% your code
end
同样times
有两个参数,你应该自己弄清楚它应该是什么