Index error in code
Afficher commentaires plus anciens
I am trying to execute this code but it gives me an error Index exceeds array bounds.
I= [234, 112, 22, 56; 78, 81, 119, 121; 98 193 250 211; 33 135 199 201];
s=[110 45 32; 95 150 67; 89 76 55];
s2= s(I+1)
2 commentaires
KSSV
le 18 Avr 2020
What you are doing is wrong. You are trying to access more number of elements from s. What exactly you want to do?
Abdullah Qayyum
le 19 Avr 2020
Réponses (1)
Dhruv
le 2 Juin 2025
0 votes
The error is being encountered because you're using values from matrix I to index into matrix s, which only has 9 elements (3x3 matrix). MATLAB uses 1-based indexing, so the valid index range for s is 1 to 9. However, elements in I+1 go well beyond this range (up to 251), causing the "Index exceeds the number of array elements" error.
To fix it, either make s a vector with at least max(I(:)) + 1 elements or ensure the values in I+1 do not exceed 9.
I hope this helps!
Catégories
En savoir plus sur Matrix Indexing dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!