Eigenvalues and Eigenvectors in MATLAB - GeeksforGeeks

20 Nov, 2021

Eigenvalues and Eigenvectors are properties of a square matrix.
Let is an N*N matrix, X be a vector of size N*1 and  be a scalar.
Then the values X,  satisfying the equation    are eigenvectors and eigenvalues of matrix A respectively.
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:
It returns the vector of eigenvalues of square matrix A.
Matlab
 

 
 










% 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 :
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
Matlab
 

 
 










% 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 :
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’.
Matlab
 

 
 










% 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 :
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.
Matlab
 

 
 










% 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 :
surindertarika1234

Picked


Advanced Computer Subject


MATLAB


Matrix

Writing code in comment? 
                                    Please use ide.geeksforgeeks.org, 
                                    generate link and share the link here.
                                
Copying Files to and from Docker Containers
Principal Component Analysis with Python
Fuzzy Logic | Introduction
Classifying data using Support Vector Machines(SVMs) in Python
How to create a REST API using Java Spring Boot
How to Find Index of Element in Array in MATLAB?
Edge detection using Prewitt, Scharr and Sobel Operator
Image Sharpening Using Laplacian Filter and High Boost Filtering in MATLAB
Simpson's Rule in MATLAB
Installing MATLAB on Linux