主要内容

查找非零元素的下标和值

描述

例子

K.=查找(X返回包含的向量线性指数数组中每个非零元素的X

  • 如果X是一个矢量,然后返回具有相同方向的向量X

  • 如果X那是一个多维数组返回结果的线性指标的列向量。

例子

K.=查找(XN返回第一个N中的非零元素对应的下标X

例子

K.=查找(XN方向,在那里方向'最后的',找到最后一个N中对应于非零元素的下标X.默认为方向'第一的',找到第一个N对应于非零元素的下标。

例子

[col) =找到(___返回数组中每个非零元素的行下标和列下标X使用先前语法中的任何输入参数。

例子

[colV.) =找到(___也返回矢量V.的非零元素X

例子

全部收缩

在3×3矩阵中找到非零元素。

x = [1 0 2;0 1 1;0 0 4]
X =3×31 0 2 0 1 1 0 0 4
k = find(x)
k =5×11 5 7 8 9

使用逻辑操作员在X来定位零点。

k2 =找到(~ X)
K2 =4×12 3 4 6

在一个4 × 4的幻方矩阵中找出小于10的前5个元素。

X =魔法(4)
X =4×4.16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
k =找到(X < 10、5)
k =5×12 .单词exceed联想记忆

查看对应的元素X

x(k)
ans =.5×15 9 4 2 7

要查找特定的整数值,请使用==操作符。例如,查找等于的元素13在1×10向量的奇数整数矢量中。

x = 1:2:20
x =1×101 3 5 7 9 11 13 15 17 19
k =查找(x == 13)
k = 7

要查找非整数值,请根据数据使用公差值。否则,结果有时是由于浮点循环错误引起的空矩阵。

y = 0:0.1:1
y =1×110 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000
k =找到(y = = 0.3)
k = 1x0空双排矢量
K = find(abs(y-0.3) < 0.001)
k = 4

创建一个6乘6的神奇方阵,所有奇数索引元素都等于零。

X =魔法(6);X(1:2:结束)= 0
X =6×6.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 36 23 18 11

找到去年四个非安利斯。

k =找到(X 4'最后的'
k =4×130 32 34 36

找到一个大于4×4矩阵中的前三个元素0.,不到10.指定两个输出以返回元素的行下标和列下标。

X = [18 3 1 11;8 10 11 3;9 14 6 1;4 3 15 21]
X =4×4.18 3 1 11 8 10 11 3 9 14 6 1 4 3 15 21
[row,col] = find(X>0 & X<10,3); / /查询>
行=3×12 3 4.
col =3×11 1 1

第一个实例是x(2,1),这是8.

在3×3矩阵中找到非零元素。指定三个输出以返回行下标,列下标和元素值。

X = [3 2 0;5 0 7;0 0 1]
X =3×33 2 0 -5 0 7 0 0
[行,col,v] = find(x)
行=5×11 2 1 2 3
col =5×11 1 2 3 3
v =5×13 -5 2 7 1

在4×2×3数组中找到非零元素。指定两个输出,col,返回非零元素的行和列下标。当输入是多维数组时(n> 2),回报col作为线性指数n - 1尾随尺寸X

x =零(4,2,3);X([1 12 19 21])= 1
x = x(:,:,1)= 1 0 0 0 0 0 0 0 x(:,:2)= 0 0 0 0 0 0 0 1 0 x(:,:3)= 0 1 0 0 10 0 0.
[行,col] = find(x)
行=4×11 4 3 1
col =4×11 3 5 6

输入参数

全部收缩

输入数组,指定为标量,矢量,矩阵或多维数组。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符
复数支持:金宝app是的

要查找的非系统数量,指定为正整数标量。默认情况下,找到(x,n)寻找第一个N非零元素in.X

搜索方向,指定为字符串'第一的''最后的'.寻找去年N非零元素in.X使用找到(x,n,'last')

输出参数

全部收缩

非零元素的索引,作为向量返回。

  • 如果X是一排矢量,然后K.也是一排矢量。除此以外,K.是一个列向量。

  • K.是空行矢量或空列矢量X是一个空数组或没有非零元素。

  • 使用“公约”K.是一个空矩阵[]X是一个空矩阵[]

可以返回中的非零值X使用x(k)

行下标,返回为向量。在一起,col指定x(row,col)对应于非零元素的下标X

作为向量返回的列下标。在一起,col指定x(row,col)对应于非零元素的下标X

如果X多维数组是否为n> 2, 然后col是一个线性指数n - 1尾随尺寸X.这保留了关系x(行(i),col(i))== v(i)

非零元素X,返回为向量。

更多关于

全部收缩

线性指数

线性索引允许使用单个下标进行索引到阵列中,例如(k).MATLAB®将数组视为单个列向量,每一列附加到前一列的底部。因此,线性索引从上到下,从左到右为列中的元素编号。

例如,考虑一个3 × 3矩阵。你可以参考(2, 2)元素A(5),(2、3)元素A(8).线性索引根据阵列的大小而变化;A(5)对于3 × 3矩阵和对于4 × 4矩阵返回不同位置的元素。

次级ind2sub函数在下标和线性下标之间的转换很有用。

提示

  • 找到满足条件的数组元素,使用与关系表达式结合。例如,查找(x <5)将线性索引返回给元素X小于5.

  • 直接找到元素X满足条件x <5,使用x(x <5).避免函数调用x(找到(x <5)),不必要地使用在逻辑矩阵上。

  • 当你执行时具有关系的关系X > 1,重要的是要记住关系操作的结果是逻辑矩阵和零。例如,命令[行,col,v] = find(x> 1)返回逻辑的列向量1真的)值为V.

  • 行和列下标,col,与线性指数有关K.经过k = sub2ind(大小(X)、行、坳)

扩展功能

在R2006A之前介绍