Re: [問題]判斷方陣是否為對角線矩陣 已回收

看板MATLAB作者 (愛世代)時間13年前 (2011/02/16 12:20), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/2 (看更多)
我後來再查其他資訊,加上板友的意見。 我使用方法如下 假設有一方陣z triu(z)-diag(diag(z))%取得上三角矩陣扣除對角線的部分 tril(z)-diag(diag(z))%同理取下三角扣除對角線的部分 所以原function的判斷式改為 if(mata(ii,ii)~=0)&(triu(mata)-diag(diag(mata))==0) &(tril(mata)-diag(diag(mata))==0) ******************************* 目前以下三種方陣測試ok z1=ones(8,8) z=[1:5;1:5;1:5;1:5;1:5] V=diag(1:5) 但是不知道我這樣寫是否真的成功了? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.21.111 ※ 編輯: vincent59 來自: 140.118.21.111 (02/16 12:23)

02/16 14:02, , 1F
triu(z,1)就直接是沒對角線的上三角矩陣了
02/16 14:02, 1F

02/16 14:04, , 2F
tril同理,測試時建議不要用整數,浮點數誤差很討厭的
02/16 14:04, 2F

02/16 15:44, , 3F
所以判別式可以這樣寫囉?
02/16 15:44, 3F
if(mata(ii,ii)~=0)&(triu(mata,1)==0)&(tril(mata,-1)==0) ※ 編輯: vincent59 來自: 140.118.21.111 (02/16 15:45)
文章代碼(AID): #1DMr2h4U (MATLAB)
文章代碼(AID): #1DMr2h4U (MATLAB)