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

1 view (last 30 days)
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 Comment
Rik
Rik on 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.

Sign in to comment.

Accepted Answer

Rik
Rik on 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

More Answers (0)

Community Treasure Hunt

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

Start Hunting!