在 MATLAB 中计算特征向量

计算科学 线性代数 matlab 特征值
2021-12-13 11:34:24

我被分配在 MATLAB 中计算 2x2 矩阵的特征值和特征向量:

A=(3045)

我知道教科书的解决方案指出特征值 3 对应于一个特征向量(12), eig 5 对应于(01).

这就是我所做的。为什么我没有得到正确的特征向量?

% Define the matrix
A = [3 0;4 5];

% Find Eigenvalues
E1 = eig(A);

% Display Eigenvalues
disp('Eigenvalues of the matrix A:')
E1

% Determine Eigenvectors
[V,D] = eig(A);

% V1 corresponds to eigenvalue 1 and V2 corresponds to eigenvalue 2
V1 = V(:,1)
V2 = V(:,2)
2个回答

特征向量仅在比例因子内是唯一的(可以是 + 或 - 比例因子)。

如果x满足Ax=λx,因此是一个特征向量A对应特征值λ, 那么任何倍数x也满足方程,因此也是一个特征向量A对应特征值λ.

MATLAB 将特征向量归一化为 2 范数等于 1,但即使这样也留下了符号的选择。

我怀疑你做错了什么。Matlab(和 LAPACK,Matlab 下的胆量)会将特征向量归一化为单位长度,因此对于特征向量,您不会得到 (1,-2),而是会得到 (1,-2)/sqrt(5)。