ismember matlab

ismember 判断A中的元素在B中有没有出现
LIA = ismember(A,B) for arrays A and B returns an
array of the same size as A containing true where the elements of A are in
B and false otherwise.

对于数组A合B,返回一个和A同样尺寸的数组,若A某位置的元素在B中出现,则LIA相应位置为true,否则为false
LIA =
ismember(A,B,‘rows‘) for matrices A and B with the same number of columns,
returns a vector containing true where the rows of A are also rows of B and
false otherwise.

对于具有同样列数的A和B,返回一个向量,行数和A相同,如果A的该行在B中出现,则LIA该行的值为1,如果A的该行在B中没有出现过,返回0

[LIA,LOCB] = ismember(A,B) also returns an array LOCB containing
the highest absolute index in B for each element in A which is a member of
 B and 0 if there is no such
index.
LOCB和数组A的大小一样,里面包含A中元素在B中出现的位置,最大绝对值位置,即如果B中有两个元素和A中某元素相同,那么就返回索引值最大的那个位置
[LIA,LOCB]
= ismember(A,B,‘rows‘) also returns a vector LOCB containing  the highest
absolute index in B for each row in A which is a member of B and 0 if there is
no such index.
同上
In a future release, the behavior of ismember will
change including:
- occurrence of indices in LOCB will switch from highest to
lowest
- tighter restrictions on combinations of classes

In order
to see what impact those changes will have on your code, use:

[LIA,LOCB] = ismember(A,B,‘R2012a‘)
[LIA,LOCB] =
ismember(A,B,‘rows‘,‘R2012a‘)

If the changes in behavior adversely
affect your code, you may preserve
the current behavior with:

[LIA,LOCB] = ismember(A,B,‘legacy‘)
[LIA,LOCB] =
ismember(A,B,‘rows‘,‘legacy‘)

Examples:

a = [9 9 8 8
7 7 7 6 6 6 5 5 4 4 2 1 1 1]
b = [1 1 1 3 3 3 3 3 4 4 4 4 4 9 9 9]


[lia1,locb1] = ismember(a,b)
% returns
lia1 = [1
1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1]
locb1 = [16 16 0 0 0 0 0 0 0 0 0 0
13 13 0 3 3 3]

[lia2,locb2] = ismember(a,b,‘R2012a‘)
%
returns
lia2 = [1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1]
locb2 =
[14 14 0 0 0 0 0 0 0 0 0 0 9 9 0 1 1 1]

[lia,locb] = ismember([1
NaN 2 3],[3 4 NaN 1])
% NaNs compare as not equal, so this returns

lia = [1 0 0 1], locb = [4 0 0 1]

Class support for inputs A
and B, where A and B must be of the same
class unless stated
otherwise:
- logical, char, all numeric classes (may combine with double
arrays)
- cell arrays of strings (may combine with char arrays)
-- ‘rows‘
option is not supported for cell arrays
- objects with methods SORT
(SORTROWS for the ‘rows‘ option), EQ and NE
-- including heterogeneous arrays
derived from the same root class

ismember matlab,布布扣,bubuko.com

时间: 2025-01-15 13:23:03

ismember matlab的相关文章

Matlab中ismember用法

>> a = magic(3) a = 8 1 6 3 5 7 4 9 2 >> ismember(a,3) ans = 0 0 0 1 0 0 0 0 0 >> ismember(3,a) ans = 1 >> ismember(2,a) ans = 1 可看出ismember(a,3)返回逻辑矩阵,如果3在位置上则为1:ismember(3,a)如果3在a中则返回1.

matlab 基础 unique函数与ismember函数

(1)unique函数 函数格式: b = unique (a)             %取集合a的不重复元素构成的向量: b = unique (A,'rows')   %返回A.B不同行元素组成的矩阵: [b,i,j] = unique (-)      %其中 i 体现b中元素在原向量(矩阵a)中的位置:j体现原向量(矩阵a)在b中的位置: 代码: >> A=[1 2 3;4 5 6;7 8 9;1 2 3;5 5 5;6 6 6;6 7 8] A = 1 2 3 4 5 6 7 8

【转】matlab函数_连通区域

转载自einyboy的博文Matlab的regionprops详解 1. matlab函数bwareaopen──删除小面积对象格式:BW2 = bwareaopen(BW,P,conn)作用:删除二值图像BW中面积小于P的对象,默认情况下使用8邻域.算法:(1)Determine the connected components.  L = bwlabeln(BW, conn);(2)Compute the area of each component.  S = regionprops(L,

Matlab得到二值图像中最大连通区域

有时候要将二值化图像中最大的连通域保存下来,下面函数提供了一种方法: %function [img]=maxLianTongYu(I):求图像中最大的连通域 %输入:I 输入图像 %输出:img 仅包含最大连通域的图像 function [img]=maxLianTongYu(I) if length(size(I))>2 I = rgb2gray(I); end if ~islogical(I) imBw = im2bw(I); %转换为二值化图像 else imBw = I; end imB

【转】Matlab的regionprops详解

matlab函数_连通区域 1. matlab函数bwareaopen──删除小面积对象格式:BW2 = bwareaopen(BW,P,conn)作用:删除二值图像BW中面积小于P的对象,默认情况下使用8邻域.算法:(1)Determine the connected components.  L = bwlabeln(BW, conn);(2)Compute the area of each component.  S = regionprops(L, 'Area');(3)Remove s

Matlab科研常用命令总结

本文主要总结个人科研中用到的matlab命令,并不断跟新中! %---------------------读取存放数据(矩阵)的txt文件--------------------------------% data_source=dlmread('文件名',';');%读取以;为分隔符的数据,分割符为空格时省略. data_source=textread('文件名', '' , 'headerlines', 2);%从第二行开始读取数据,可以处理第一行为类别字符串时的情景. %---------

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 = [

matlab 常用函数汇总

1. 特殊变量与常数 主题词 意义 主题词 意义 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 inputname 输入参数名 NaN 非数 nargin 输入参数个数 nargout 输出参数的数目 pi 圆周率 nargoutchk 有效的输出参数数目 realmax 最大正浮点数 realmin 最小正浮点数 varargin   实际输入的参量 varargout 实际返回的参量     2. 操作符与特殊字符 主题词

MATLAB函数表(转自:http://bbs.06climate.com/forum.php?mod=viewthread&tid=16041&extra=page%3D4)

MATLAB函数表 4.1.1特殊变量与常数 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 inputname 输入参数名 NaN 非数 nargin 输入参数个数 nargout 输出参数的数目 pi 圆周率 nargoutchk 有效的输出参数数目 realmax 最大正浮点数 realmin 最小正浮点数 varargin 实际输入 的参量 varargout 实际返回的参量     4.1.2操作符与特殊字符 + 加 -