找回密码
 注册
关于网站域名变更的通知
查看: 602|回复: 1
打印 上一主题 下一主题

在matlab中用unique函数如何去除矩阵重复的行并不改变矩阵顺序的方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-12-24 10:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
( i, S! X9 I% o0 D/ y' N
如果一个矩阵中有重复的行,比如:! u5 o! Q; K2 q

8 a( j$ `9 `, ?- K; z$ T
  • >> A=[4,5,6;1,2,3;1,2,3]
  • A =
  •      4     5     6
  •      1     2     3
  •      1     2     3* |) D: Y+ }8 W5 h' w5 `5 @6 }: u
( u1 H) D4 A7 C2 r$ C8 }

' T/ o- t* A8 H$ O0 {& Q+ I可以使用unique()函数来去掉重复的行
* w4 T% {9 R4 l) c, I( P
! d; M/ f9 Q: f8 y
  • unique(A,'rows',setOrder)! g# y$ g& w* e! v% Y# e
( T4 o4 [" R# m$ Y9 j
1 k4 n1 C6 S8 a! Z' v. S" a
setOrder有两个选项可以选择:
8 U5 u' _4 G0 s6 h: Q; L
8 }- @& F9 m0 o' m' Z! k+ L/ X+ r+ nsetOrder=’sorted’ 是表示去掉重复值后排序后输出,默认是这个,因此有了上面的排序后输出  Z1 W. H( v) i$ O# W& {6 w
& \+ ?: c% I% |
setOrder=’stable’是表示去掉重复值后按原来的顺序输出% ]% a1 k' i8 k% l
0 _: ^) Y  o+ S
  • >> C= unique(A,'rows','stable')
  • C =
  •      4     5     6
  •      1     2     3
    ; M& p. y. h: g* C! O

) U, g) p. }  `- @+ d% c; f$ T0 A/ o" p! s
以上是对于矩阵的操作,对向量的操作只要将 ‘row’去掉即可7 F# {) o0 f8 C, b

" O5 r+ f! ?& y! i8 b7 ~
  • >>A=[2 2 2 1 1 1 3 3 3 3 3];
  • >>unique(A)
  • ans =
  •      1     2     3
  • >> unique(A,'stable')
  • ans =
  •      2     1     3
    , B( v" S$ A9 L2 f# d# X
# W. d, P4 G: d! |* j& X
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 23:06 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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