Re: [討論] 挑出向量重複元素

看板MATLAB作者 (kevin)時間9年前 (2016/08/20 21:52), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/3 (看更多)
unique 會回傳 unique 的 index (ia) 所以只要把不在 ia 中的 index 對應的值取出來 就都是重複的元素了 不過這時候還要再用一次 unique 才可以得到不重複的結果 程式碼: A = [ 2 2 2 1 8 8 7 4 9 8 ]; [C, ia, ~] = unique(A); B = unique(A(setdiff(1:length(A),ia))); A = setdiff(C,B); ※ 引述《andgitisaac (AndGiTiSaaC)》之銘言: : 想請問各位前輩 : 假設有一個向量A = [ 2 2 2 1 8 8 7 4 9 8 ] : 現在想要把有重複的元素從裡面剔除, : 另外不重複地分派到向量B : 使得結果為A = [ 1 7 4 9 ]; B = [ 2 8 ]; : (結果不一定要經過排序或按照原順序) : 翻了很多文都只能找到"刪除重複"的元素(使用unique) : 但不是我想要的結果Orz.... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.243.1 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1471701172.A.32C.html

08/21 10:01, , 1F
原來是這樣,看help沒有想到index用法,感謝大大
08/21 10:01, 1F

08/21 12:48, , 2F
這方法簡單許多
08/21 12:48, 2F
文章代碼(AID): #1Nk62qCi (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1Nk62qCi (MATLAB)