在進行數據分析的時候有時候需要求建立的矩陣的特征值,尤其是最大特征值以及其對應的特征向量,隨著矩陣階數的擴大,運算量比較大,但是如果使用軟件Matlab來計算可以節省很多時間
文章源自四五設計網-http://www.wasochina.com/39924.html
啟動Matlab ,在命令窗口輸入要處理的矩陣A文章源自四五設計網-http://www.wasochina.com/39924.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.wasochina.com/39924.html
輸入完成后回車軟件會按行列的形式顯示矩陣文章源自四五設計網-http://www.wasochina.com/39924.html
順便可以檢查一下矩陣是否輸入錯誤文章源自四五設計網-http://www.wasochina.com/39924.html
文章源自四五設計網-http://www.wasochina.com/39924.html
接著輸入[x,y]=eig(A) 回車文章源自四五設計網-http://www.wasochina.com/39924.html
就可以看到矩陣的所有特征值和特征向量了文章源自四五設計網-http://www.wasochina.com/39924.html
特征值是對角矩陣y 矩陣x的每一列對應一個y中相應列的特征值文章源自四五設計網-http://www.wasochina.com/39924.html
此處注意括號必須是在英文輸入法下輸入 如果顯示紅色表示有問題需要重新輸入文章源自四五設計網-http://www.wasochina.com/39924.html
雖然已經計算出了矩陣的特征值和特征向量 ,但是如果只是計算這一個的話 ,完全可以觀察得到最大的特征值
接著輸入
eigenvalue=diag(y);
lamda=eigenvalue(1)
lamda表示最大的特征值 這里lamda=4.2498
求出矩陣最大特征值之后雖然可以一眼看到特征向量, 但是不方便以后大量的處理矩陣
此時再輸入
y_lamda =?x(:, 1) 即最大特征值對應的特征向量
上面的過程只是適合進行一次兩次這樣的計算, 如果遇到需要較多的矩陣的時候或者這樣的過程只是某些計算中的幾步需求的時候就需要把前面的計算合在一起進行計算,同樣也可以把這段代碼放在需要的算法程序中
除了直接輸入變量結果來查看的方法外 ,還可以直接在workspace中查看變量運算結果 ,如圖中的lamda和y_lamda的結果值


評論