作者keroro01 (PTT重度使用者)
看板MATLAB
標題[問題] 想請教 特地忽略某個值的排序問題
時間Sat Mar 26 21:35:04 2016
大家好 第一次在本板發文
我的問題是 我想依各列排序一個矩陣 矩陣大小不定
但我想忽略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對我來說是比較無意義的數字,想要把它丟到最後面去
不知道有沒有函示用法可以解決
感謝撥空解答~
--
t a ╭
◥███◣╮ ╭══╮ ╭
◢◆════
███═ theanswer3 ╮
t a
h n ║
█ ◤ █╰══╯
● ╰═╯
█ ◢█◣ █ \ ◥╴ ║
h n
e s ║
█▌◢█ ◢ ◢ ◢ ◢█◣ █ ◥◣◥ ◥██◣ 〈
╲ ̄ ║
e s
w ║
███◤ █◢█ █ █▌█ █ ◣◥◣ ▆ █ ║
w
e ║
█▌ ◥◤◥ █ ◥█◤ █ ◥█◤ ◥██◤ < \ ║
e
r 3╰═
◤═══════
◆◤═══
◆◤══════════════╯
r 3
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.8.130
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1458999308.A.75A.html
※ 編輯: keroro01 (118.168.8.130), 03/26/2016 21:35:21
※ 編輯: keroro01 (118.168.8.130), 03/26/2016 21:37:15
推 sin55688: 排序前把0拿掉或是設成很大的數字? 03/26 23:32
感謝回應 因為每一列有值的數目不定,所以0拿掉可能矩陣會崩潰
設成很大的數字應該可以,不過我有點排斥這個做法 但沒方法可行情況下還是會用吧XD
※ 編輯: keroro01 (118.168.8.130), 03/27/2016 10:38:57
→ celestialgod: for i=1:size(A,1), [~,A(i,A(i,:)~=0)]=sort(A(i,A 03/27 13:56
→ celestialgod: (i,:)~=0)) 03/27 13:56
→ celestialgod: end 03/27 13:56
推 fghjkl1000: 推樓上,不過中間應該是 A(ii,A(ii,:)~=0)=sort(A(ii, 03/27 15:59
→ fghjkl1000: A(ii,:)~=0)); 我是用 for ii=1:size(A,1);沒差 03/27 16:00
推 celestialgod: 哈哈哈哈,打太快,謝謝提醒 03/27 16:06
→ celestialgod: 不知道為啥在想index Orz 03/27 16:07
喔喔喔 大感謝!!
原來真的有這種可以忽略某個值的排法說 感恩~~~
※ 編輯: keroro01 (118.168.8.130), 03/27/2016 18:00:49