MATLAB: Eig is not giving a matrix for left eigenvectors

eigleft eigenvectorMATLABwrong output dimension

I am trying to find the left and right eigenvectors of a 16 by 16 matrix with [V,D,W]=eig( mat ); V, and W are supposed to be matrices where the column vectors are the right and left eigenvectors, and while V meets this, W is a 1 by 16 row vector, W =
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
I haven't included the matrix itself because of its size but I can. Some assistance would be much appreciated.

Best Answer

You are using vpa() around a series of rational and floating point values. The end result of vpa() is a symbolic matrix. You are then invoking eig on a symbolic matrix, getting the symbolic eig rather than the numeric eig.
If you want the numeric eig, then skip the vpa() call.