matlab重复元素个数
2023-05-07 19:07:38
1390 views
问:如何MATLAB统计数组中相同元素的个数
- 答: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。 - 答: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。 - 答:% 方法好多的。。
% 假如
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)为所对应的元素值在此矩阵中的出现的次数 - 答:>> 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
>>
看看这个例子是否符合你的要求!?
问:如何MATLAB统计数组中相同元素的个数
- 答:1、这里假设数组为data,可以根据自己需要更改第一行代码即可。
data可以是行向量、列向量、矩阵都行。
2、输出一个n*2的矩阵,第一列是元素,第二列是元素出现的次数。
3、代码如下:
data=[1 2 3 1 3 2 3 3 2 4];
data=data(:);
uniquedata=unique(data);
out=zeros(length(uniquedata),2);
for ni=1:length(uniquedata)
out(ni,1)=uniquedata(ni);
out(ni,2)=sum(data==uniquedata(ni));
end
disp(out)
结果为:
1 2
2 3
3 4
4 1
即1出现2次,2出现3次。。。
觉得有帮助就采纳吧。
问:如何利用matlab将重复数据个数统计出来
- 答:clc;clear;close
all;
x
=
[1
1
1
2
2
2
3
3
3
3
3
3
6
7
7
8
1];
y
=
unique(x);
for
i
=
1:length(y)
a(i)
=
sum(x
==
y(i));
end
%%
结果输出打印
disp('>>向量中的元素如下:');
y
disp('>>元素个数分别为:');
a
标签: