错误使用 coder.internal.errorIf (line 8) Data set must contain at least 3 samples. 出错 findpeaks>parse_inputs (line 254) coder.internal.errorIf(cond,'signal:findpeaks:emptyDataSet'); 出错 findpeaks (line 134) = parse_inputs(Yin,varargin{:}); 出错 text (line 18) [pks, locs] = findpeaks(d3, 'MinPeakHeight', thr, 'MinPeakDistance', 0.2 * fs); % 检测模极大值
时间: 2024-02-05 22:02:43 浏览: 174
8-3coder.rar_if _priority encoder_向上相与
这个错误是因为你使用了`findpeaks`函数,但输入的信号样本数不足3个,因此无法进行峰值检测。解决这个问题的方法是修改输入信号,使其包含至少3个样本。如果无法修改输入信号,你可以添加一个特判来避免调用`findpeaks`函数,例如:
```matlab
if length(d3) < 3
% 处理样本数不足3个的情况
else
[pks, locs] = findpeaks(d3, 'MinPeakHeight', thr, 'MinPeakDistance', 0.2 * fs); % 检测模极大值
end
```
这样,当样本数不足3个时,就不会调用`findpeaks`函数,避免了上述错误的发生。
阅读全文