矩阵的最大特征值——matlab求法
小弟不才,第一次写博客,目的在于检验自己的学习成果,
同时也希望自己所学东西可以帮助读者理解相应内容。如果文章存在不足,请多多指正。
关于矩阵的特征值,学习过线性代数的读者都知道一个公式AX=bX(b是所求的特征向量)现在我们假设A的矩阵是3阶方阵:[1 1/5 3; 5 1 6; 1/3 1/6 1]。下面我们看看matlab中的代码是如何求出这个判断矩阵的最大特征值。
我们用最简单的方法:命令行窗口调用两个函数eig(a)和diag()函数。我们把A这个矩阵输入后的到结果:
>> a=[1 1/5 3; 5 1 6; 1/3 1/6 1]
a =
1.0000 0.2000 3.0000
5.0000 1.0000 6.0000
0.3333 0.1667 1.0000
接下来定义变量x,y。
其中x是特征向量矩阵,也是特征值矩阵。
调用函数eig:
[x,y]=eig(a)
x =
0.2601 + 0.0000i -0.1301 + 0.2253i -0.1301 - 0.2253i
0.9584 + 0.0000i 0.9584 + 0.0000i 0.9584 + 0.0000i
0.1177 + 0.0000i -0.0588 - 0.1019i -0.0588 + 0.1019i
y =
3.0940 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i -0.0470 + 0.5373i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i -0.0470 - 0.5373i
得到x,y的结果,接着求对角线向量,
用diag函数求得,
最后再用max函数求得最大特征值:
m=diag(y)
m =
3.0940 + 0.0000i
-0.0470 + 0.5373i
-0.0470 - 0.5373i
max(m)
ans =
3.0940
如果你已经看到这里,很开心你可以这么认真学习,我真心希望你可以给我提出意见或者建议,以此促进我更好学习,同时希望这可以帮助到你的学习。谢谢!本文原创,如有侵权,请联系作者。