matlab求一个矩阵中各元素出现的个数(归一化)

function [m,n] = stamatrix(a)
%网上找到的方法,感觉很巧妙
x=a(:);
x=sort(x);
d=diff([x;max(x)+1]);
count = diff(find([1;d]));%列出每个元素出现的个数
m = x(find(d));%列出a中出现的元素
n = count;
end
clc;
clear;
a = [1:4;5:8;2 1 2 2;2 3 4 98]
[m,n] = stamatrix(a);
disp('b的第一行是a中的元素:b的第二行是元素出现的次数!');
b(1,:) = m;
b(2,:) = n


posted @ 2014-10-31 20:49  meiyouor  阅读(591)  评论(0编辑  收藏  举报