Asked by Mahmoud Hassan
on 17 May 2019

i am getting this error

"Attempted to access i(3); index out of bounds because numel(i)=2 ".

exactly in the line 289 below:

Table=[3*pi/4 2*pi/3 pi/2 pi/3 pi/4

5*pi/6 0 0 0 pi/6

pi 0 0 0 0

-5*pi/6 0 0 0 -pi/6

-3*pi/4 -2*pi/3 -pi/2 -pi/3 -pi/4];

for ind=1:length(CentroidBifX)

Klocal=K(CentroidBifY(ind)-2:CentroidBifY(ind)+2,CentroidBifX(ind)-2:CentroidBifX(ind)+2);

Klocal2=K(CentroidBifY(ind)-1:CentroidBifY(ind)+1,CentroidBifX(ind)-1:CentroidBifX(ind)+1);

Klocal(2:end-1,2:end-1)=0;

Klocal2(2:end-1,2:end-1)=0;

[i,j]=find(Klocal);

[i2,j2]=find(Klocal2);

length(i)

if length(i)> 3

for k=1:3

OrientationBif(ind,k)=Table(i2(k),j2(k));

dxBif(ind,k)=sin(OrientationBif(ind,k))*3;

dyBif(ind,k)=cos(OrientationBif(ind,k))*3;

end

else

for k=1:3

OrientationBif(ind,k)=Table(i(k),j(k)); "line of error"

dxBif(ind,k)=sin(OrientationBif(ind,k))*5;

dyBif(ind,k)=cos(OrientationBif(ind,k))*5;

end

end

end

Answer by Walter Roberson
on 18 May 2019

if length(i)> 3

so if is more than 3 long you execute this code

for k=1:3

OrientationBif(ind,k)=Table(i2(k),j2(k));

dxBif(ind,k)=sin(OrientationBif(ind,k))*3;

dyBif(ind,k)=cos(OrientationBif(ind,k))*3;

end

else

and if you got here, then i is empty, or i is length 1, or i is length 2, or i is length 3.

for k=1:3

OrientationBif(ind,k)=Table(i(k),j(k)); "line of error"

that is going to fail if i is empty, or length 1, or length 2. It is only going to work if i is length 3.

Based upon your error message, i is length 2. We, as outside observers, have no reason to expect that it will be any particular length.

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 3 Comments

## Image Analyst (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/462757-attempted-to-access-i-3-index-out-of-bounds-because-numel-i-2#comment_706366

## Mahmoud Hassan (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/462757-attempted-to-access-i-3-index-out-of-bounds-because-numel-i-2#comment_706372

## madhan ravi (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/462757-attempted-to-access-i-3-index-out-of-bounds-because-numel-i-2#comment_706391

Sign in to comment.