Index exceeds Array Bounds - Help!

1 view (last 30 days)
Hello everyone - I receive the error "Index exceeds array bounds" , but I can't solve the Problem.
I attache the file, and this is the Line which causes the error:
Pre_Time(idx_loopi).Durchschnittswert(counter,idx_act_Channel_Time)= mean(test(idx_loopi).Channels(idx_act_Channel_Time).Data(idxStart:i));
  3 Comments
Malte Räuchle
Malte Räuchle on 9 Jun 2020
Hey David, thanks for your response. That was a good advice to split it into multiple lines. I only get an error @ v2 . But I don't get close to what could be a good solution.
Malte Räuchle
Malte Räuchle on 9 Jun 2020
And yes I want to use the index "idx_loopi" .

Sign in to comment.

Accepted Answer

Steven Lord
Steven Lord on 9 Jun 2020
Set an error breakpoint. Run your code. When MATLAB reaches the error breakpoint, check the size of v1.Durchschnittswert and the value of the counter variable. From that error message v1.Durchschnittswert will have ten rows and counter will be greater than 10.
Look back in your code to ensure that counter is being set correctly and v1.Durchschnittswert is being created and updated correctly. Did you delete a row from that variable when you didn't expect to, or did you assign into the wrong row of it (overwriting values instead of growing it?)
Once you know where the error occurs and understand what's going on, set breakpoints earlier in your code and step through, watching for the conditions that cause the error to appear.
  1 Comment
Malte Räuchle
Malte Räuchle on 10 Jun 2020
I set an error breakpoint and from the error PreTime.Durchschnittswert is a 1x1 struct and the counter is 1. That means that the counter is not set correctly, right?
I tried to change the position of it but my approaches do not seem to work. Any ideas?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!