2016-10-31 5 views
0

移動平均を作成するコードを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)

+3

使用される入力データの例は、参考になります。 – Marcin

答えて

0

ウィンドウ= 0.2とDT = 1200を使用する場合は、次のコードの結果が0

num_samples = round((window*(1/dt))) 

後で、データを選択します

data(x:(x+num_samples-1)) 

この結果、データは選択されません(x:(x-1))。 meanに空の行列を入力すると、あなたが見ているNaNが返されます。

おそらく、ウィンドウとdtのパラメータを切り替える必要がありますか?

関連する問題