我在试着实时检测ecg信号的r个峰值。我应该一件一件地做。所以我使用了一个for循环,它遍历了我已经加载的心电信号的样本。但它不是这样工作的,因为我用来过滤样本的过滤器是window过滤器,而另一个过滤器是filtfilt,它需要大于6个样本的数据才能运行。
我尝试了以下代码:
for i=1:length(ecg)但它不起作用。是否可以改为使用以下内容:
for i=1:length(ecg(1:i))它还会以这种方式实时处理吗?
发布于 2019-01-09 01:22:03
你不能写
for i=1:length(ecg(1:i))因为ecg(1:i)中的i还没有声明。
您的问题并不完全清楚,但是如果您想获取每个索引i的第i个位置之前的数组样本,可以执行以下操作:
for i=1:length(ecg)
pastSamples = ecg(1:i);
...
end这样,对于每个循环,您将处理所有样本,直到第i个索引。
https://stackoverflow.com/questions/54071443
复制相似问题