📜  MATLAB 中的特征值和特征向量

📅  最后修改于: 2021-09-07 02:51:35             🧑  作者: Mango

特征值特征向量是方阵的属性。

 A =[a_{ij}]_{N*N}  是一个N*N 矩阵X是一个大小为 N*1的向量,并且\lambda 成为标量

然后是值 X, \lambda  满足方程AX=\lambda X 分别是矩阵 A 的特征向量和特征值。

  • 大小为 N*N 的矩阵具有N 个特征值
  • 每个特征值对应一个特征向量。

Matlab允许用户使用 eig()方法找到矩阵的特征值和特征向量。 eig()方法的不同语法是:

  • e = eig(A)
  • [V,D] = eig(A)
  • [V,D,W] = eig(A)
  • e = eig(A,B)

让我们详细讨论上述语法:

e = eig(A)

  • 它返回方阵 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);


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 eigenvectos")
disp(V);


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);


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);


输出 :

[V,D] = eig(A)

  • 它返回以对角线作为特征值的对角矩阵 D。
  • 它还将右向量矩阵返回为 V 。
  • 正常特征向量被称为右特征向量
  • V是满足A*V = V*D的每个N*1大小(A为N*N大小)的N个特征向量的集合

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 eigenvectos")
disp(V);

输出 :

[V,D,W] = eig(A)

  • 连同特征值 D和右特征向量V的对角矩阵,它还返回矩阵 A的左特征向量。
  • 左特征向量u是满足方程u*A = k*u的 1*N 矩阵,其中k矩阵 A 的左特征值
  • W是满足 W’*A = D*W’的 A的 N 个左特征向量的集合。

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);

输出 :

e = eig(A,B)

  • 它返回两个相同大小的方阵 A 和 B的广义特征值。
  • 广义特征值λ和对应的特征向量 v满足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);

输出 :

如果您想与行业专家一起参加直播课程,请参阅Geeks Classes Live