Eigenvalues and Eigenvectors in MATLAB
Last Updated :
25 Jul, 2024
Improve
Eigenvalues and Eigenvectors are properties of a square matrix.
Let
Then the values X,
- A matrix of size N*N possess N eigenvalues
- Every eigenvalue corresponds to an eigenvector.
Matlab allows the users to find eigenvalues and eigenvectors of matrix using eig() method. Different syntaxes of eig() method are:
- e = eig(A)
- [V,D] = eig(A)
- [V,D,W] = eig(A)
- e = eig(A,B)
Let us discuss the above syntaxes in detail:
e = eig(A)
- It returns the vector of eigenvalues of square matrix A.
% Square matrix of size 3*3
A = [0 1 2;
1 0 -1;
2 -1 0];
disp("Matrix");
disp(A);
% Eigenvalues of matrix A
e = eig(A);
disp("Eigenvalues");
disp(e);
Output :

[V,D] = eig(A)
- It returns the diagonal matrix D having diagonals as eigenvalues.
- It also returns the matrix of right vectors as V.
- Normal eigenvectors are termed as right eigenvectors.
- V is a collection of N eigenvectors of each N*1 size(A is N*N size) that satisfies A*V = V*D
% Square matrix of size 3*3
A = [8 -6 2;
-6 7 -4;
2 -4 3];
disp("Matrix");
disp(A);
% Eigenvalues and right eigenvectors of matrix A
[V,D] = eig(A);
disp("Diagonal matrix of Eigenvalues");
disp(D);
disp("Right eigenvectors")
disp(V);
Output :

[V,D,W] = eig(A)
- Along with the diagonal matrix of eigenvalues D and right eigenvectors V, it also returns the left eigenvectors of matrix A.
- A left eigenvector u is a 1*N matrix that satisfies the equation u*A = k*u, where k is a left eigenvalue of matrix A.
- W is the collection of N left eigenvectors of A that satisfies W'*A = D*W'.
% Square matrix of size 3*3
A = [10 -6 2;
-6 7 -4;
2 -4 3];
disp("Matrix :");
disp(A);
% Eigenvalues and right and left eigenvectors
% of matrix A
[V,D,W] = eig(A);
disp("Diagonal matrix of Eigenvalues :");
disp(D);
disp("Right eigenvectors :")
disp(V);
disp("Left eigenvectors :")
disp(W);
Output :

e = eig(A,B)
- It returns the generalized eigenvalues of two square matrices A and B of the same size.
- A generalized eigenvalue λ and a corresponding eigenvector v satisfy Av=λBv.
% Square matrix A and B of size 3*3
A = [10 -6 2;
-6 7 -4;
2 -4 3];
B = [8 6 1;
6 17 2;
-1 4 3];
disp("Matrix A:");
disp(A);
disp("Matrix B:");
disp(B);
% Generalized eigen values
% of matrices A and B
e = eig(A,B);
disp("Generalized eigenvalues :")
disp(e);
Output :
