Index error in code

조회 수: 1 (최근 30일)
Abdullah Qayyum
Abdullah Qayyum 2020년 4월 18일
답변: Dhruv 2025년 6월 2일
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
KSSV
KSSV 2020년 4월 18일
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
Abdullah Qayyum 2020년 4월 19일
I am applying sbox on an encrypted image.

댓글을 달려면 로그인하십시오.

답변 (1개)

Dhruv
Dhruv 2025년 6월 2일
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!

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by