大きなウィンドウの合計を生成し、実行中の小さなウィンドウの合計で割ってエネルギー比を取得する簡単なコードを作成しようとしています。
私のコードはMATLABで次のようになります
S = data1;
[nt,ntraces] = size(S);
!Create sliding windows for First Break Picking:
!define a window length
!for large Window
nl = 300
!for small running Window
ns = 50
! tolerance/Fudge Factor
beta = 0.0000
for i_slide = 1:nt-nl
for i_large = i_slide:(i_slide+nl)
large_window(i_large) = sum(S(i_large).^2)';
for i_small = i_slide+ns:i_slide+nl
small_window(i_small) = sum(S(i_small).^2)';
end
end
ER(i_slide) = small_window/(large_window + beta);
end
私が抱えている問題は、実行中の小さなウィンドウが正しくインデックス付けされておらず、最大スライドで大きなウィンドウ全体の長さに沿って合計が実行されていないことです。
この問題を克服する方法はありますか?