Итак, у меня есть существующий ekg-сигнал, который я должен взять, чтобы получить преобразование Фурье и построить фазу (угол) и величину. Мой код выглядит следующим образом:Построение фазы и величины преобразования Фурье сигнала EKG
x1 = 3.5*ecg(2700);
y1 = sgolayfilt(kron(ones(1,13),x1),0,21);
n = (1:30000)';
del = round(2700*rand(1));
mhb = y1(n+del);
ts = 0.00025;
t = [ts: ts: 7.5];
%plot(t,mhb)
%xlabel('Time(sec)')
%ylabel('Amp'); grid on
Xf = fft(mhb(t));
w = [-(n/2):1:(n/2)-1]*(1/(ts*n));
w = [-(n/2):1:(n/2)-1]*(1/(ts*n));
subplot(211), plot(w, fftshift(abs(Xf))), grid
subplot(212), plot(w, fftshift(angle(Xf))), grid
Это говорит мне эту ошибку: «подстрочные индексы должны быть либо реальные положительные целые или логические выражения.» Я уверен, что это правильно, если я не делаю что-то совершенно неправильное. Любая помощь будет оценена по достоинству.
Также см. [Этот вопрос] (http://stackoverflow.com/questions/20054047/subscript-indices-must-either-be-real-positive-integers-or-logicals-generic-sol) для [общего решение этой проблемы] (http://stackoverflow.com/a/20054048/983722). –