matlab中怎么求矩陣的特征值和特征向量

  • A+
所屬分類:百科知識

在進行數(shù)據(jù)分析的時候有時候需要求建立的矩陣的特征值,尤其是最大特征值以及其對應的特征向量,隨著矩陣階數(shù)的擴大,運算量比較大,但是如果使用軟件Matlab來計算可以節(jié)省很多時間

matlab中怎么求矩陣的特征值和特征向量

啟動Matlab ,在命令窗口輸入要處理的矩陣A

A=[1,4,2,4;1/4,1,1/2,1;1/2,2,1,1/2;1/4,1,2,1]

輸入完成后回車軟件會按行列的形式顯示矩陣

順便可以檢查一下矩陣是否輸入錯誤

matlab中怎么求矩陣的特征值和特征向量

接著輸入[x,y]=eig(A) 回車

就可以看到矩陣的所有特征值和特征向量了

特征值是對角矩陣y 矩陣x的每一列對應一個y中相應列的特征值

此處注意括號必須是在英文輸入法下輸入 如果顯示紅色表示有問題需要重新輸入

matlab中怎么求矩陣的特征值和特征向量

雖然已經(jīng)計算出了矩陣的特征值和特征向量 ,但是如果只是計算這一個的話 ,完全可以觀察得到最大的特征值
接著輸入

eigenvalue=diag(y);

lamda=eigenvalue(1)

lamda表示最大的特征值 這里lamda=4.2498

matlab中怎么求矩陣的特征值和特征向量

求出矩陣最大特征值之后雖然可以一眼看到特征向量, 但是不方便以后大量的處理矩陣

此時再輸入

y_lamda =?x(:, 1) 即最大特征值對應的特征向量

matlab中怎么求矩陣的特征值和特征向量

上面的過程只是適合進行一次兩次這樣的計算, 如果遇到需要較多的矩陣的時候或者這樣的過程只是某些計算中的幾步需求的時候就需要把前面的計算合在一起進行計算,同樣也可以把這段代碼放在需要的算法程序中

matlab中怎么求矩陣的特征值和特征向量

除了直接輸入變量結(jié)果來查看的方法外 ,還可以直接在workspace中查看變量運算結(jié)果 ,如圖中的lamda和y_lamda的結(jié)果值

matlab中怎么求矩陣的特征值和特征向量

歷史上的今天:

推薦應用

發(fā)表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: