how to solve error Index exceeds matrix dimensions. The array locs is empty and therefore has no valid indices.

1 view (last 30 days)
hello everyone, I have an array of frequency domain fft on simulink of [11x501] and I want to enter into the matlab function block containing the findpeaks code but then the error appears above, what should I do if maybe I need to change the leading zeros to another number? But it can't be a constant or monotonous number, is it possible that someone should know how to duplicate another array to fill in the leading zero?
I have tried to delete it but then an error appeared, namely unable to delete element in this array because this array has fixed size.
is there someone who can provide help? thank you for your attention

Answers (1)

Walter Roberson
Walter Roberson on 7 Jan 2021
u(1,:) = -u(2,:)
unless the second row is 0.
If the second row is 0 then you need to scan down the column to determine whether there is any non-zero. If not then set the first row to 1 to force it to be a peak.
But really since you are looping the findpeaks just test to see whether the findpeaks is empty and if so arbitrarily designate one of the positions as a peak.
  11 Comments
Walter Roberson
Walter Roberson on 9 Jan 2021
... You would not be continuing to have this problem if you had followed my advice,
" just test to see whether the findpeaks is empty and if so arbitrarily designate one of the positions as a peak."
Naufal Arfani
Naufal Arfani on 10 Jan 2021
I'm sorry if I'm still an amateur in Matlab and Simulink, but can you give me more explanation about the two suggestions that you gave above? I seemed quite catchy but couldn't figure out how @Walter Roberson

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!