看板 MATLAB 關於我們 聯絡資訊
※ 引述《candy88257 (阿泰斯)》之銘言: : 今有一n*n的方陣A : 有另一矩陣為X,其為n*1的矩陣 : 當AX=0時 : X有解的話,det(A)一定要等於0 : 而假設矩陣裡面有一個變數y : 故det(A)=0為一個以y為變數的方程式 : 求出y之後代回矩陣 : 然後想求X : 請問要怎麼做? 如果這樣想: (0) 若 X 有零向量以外的解, 代表X落在A的null space裡面. (1) 對n*n的方陣A而言, 若 det(A) 為零, 則代表至少有1個eigenvalue為0,最多n-1個. 因此,不管你的y是多少, 假設你已經知道A,那麼 (a) 對A做 eigen-decomposition (b) 若A有為0的eigenvalue,從null-space中得到X. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.27.127
candy88257:但很奇怪的是,y代進去驗算竟然還有det(A) 04/15 23:39
candy88257:不為0的結果,但y是由det(A)=0算出來的 04/15 23:40
candy88257:y代回去理論上要可以求零核空間裡的向量 04/15 23:41
candy88257:但測試過發現各個y代進去求null會有很多 04/15 23:42
candy88257:y代進去跑出來的卻是空集合的狀況 04/15 23:43
candy88257:目前是卡在這裡 04/15 23:43
YoursEver:你是不是遇到round-off error? 04/16 03:24
YoursEver:把eigenvalue排序,把小於某個數字(ex:10e-4)的設為0. 04/16 03:28
candy88257:抱歉不是遇到您說的問題,而是直接跑出: [空矩陣] 04/16 09:08
candy88257:但您說的方式我會再測試,幫助相當大! 感謝!!! 04/16 09:09