matlab矩阵中如何去掉重复的行;如何找到相同的行,并找到其位置

找到了2个函数:unique和ismember

1. 去掉其中的重复行:unique

例子:

IDX = [1,2,3;
       2,3,1;
       1,2,3;
       2,3,1;
       1,1,1;
       1,1,1];
classNo = unique(IDX,‘rows‘);  

2. 在matlab中找到相同的行,并找到其位置:ismember

例子:

IDX = [1,2,3;
       2,3,1;
       1,2,3;
       2,3,1;
       1,1,1;
       1,1,1];
classNo = unique(IDX,‘rows‘);
a = [1,2,3];
b = [1,5,4];
[tfa,loca] = ismember(a,classNo,‘rows‘)
[tfb,locb] = ismember(b,classNo,‘rows‘)

说明:如果找不到,编号返回为0(比如途中locb)。

参考:http://blog.csdn.net/loveaborn/article/details/8486010

时间: 2024-10-29 19:07:47

matlab矩阵中如何去掉重复的行;如何找到相同的行,并找到其位置的相关文章

matlab矩阵中如何去掉重复的行和找到相同的行

转自https://blog.csdn.net/loveaborn/article/details/8486010 设有矩阵 >> a=[1 2 3;4 5 6;1 2 3;] a = 1   2   3 4   5   6 1   2   3 问题1:怎样去掉其中的重复行呢? >> b=unique(a,'rows') b = 1 2 3 4 5   6 问题2:在matlab中怎样找到相同的行?并找到其位置 新来两个向量如下: c = [1,2,3];d = [1,5,4];

多表合并且去掉重复项

数据库问题:多个表中合并去掉重复项 两个表合并起来,去掉某行相同的项,正好把多表查询系统复习一下: 多表查询 (也叫连接查询,此处为基于两个表的连接查询)如果一个查询需要对多个表进行操作就称为连接查询,连接查询的结果集或结果称为表之间的连接.连接查询实际上是通过各个表之间共同列的关联性来查询数据的,它是关系数据库查询最主要的特征.select 表1.字段名1,表2.字段名2,...from 表1,表2where 连接条件SQL-92标准所定义的FROM子句的连接语法格式为:FROM 表名 joi

1007 正整数分组 1010 只包含因子2 3 5的数 1014 X^2 Mod P 1024 矩阵中不重复的元素 1031 骨牌覆盖

1007 正整数分组 将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的. Input 第1行:一个数N,N为正整数的数量. 第2 - N+1行,N个正整数. (N <= 100, 所有正整数的和 <= 10000) Output 输出这个最小差 Input示例 5 1 2 3 4 5 Output示例 1这题不就是小李打怪兽吗,不知道谁模仿谁,呵呵,刚还是我编的题里的,dp,证明一下(要证明什么自

51 NOD 1024 矩阵中不重复的元素(技巧)

传送门 1024 矩阵中不重复的元素 题目来源: Project Euler 一个m*n的矩阵. 该矩阵的第一列是a^b,(a+1)^b,-..(a + n - 1)^b 第二列是a^(b+1),(a+1)^(b+1),-..(a + n - 1)^(b+1) --. 第m列是a^(b + m - 1),(a+1)^(b + m - 1),-..(a + n - 1)^(b + m - 1) (a^b表示a的b次方) 下面是一个4*4的矩阵: 2^2=4, 2^3=8, 2^4=16, 2^5=

51nod 1024 矩阵中不重复的元素(质因数分解+map判重)

1024 矩阵中不重复的元素 题目来源: Project Euler 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 取消关注 一个m*n的矩阵. 该矩阵的第一列是a^b,(a+1)^b,.....(a + n - 1)^b 第二列是a^(b+1),(a+1)^(b+1),.....(a + n - 1)^(b+1) ....... 第m列是a^(b + m - 1),(a+1)^(b + m - 1),.....(a + n - 1)^(b +

sql 表中删除字段重复的行

Id    Email    UserName1    [email protected]    TaiseerJoudeh2    [email protected]    HasanAhmad3    [email protected]    MoatasemAhmad4    [email protected]    SalmaTamer5    [email protected]    AhmadRadi6    [email protected]    BillGates7    [e

matlab中怎样删除重复元素使得和Python中集合set的功能一样

1 >> m=[1,1,2,2,3]; 2 >> m 3 4 m = 5 6 1 1 2 2 3 7 8 >> b=unique(m) 9 10 b = 11 12 1 2 3 使用unique函数;从而去掉重复元素,统计出现的元素及元素个数; 例如: 1 >> a=[1,2,3,2;5,2,9,7;8,0,6,3]; 2 >> a 3 4 a = 5 6 1 2 3 2 7 5 2 9 7 8 8 0 6 3 9 10 >> b=u

js-数组中去掉重复的

关于一个固定的已知的数组例如:var arr = ['name','OK','123','n','look','777','n','123','name',1,3,5,1,'OK']; 那么问题来了,我们怎么能去掉重复的字符串或者数字,得到新的数组呢! 方法①: function takeRepetition_1(arr){ var data= {};  //这里会遍历data的arr[i]属性 因为data为空 理所当然返回undefined var result = []; for(var

访问Mat矩阵中的元素并为其赋值

在OpenCV中有三种方式访问矩阵中的数据元素:容易的方式,困难的方式,以及正确的方式.今天主要讲容易方式: 最容易的方式是使用宏CV_MAT_ELEM( matrix, elemtype, row, col ),输入参数是矩阵,不是指针,网上有很多人说是指针,矩阵元素类型,行,列,返回值是相应行,列的矩阵元素.CV_MAT_ELEM可以给矩阵赋值,也可以访问矩阵元素. CV_MAT_ELEM宏实际上会调用CV_MAT_ELEM_PTR(matrix,row,col)宏来完成任务. CV_MAT