celestialgod

calculate the freq of rows

Jul 14th, 2016
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.61 KB | None | 0 0
  1. A = [0 0 0 0 0 17 17 19 19 19 17 17 17 17 17];
  2. B=[0 0 0 0 0 22 22 24 24 24 24 24 24 24 24];
  3. C = [A; B]';
  4. % 找出沒有0的列
  5. idxFilterZeros = find(any(bsxfun(@ne, C, zeros(1, size(C, 2))), 2));
  6. C2 = C(idxFilterZeros, :);
  7. % 找出unique的列
  8. [output, idx1, idx2] = unique(C2, 'rows');
  9. % 用unique列的index去算frequencies
  10. uni_idx = sort(unique(idx2));
  11. % 計算unique列的frequencies
  12. count = histc(idx2, uni_idx);
  13. % 找到最大frequency的列
  14. [~, maxIdx] = max(count);
  15. % 叫出有最大frequency的列
  16. out = C2(find(idx2 == uni_idx(maxIdx), 1, 'first'), :);
  17. outIdx = idxFilterZeros(idx1(maxIdx));
Add Comment
Please, Sign In to add comment