MATLAB Answers

0

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

Asked by Shan Sha on 5 Oct 2018
Latest activity Commented on by Shan Sha on 5 Oct 2018
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

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.

1 Answer

Answer by Dennis
on 5 Oct 2018
 Accepted Answer

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.