matlab怎样统计矩阵元素完全相同行的的数量 帮帮忙呀!我是matlab初学者
假如有一个矩阵[1,2;3,4;2,3;1,2;3,4]需要输出相同行的行数,例如:[1,2]2[3,4]2[2,3]1...
假如有一个矩阵[1,2; 3,4; 2,3; 1,2; 3,4]
需要输出相同行的行数,例如:[1,2] 2
[3,4] 2
[2,3] 1 展开
需要输出相同行的行数,例如:[1,2] 2
[3,4] 2
[2,3] 1 展开
展开全部
假设矩阵为A,那么A(i,:)为第i行,size(A,1)为A的行数,而ones(size(A,1),1)*A(i,:)生成一个重复矩阵count((sum(abs(A-ones(size(A,1),1)*A(i,:))),2)>0)-1,你自己理解下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=[1,2; 3,4; 2,3; 1,2; 3,4];
[b m n]=unique(a,'rows');
c=tabulate(n);
c=sortrows(c,-2);
for ii=1:size(c,1)
s=sprintf('[%g,%g] %d',a(m(c(ii,1)),1),a(m(c(ii,1)),2),c(ii,2));
disp(s);
end
[b m n]=unique(a,'rows');
c=tabulate(n);
c=sortrows(c,-2);
for ii=1:size(c,1)
s=sprintf('[%g,%g] %d',a(m(c(ii,1)),1),a(m(c(ii,1)),2),c(ii,2));
disp(s);
end
追问
如果是n行3列的怎么修改呀?麻烦你啦 谢谢
追答
加入a是3列的矩阵
[b m n]=unique(a,'rows');
c=tabulate(n);
c=sortrows(c,-2);
for ii=1:size(c,1)
s=sprintf('[%g,%g,%g] %d',a(m(c(ii,1)),1),a(m(c(ii,1)),2),a(m(c(ii,1)),3),c(ii,2));
disp(s);
end
只要在显示的时候多加一个显示就好
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询