私は巨大な波形マトリックスを持っています:
[w,fs] = wavread('file.wav');
length(w)
ans =
258048
このマトリックスをセグメント(たとえば50)で調べ、これらのセグメントの最大値を取得して、別の値と比較したいと思います。私はこれを試しました:
thold = max(w) * .04;
nwindows = 50;
left = 1;
right = length(w)/nwindows;
counter = 0;
for i = 1:nwindows
temp = w(left:right);
if (max(temp) > thold)
counter = counter + 1;
end
left = right;
right = right+right;
end
しかし、MATLABは大量の警告をスローし、次のエラーを出しました。
Index exceeds matrix dimensions.
Error in wlengthdur (line 17)
temp = w(left:right);
私はコースを閉じますか、それともコースから外れますか?