请教各位大神,如何使用MATLAB求解一个矩阵的正特征值个数?非常感谢!目前只知道用eigs求出所有的特征值,然后遍历一下,但是我要进行很多次这样的操作,担心复杂度太高.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 03:11:25
请教各位大神,如何使用MATLAB求解一个矩阵的正特征值个数?非常感谢!目前只知道用eigs求出所有的特征值,然后遍历一下,但是我要进行很多次这样的操作,担心复杂度太高.

请教各位大神,如何使用MATLAB求解一个矩阵的正特征值个数?非常感谢!目前只知道用eigs求出所有的特征值,然后遍历一下,但是我要进行很多次这样的操作,担心复杂度太高.
请教各位大神,如何使用MATLAB求解一个矩阵的正特征值个数?非常感谢!
目前只知道用eigs求出所有的特征值,然后遍历一下,但是我要进行很多次这样的操作,担心复杂度太高.

请教各位大神,如何使用MATLAB求解一个矩阵的正特征值个数?非常感谢!目前只知道用eigs求出所有的特征值,然后遍历一下,但是我要进行很多次这样的操作,担心复杂度太高.

首先,eigs函数求出的不是所有特征值,而是幅值最大的6个特征值.求所有特征值应该用eig函数.

其次,你所说的正特征值应该隐含条件就是不包括复数吧?

 

参考代码:

A=rand(10,10);
d=eig(A);
d(abs(imag(d))<eps&real(d)>0)

最后一个语句可得到矩阵A的所有正特征值.