看板 MATLAB 關於我們 聯絡資訊
※ 引述《garnett0512 (賈奶)》之銘言: : 我有一個矩陣 : 9 6 5 6 : 3 2 1 5 : 0 6 0 0 : 5 3 0 8 : 4 5 8 1 : 我想要找尋右下角1的對角線非0的值,也就是6和3, : 但我只需要最接近的,所以答案是6 : 想請問各位高手要怎麼解決 謝謝 你的矩陣是固定長怎樣嗎? 若以你的舉例來說 可以在最左邊補上一排0 假設你矩陣為a b=zeros(5); b(:,2:end)=a; c=b(logical(eye(5))); [x,y,z]=find(c); % x,y是非0座標 z是非0的值 剩下的自己應該就可以了吧 至於要反過來的 就改在右邊補0 然後把對角線的矩陣翻轉一下 flipdim(eye(5),1) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.129.112.16
profyang:很酷的方法@@ 學到一課了還可以用logical 不過你這樣後面 11/17 20:36
profyang:C還是5*5 而我的方法是只剩下對角線 11/17 20:36
jeffppp:用logical 的用意就是為了只取出對角線 11/17 20:56
jeffppp:而且其實diag 就好了 剛剛腦殘用這麼麻煩的方式..... 11/17 20:58
profyang:原來有這function!! 11/17 21:01