如何MATLAB统计数组中相同元素的个数
5个回答
2015-09-01
展开全部
% 方法好多的。。
% 假如
A = [1 3 5 3 1 5 3 1 1 3 5];
% method1
result=unique(A);
count = hist(A,unique(A));
% method2
A=sort(A);
d=diff([A;max(A)+1]);
count=diff(find([1;d])) ;
y =[A(find(d)) count];
% method3
% 直接用tabulate函数
tabulate(A)
% 假如
A = [1 3 5 3 1 5 3 1 1 3 5];
% method1
result=unique(A);
count = hist(A,unique(A));
% method2
A=sort(A);
d=diff([A;max(A)+1]);
count=diff(find([1;d])) ;
y =[A(find(d)) count];
% method3
% 直接用tabulate函数
tabulate(A)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假定要分析的矩阵为data,
x=data(:)
x=sort(x);
d=diff([x;max(x)+1]);
count = diff(find([1;d])) ;
y =[x(find(d)) count]
最后输出的y(1)为元素值,y(2)为所对应的元素值在此矩阵中的出现的次数
x=data(:)
x=sort(x);
d=diff([x;max(x)+1]);
count = diff(find([1;d])) ;
y =[x(find(d)) count]
最后输出的y(1)为元素值,y(2)为所对应的元素值在此矩阵中的出现的次数
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
>> A=[1 5 8 6;5 8 1 7;3 6 8 1;2 8 4 6];
>> B=sort(A(:)');
>> [C,i]=unique(B)
>> n=length(C);
>> disp(['数组中元素',num2str(C(1)),'的个数为:',num2str(i(1))])
>> for j=2:n
disp(['数组中元素',num2str(C(j)),'的个数为:',num2str(i(j)-i(j-1))])
end
数组中元素1的个数为:3
数组中元素2的个数为:1
数组中元素3的个数为:1
数组中元素4的个数为:1
数组中元素5的个数为:2
数组中元素6的个数为:3
数组中元素7的个数为:1
数组中元素8的个数为:4
>>
看看这个例子是否符合你的要求!?
>> B=sort(A(:)');
>> [C,i]=unique(B)
>> n=length(C);
>> disp(['数组中元素',num2str(C(1)),'的个数为:',num2str(i(1))])
>> for j=2:n
disp(['数组中元素',num2str(C(j)),'的个数为:',num2str(i(j)-i(j-1))])
end
数组中元素1的个数为:3
数组中元素2的个数为:1
数组中元素3的个数为:1
数组中元素4的个数为:1
数组中元素5的个数为:2
数组中元素6的个数为:3
数组中元素7的个数为:1
数组中元素8的个数为:4
>>
看看这个例子是否符合你的要求!?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询