-3
Я получил это сообщение при попытке построить программу в Matlab:Как перевести окна Хэмминга в Matlab?
Error:
Subscript indices must either be real positive integers or logicals.
Error in Untitled (line 17)
x(pocz:kon) = x(pocz:kon) .* H;
Я знаю, что индекс является неправильным, но я не знаю, как это должно быть. Может ли кто-нибудь мне помочь?
Вот код:
clc;
[x, fs, Nbits] = wavread('zero.wav'); % x -> data sampling | fs -> sampling freq | Nbits -> bits per sample
subplot(2,1,1); plot(x); title('asd');
N = length(x); %
HamWin = 240; % size of Hamming Window
ShiftHamWin = 180; % shift of Hamming windwow
Frames = N/ShiftHamWin; %
%1. PREEMFAZA
x = filter([1 -0.9735], 1, x);
%----------------------------------------------------------------
%2. OKNO
%x = x - mean(x);
beg= 0;
en = 180;
H = hamming(HamWin);
while(beg < N)
x(beg:en) = x(beg:en) .* H;
beg = round(en);
en = round(en + 180);
end;
%-----------------------------------------------------------------
subplot(2,1,2); plot(x);
Посмотрите, как правильно спросить SO [ask] –
См. [Этот вопрос] (http://stackoverflow.com/questions/20054047/subscript-indices-must-either-be-real-positive-integers-or -logicals-generic-sol) для [общего способа обработки этого сообщения об ошибке] (http://stackoverflow.com/a/20054048/983722). - Отредактированный вопрос будет более подходящим для этого сайта. –