%********主程序文件****
clear all
clc
A=[1 2 2 4 4 4 6 7 7 7 7 8 8 10 10 10];
%A(2,:)=[2 3 3 4 5 6 1 0 10 1 3 3 4 4 3 4];
A1=unique(A); % 合并A中相同数据
Len=length(A1(:)); %统计A1中元素个数
B=cell(2,Len); %创建2*Len元胞数组
for ni=1:Len
B{1,ni}=A1(ni); %元胞数组中第一行存放要统计的数
B{2,ni}=Same_num(A,A1(ni)); %元胞数组中第二行存放对应数的索引位置
end
%*****以下函数文件单独保存在名为Same_num的函数m文件中*****************************************
function B=Same_num(A,num)
%统计矩阵A中数num的个数及其位置索引
%A为待统计矩阵
%num为A中的某一个数
LenA1=size(A,1); %统计A的行数
LenA2=size(A,2); %统计A的列数
m=1; %初始化
for ni=1:LenA1
for nj=1:LenA2
if A(ni,nj)==num
B(m,:)=[ni,nj]; %将与num相同的数的索引返回
m=m+1;
end
end
end
温馨提示:答案为网友推荐,仅供参考