[讨论] 想请教 特地忽略某个值的排序问题

楼主: 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