matlab中统计向量中有几个相同的数

比如有一行很长的向量,需要统计其中相同的数,并且返回相同数的行数,如A=[1224446777788101010...]我想知道哪些列的数字是一样的,怎么做?... 比如有一行很长的向量,需要统计其中相同的数,并且返回相同数的行数,如A=[1 2 2 4 4 4 6 7 7 7 7 8 8 10 10 10 ...] 我想知道哪些列的数字是一样的,怎么做? 展开
 我来答
zhdhqq
2010-04-18 · TA获得超过321个赞
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:85.9万
展开全部
%********主程序文件****
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
枯木葳蕤
2010-04-16 · TA获得超过912个赞
知道小有建树答主
回答量:420
采纳率:0%
帮助的人:389万
展开全部
程序如下:
Au=unique(A);% 合并A中相同数据的集合,A=[1 2 4 6 7 8 10…]
n=size(Au,2);% 统计Au中元素的个数
for i=1:n
M=find(A==Au(i));% 在数组A中,找到和Au(i)相同的数的行数和列数
%=================================
% 显示说明信息部分
disp('和数')
Ae=Au(i)
disp('相同的数的列数为:')
%=================================
col=M(:,2)'% 显示列数
end

希望对你有帮助!如有小错误,自行调整!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式