Filter löschen
Filter löschen

Error in ()-indexing must appear last in an index expression.

5 Ansichten (letzte 30 Tage)
can any one help me to rectify this error Thank you in advance.
for i=1:NumFrames
ft(i,:)=abs(fft(windowed(i,:))(1:frameSize/2));
end
  1 Kommentar
Rik
Rik am 16 Feb. 2017
Please give the complete stack of the error and explain the thing you want to do. You could also have a look here for a few pointers on how to ask a question so you increase the chance on a fast answer.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Rik
Rik am 16 Feb. 2017
I think your problem is this:
You call a function, whose result is a vector, from which you need only specific values. In Matlab, you can't combine those two things. (If you use cells, you can most of the times)
for i=1:NumFrames
temp=fft(windowed(i,:));
ft(i,:)=abs(temp(1:frameSize/2));
%you need to be sure that frameSize is even, if you are not, use round(frameSize/2)
end

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by