查看: 151|回复: 1|关注: 0

[已解决] 如何根据矩阵某一列相同元素的数量提取矩阵的行组成新矩阵

[复制链接]

新手

21 麦片

财富积分


050


12

主题

21

帖子

0

最佳答案
已知一个矩阵A,需要根据矩阵A第二列相同元素的数目给矩阵A的行进行分类并提取致矩阵B,C,D...中,如果并没有需要的矩阵,就令b=0
例子:
  1. A =

  2.      1     2
  3.      2     2
  4.      3     2
  5.      4     3
  6.      5     3
  7.      6     3
  8.      7     1
  9.      8     1
  10.      9     4
  11. 提取A矩阵中第二列有且仅有三个元素相同的行并储存,得到
  12. B =

  13.      1     2
  14.      2     2
  15.      3     2

  16. C =

  17.      4     3
  18.      5     3
  19.      6     3
  20. 提取矩阵A中有4个元素相同的行!
  21. 由于并没有这样的行,令b=0
复制代码


回复主题 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

中级

677 麦片

财富积分


5001500


26

主题

359

帖子

78

最佳答案
  • 关注者: 11
发表于 2020-9-11 09:54:56 | 显示全部楼层 |此回复为最佳答案
  1. A=randi([1,4],20,2);
  2. % 对A排序
  3. A=sortrows(A,2);
  4. %提取A中第二列重复的最后编号
  5. [C,ia,ic] = unique(A(:,2),'legacy')
  6. %分割矩阵
  7. index_num=[ia(1),diff(ia)];
  8. A1=mat2cell(A,index_num);
复制代码
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表