所以我在MATLAB中编写代码来创建移动平均线。但是,每次运行此操作时,我都会得到NaN
个号码。我需要一些帮助。
function [b] = moving_average(data,window,dt)
%Computes moving average
num_samples = round((window*(1/dt)));
for x = (1:(length(data)-(num_samples-1)));
mva(x,1) = mean(data(x:(x+num_samples-1)));
end
b = mva;
end
这是我尝试输入的内容:moving_average(R_emg,.2,1200)
答案 0 :(得分:0)
当使用window = 0.2和dt = 1200时,以下代码的结果为0。
num_samples = round((window*(1/dt)))
稍后您使用以下选择数据:
data(x:(x+num_samples-1))
然后导致数据(x:(x-1)),这将不选择数据。输入空矩阵意味着你会看到NaN。
也许您需要切换窗口和dt参数?