如何MATLAB统计数组中相同元素的个数

2024-11-06 15:23:39
推荐回答(5个)
回答(1):

MATLAB统计数组中相同元素的个数步骤如下:

1、打开matlab,在命令行窗口中输入a=[1 3 5;6 7 8],创建一个二维数组。

2、输入length(a(:)),统计a数组的元素个数。

3、按回车键,可以看到a数组元素个数为6。

4、输入[m,n]=size(a),统计数组的元素。

5、输入m*n,按回车键可以看到数组元素个数为6。

回答(2):

1、打开matlab,在命令行窗口中输入a=[1 3 5;6 7 8],创建一个二维数组,如下图所示。

2、输入length(a(:)),统计a数组的元素个数,如下图所示。

3、按回车键,可以看到a数组元素个数为6。

4、输入[m,n]=size(a),统计数组的元素。

5、输入m*n,按回车键可以看到数组元素个数为6。

回答(3):

% 方法好多的。。
% 假如
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)

回答(4):

假定要分析的矩阵为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)为所对应的元素值在此矩阵中的出现的次数

回答(5):

>> 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
>>

看看这个例子是否符合你的要求!?