MATLAB: What does this error mean

eigerror

I get an error when calling the eig() function.
First I thought my matrix is somehow 'bad' for computing the eigenvalues.
But even if I just type
eig(eye(4))
I get the following error:
"Subscript indices must either be real positive integers or logicals."

Best Answer

Hi,
this means, that using eye(4) is not valid for indexing (which is true, since it contains zeros). This implies, that you have a variable named eig, that shadows the function.
whos eig
probably tells you that eig is a variable. Remove it
clear eig
and then eig(eyes(4)) should do what you expected.
Titus