[討論] 想請教 特地忽略某個值的排序問題

作者: keroro01 (PTT重度使用者)   2016-03-26 21:35:04
大家好 第一次在本板發文
我的問題是 我想依各列排序一個矩陣 矩陣大小不定
但我想忽略0這個數
比方說 我有 矩陣A
3,6,1,0,0,0
2,9,4,1,0,0
那我知道用 sort(A,2)
可以排完這個矩陣
但他會變成
0,0,0,1,3,6
0,0,1,2,4,9
因為一些程式邏輯的原因,我是想要使他變成
1,3,6,0,0,0
1,2,4,9,0,0
0對我來說是比較無意義的數字,想要把它丟到最後面去
不知道有沒有函示用法可以解決
感謝撥空解答~
作者: sin55688 (單手挑藏獒)   2016-03-26 23:32:00
排序前把0拿掉或是設成很大的數字?
作者: celestialgod (天)   2016-03-27 13:56:00
for i=1:size(A,1), [~,A(i,A(i,:)~=0)]=sort(A(i,A(i,:)~=0))end
作者: fghjkl1000   2016-03-27 15:59:00
推樓上,不過中間應該是 A(ii,A(ii,:)~=0)=sort(A(ii,A(ii,:)~=0)); 我是用 for ii=1:size(A,1);沒差
作者: celestialgod (天)   2016-03-27 16:06:00
哈哈哈哈,打太快,謝謝提醒不知道為啥在想index Orz

Links booklink

Contact Us: admin [ a t ] ucptt.com