看板 MATLAB 關於我們 聯絡資訊
※ 引述《popo14777 (草草)》之銘言: : 小弟的程式如下 : A=[0 0 0 0 0 17 17 19 19 19 17 17 17 17 17] : B=[0 0 0 0 0 22 22 24 24 24 24 24 24 24 24] : C=[A;B] : 0,0 出現5次 : 17,22 出現2次 : 19,24 出現3次 : 17,24 出現4次 : 直向量的個數有15個 : 在C的一個矩陣下挑出次數最多的直向量,且要最少個數,還要不包含零 : 所以挑第11組(17,24)的直向量,並取得11這個數值 : 小弟還有其他矩陣,例如矩陣為11*15(這個範例是2*15) : 請問大大這樣的程式要如何寫呢? : 謝謝 我不知道有沒有更好的方法XD 好讀版:http://pastebin.com/hANz1W33 A = [0 0 0 0 0 17 17 19 19 19 17 17 17 17 17]; B=[0 0 0 0 0 22 22 24 24 24 24 24 24 24 24]; C = [A; B]'; % 找出沒有0的列 idxFilterZeros = find(any(bsxfun(@ne, C, zeros(1, size(C, 2))), 2)); C2 = C(idxFilterZeros, :); % 找出unique的列 [output, idx1, idx2] = unique(C2, 'rows'); % 用unique列的index去算frequencies uni_idx = sort(unique(idx2)); % 計算unique列的frequencies count = histc(idx2, uni_idx); % 找到最大frequency的列 [~, maxIdx] = max(count); % 叫出有最大frequency的列 out = C2(find(idx2 == uni_idx(maxIdx), 1, 'first'), :); outIdx = idxFilterZeros(idx1(maxIdx)); 已更正,outIdx就是所求 有問題再問吧XD 另外麻煩不要私信問,一切問題留在板上處理,謝謝 -- R資料整理套件系列文: magrittr #1LhSWhpH (R_Language) http://tinyurl.com/j3ql84c data.table #1LhW7Tvj (R_Language) http://tinyurl.com/hr77hrn dplyr(上) #1LhpJCfB (R_Language) http://tinyurl.com/jtg4hau dplyr(下) #1Lhw8b-s (R_Language) tidyr #1Liqls1R (R_Language) http://tinyurl.com/jq3o2g3 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.234.106 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1468515699.A.891.html ※ 編輯: celestialgod (1.165.234.106), 07/15/2016 01:02:10
popo14777: 謝謝C大,小弟我要11這個數值要如何取得呢? 07/15 09:26
popo14777: 因為後續的程式需要輸入挑出這組的數字11 07/15 09:27
popo14777: 其實小弟最主要只是要得到11這個數值就好,不用列出 07/15 09:38
popo14777: 17,24沒關係,謝謝 07/15 09:39
name0625: 就index啊,C2括號內的find那段就可以 07/15 10:02
popo14777: n大,在C2括號內哪邊打index呢? 謝謝 07/15 13:31
celestialgod: 晚點再試試看,我沒注意到要11這個數值 07/16 10:13
celestialgod: 應該是idx=find(any(bsxfun(@ne, C, zeros(1, size( 07/16 10:16
celestialgod: C, 2)))); 07/16 10:16
celestialgod: idx(maxIdx)試試看,不行再跟我說 07/16 10:16
celestialgod: 目前手邊沒電腦可以測試 07/16 10:17
popo14777: 謝謝C大,但還是沒有顯示11.. 07/16 15:03
已更新,我少一個index,而且用錯個,抱歉 outIdx就是你要的11了 ※ 編輯: celestialgod (111.253.88.49), 07/16/2016 21:12:37 ※ 編輯: celestialgod (111.253.88.49), 07/16/2016 21:16:57
popo14777: 謝謝C大,太感謝你了... 07/17 09:36