在进行数据分析的时候有时候需要求建立的矩阵的特征值,尤其是最大特征值以及其对应的特征向量,随着矩阵阶数的扩大,运算量比较大,但是如果使用软件Matlab来计算可以节省很多时间
文章源自设计学徒自学网-http://www.sx1c.com/39823.html
启动Matlab ,在命令窗口输入要处理的矩阵A文章源自设计学徒自学网-http://www.sx1c.com/39823.html
A=[1,4,2,4;1/4,1,1/2,1;1/2,2,1,1/2;1/4,1,2,1]文章源自设计学徒自学网-http://www.sx1c.com/39823.html
输入完成后回车软件会按行列的形式显示矩阵文章源自设计学徒自学网-http://www.sx1c.com/39823.html
顺便可以检查一下矩阵是否输入错误文章源自设计学徒自学网-http://www.sx1c.com/39823.html
文章源自设计学徒自学网-http://www.sx1c.com/39823.html
接着输入[x,y]=eig(A) 回车文章源自设计学徒自学网-http://www.sx1c.com/39823.html
就可以看到矩阵的所有特征值和特征向量了文章源自设计学徒自学网-http://www.sx1c.com/39823.html
特征值是对角矩阵y 矩阵x的每一列对应一个y中相应列的特征值文章源自设计学徒自学网-http://www.sx1c.com/39823.html
此处注意括号必须是在英文输入法下输入 如果显示红色表示有问题需要重新输入文章源自设计学徒自学网-http://www.sx1c.com/39823.html
虽然已经计算出了矩阵的特征值和特征向量 ,但是如果只是计算这一个的话 ,完全可以观察得到最大的特征值
接着输入
eigenvalue=diag(y);
lamda=eigenvalue(1)
lamda表示最大的特征值 这里lamda=4.2498
求出矩阵最大特征值之后虽然可以一眼看到特征向量, 但是不方便以后大量的处理矩阵
此时再输入
y_lamda = x(:, 1) 即最大特征值对应的特征向量
上面的过程只是适合进行一次两次这样的计算, 如果遇到需要较多的矩阵的时候或者这样的过程只是某些计算中的几步需求的时候就需要把前面的计算合在一起进行计算,同样也可以把这段代码放在需要的算法程序中
除了直接输入变量结果来查看的方法外 ,还可以直接在workspace中查看变量运算结果 ,如图中的lamda和y_lamda的结果值
评论