我有一个矩阵A
A = [ 124.6,95.3,42.7 ; 95.3,55.33,2.74 ; 42.7,2.74,33.33 ]
特征值和向量:
[V,D] = eig(A)
如何显示特征值是否相互垂直?我试过,如果特征值的点积为零,这表明它们是相互垂直的,但是你如何在MATLAB中计算它?我尝试了以下代码
transpose(diag(D)) * diag(D) %gives 4.1523e+04
另外,我如何验证特征值和向量的定义:
A e_i - L_i e_i = 0
上式:对于i等于1到3.对于实对称矩阵,所有的本征都是正数和特征向量作为矩阵的基础
我尝试了以下代码,但它似乎没有给我0.任何想法?
A*V(1) - D(1)*V(1)
答案 0 :(得分:2)
显示正交性
>> V'*V-eye(size(V))
ans =
1.0e-15 *
0.2220 0.1110 0.2498
0.1110 -0.4441 0.1388
0.2498 0.1388 0.4441
为了表明满足特征分解的定义,
>> A*V - V*D
ans =
1.0e-13 *
0.4086 0.0400 0.8527
0.3908 0.0355 0.5684
0.1954 0.0355 0
结果不会完全为零,因为数字计算机不做精确的数学运算,但你可以看到它们非常接近。
答案 1 :(得分:0)
计算V
:
M = squeeze(sum(bsxfun(@times, conj(V), permute(V, [1 3 2]))));
如果以上V
是对角线,M
(特征向量)的列将是正交的。