Index in position 1 exceeds array bounds (must not exceed 4079). how to rectify this error

1 view (last 30 days)
Index in position 1 exceeds array bounds (must not exceed 4079).
Error in outex_14>cal_AP (line 200) tests = CLBP_SMCH(testIDs,:);
Error in outex_14 (line 42) AP = cal_AP(Hist,trainIDs, trainClassIDs,testIDs, testClassIDs) This is the error i am getting when i am running the code. Ihave attached my code with this? how to make changes to match the size?
  1 Comment
Adam
Adam on 5 Oct 2018
Learning to debug your code makes error such as this easy to find, and once you find them and see what is wrong you have far more knowledge of what the code is supposed to be doing than we do.
Clearly you are passing an index bigger than 4079 to an array of only 4079 elements. Debug and find out where this is, follow it back to find out why and then you can fix it.

Sign in to comment.

Accepted Answer

Dennis
Dennis on 5 Oct 2018
You are passing Hist and testIDs to your cal_AP function. In that function your try to access Hist(tesIDs).
Hist has 4079 rows (set by picnum early in your code), testIDs does not have this limitation and rather grows as long as there are images in your file. If there are more than 4079 you will get that error.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!