精華區beta MATLAB 關於我們 聯絡資訊
去年有看到幾篇由於想要進行計算的矩陣太大 很容易就出現ony of memory的訊息 後來是建議改使用sparse來儲存矩陣以解決記憶體問題 結果在計算特徵向量的時候又出問題了 sparse matrix不支援eig()這個指令的運算 最後好像是大家都拿這個問題沒輒了 不過剛剛在翻書找資料的時候 赫然發現有著另一個指令可以解決特徵值與特徵向量運算的問題 更應該說這個指令是專門設計給sparse matrix來用的 叫做eigs() 和eig()很像,後面只是多了一個s而已(應該是代表sparse matrix) 連參數的設定都完全一樣 使用這個指令就可以正常的對sparse matrix進行特徵問題的計算 希望可以是之前有著sparse matrix無法進行特徵問題計算煩惱的版友們的小小參考 題外話 當時我也有試過sparse matrix來進行特徵問題的計算 當時印象中sparse matrix是可以直接用eig()來算特徵值的 但是不能拿來算特徵向量 那時候我用的是7.1版 現在我用的是7.2版 R2006a 可是剛剛進行測試卻發現eig()連sparse matrix的特徵值都不給我算了 一定要使用eigs()才可以進行運算 不過不管是我記錯還是7.2版把指令改掉了 總之有sparse matrix要進行特徵問題的計算只要使用eigs()就可以了 -- Deserves death! I daresay he does. Many that live deserve death. And some die that deserve life. Can you give that to them? Then be not too eager to deal out death in the name of justice, fearing for your own safty. Even the wise cannot see all ends. Gandalf to Frodo -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.131.231.222