[問題] eigenvalue/vector排序問題已回收

看板MATLAB作者 (溯游從之)時間14年前 (2011/06/12 20:24), 編輯推噓4(408)
留言12則, 4人參與, 最新討論串1/1
我是使用eig這個函數來求矩陣的eigenvalue和eigenvector 碰到一個問題就是他特徵值的排序好像會一直亂跑 就例如有三個特徵值x1 x2 x3 有些時候會是照1 2 3的順序排 但某幾個點會變成2 1 3來排 確實我可以去看eigenvector的形式來判斷實際特徵值順序 但因為資料點數很多會需要想辦法排序 用手動的很麻煩 而要自動排的話又不是很容易判斷 我想請教大家是否知道eig這個函數是依據什麼原則去排eigenvalue的順序? 是否有什麼設定可以調整他預設的順序 另外每一個eigenvector裡面也有類似的問題 他會把向量的大小(norm)設為1 但各元素的相位就不知道怎麼排定的 (我的元素都是複數) 只知道都會有一個是實數 這一點其實無關緊要 只是對他的排法好奇 因為每個向量選做實數的那個元素都不是同一個 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.24.22

06/12 20:41, , 1F
好問題~~但是不簡單就是了 我論文有做過這個相關討論
06/12 20:41, 1F

06/12 20:42, , 2F
有時候排序沒有排好會造成一些函數不連續~~變成跳動
06/12 20:42, 2F

06/12 20:42, , 3F
很難找到解...連續函數求解
06/12 20:42, 3F

06/12 20:55, , 4F
你所謂的跳動 就只是沒排好造成的 其實沒解錯是嗎?
06/12 20:55, 4F

06/12 20:59, , 5F
是的..因為一些行列式值整行或整列互換..
06/12 20:59, 5F

06/12 20:59, , 6F
有的不會跳動~~~~但是會忽大忽小~~那是因為特徵向量
06/12 20:59, 6F

06/12 20:59, , 7F
沒有定義好大小~~
06/12 20:59, 7F

06/12 21:00, , 8F
正負號除了特徵值排序~還有定義大小後~~特徵向量
06/12 21:00, 8F

06/12 21:00, , 9F
也不唯一~~會有正負兩種形式
06/12 21:00, 9F

06/12 21:28, , 10F
這個要問LAPACK XD
06/12 21:28, 10F

05/02 17:58, , 11F
遇到同樣的問題 .. 單純的正負號就算了, 量值太難判斷
05/02 17:58, 11F

05/02 17:59, , 12F
了吧 ... 可是為什麼我有些同學就不會這樣, 版本不同
05/02 17:59, 12F
文章代碼(AID): #1DzB0ECp (MATLAB)