matlab中如何求矩阵的特征值和特征向量
具体步骤分析如下:
1、第一步我们首先需要知道计算矩阵的特征值和特征向量要用eig函数,可以在命令行窗口中输入help eig,查看一下eig函数的用法,如下图所示:
2、第二步在命令行窗口中输入a=[1 2 3;2 4 5;7 8 9],按回车键之后,输入[x,y]=eig(a),如下图所示:
3、第三步按回车键之后,得到了x,y的值,其中x的每一列值表示矩阵a的一个特征向量,这里有3个特征向量,y的对角元素值代表a矩阵的特征值,如下图所示:
4、第四步如果我们要取y的对角元素值,可以使用diag(y),如下图所示:
5、第五步按回车键之后,可以看到已经取出y的对角线元素值,也就是a矩阵的特征值,如下图所示:
6、第六步我们也可以在命令行窗口help diag,可以看到关于diag函数的用法,如下图所示:
扩展资料:
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
参考资料:百度百科——MATLAB
可以运用eig函数求特征值和特征向量。
E=eig(A):求矩阵A的全部特征值,构成向量E。
[V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。
[V,D]=eig(A,'nobalance'):与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。
实例:求矩阵A=[1,2;2,1]的特征值和特征向量。
拓展说明:
在matlab中,还有个函数eigs,可以求特征向量和特征值的子集。
d = eigs(A) %求稀疏矩阵A的6个绝对值最大特征值d,d以向量形式存放。
d = eigs(A,k) %返回k个最大特征值
在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有5种:
E=eig(A):求矩阵A的全部特征值,构成向量E。
[V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。
[V,D]=eig(A,'nobalance'):与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。
E=eig(A,B):由eig(A,B)返回N×N阶方阵A和B的N个广义特征值,构成向量E。
[V,D]=eig(A,B):由eig(A,B)返回方阵A和B的N个广义特征值,构成N×N阶对角阵D,其对角线上的N个元素即为相应的广义特征值,同时将返回相应的特征向量构成N×N阶满秩矩阵,且满足AV=BVD。
a =
1.0000 0.2500
4.0000 1.0000
>> [v,d]=eig(a)
v =
0.2425 -0.2425
0.9701 0.9701
d =
2 0
0 0
按照这道题的计算过程算就可以了,eig是求特征值和特征向量命令,v是特征向量,是列向量,d是特征值矩阵,主对角线元素就是特征值,与特征向量的列对应的
广告 您可能关注的内容 |