如何在 MATLAB 中找到两个矩阵的联合特征值?
How can I find the joint eigenvalues of two matrices in MATLAB?
如果矩阵A和B的联合特征值定义为方程的根
det(lambda * A - B) = 0,
我怎样才能在 MATLAB 中解决这个问题?
特别是,我不确定 lambda 是如何定义的——它显然需要是一个矩阵或向量,否则只有一个联合特征值。另外,我不确定是否有任何内置函数,或者是否需要使用 fzero 来查找非线性函数的根。
为此有一个内置函数。
http://www.mathworks.com/help/matlab/ref/eig.html
[V,D] = eig(B,A);
[V,D] = eig(A,B)
求解系统det(A - lambda*B) == 0
。然而,需要求解的系统是 det(A*lambda - B) == 0
,因此输入被反转以尊重求解该系统。
如果矩阵A和B的联合特征值定义为方程的根 det(lambda * A - B) = 0, 我怎样才能在 MATLAB 中解决这个问题?
特别是,我不确定 lambda 是如何定义的——它显然需要是一个矩阵或向量,否则只有一个联合特征值。另外,我不确定是否有任何内置函数,或者是否需要使用 fzero 来查找非线性函数的根。
为此有一个内置函数。
http://www.mathworks.com/help/matlab/ref/eig.html
[V,D] = eig(B,A);
[V,D] = eig(A,B)
求解系统det(A - lambda*B) == 0
。然而,需要求解的系统是 det(A*lambda - B) == 0
,因此输入被反转以尊重求解该系统。