找到

查找非零元素的索引和值

描述

例子

k=找到(X)返回包含线性指数数组中每个非零元素的X

  • 如果X是一个向量找到返回方向相同的向量X

  • 如果X是一个多维阵列中,然后找到返回结果的线性索引的列向量。

  • 如果X不包含非零元素或为空,则找到返回一个空数组。

例子

k=找到(X,n)返回第一个n中的非零元素对应的索引X

例子

k=找到(X,n,方向),在那里方向“最后一次”,找到最后一个n中的非零元素对应的索引X。的默认值方向“第一”,其找到第一个n对应于非零元素的索引。

例子

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

例子

(,上校,v)=找到(___)还返回向量v,其中包含的非零元素X

例子

全部折叠

求一个3×3矩阵中的非零元素。

X = [1];0 1 1;0 0 4]
X =3×31 0 2 0 1 1 0 0 4
k =找到(X)
k =5×115 7 8 9

使用逻辑操作员在X来找到零。

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

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

X =魔法(4)
X =4×416 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
k =找到(X < 10、5)
k =5×12 3 4 5 7

的对应元素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的魔法方阵,其中所有奇数索引元素都等于0。

X =魔法(6);X(1:2:结束)= 0
X =6×60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 33 17 10 15 0 0 0 0 0 0 0 4 36 29 13 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×418 3 1 11 8 10 11 3 9 14 6 14 3 15 21
查找(X>0 & X<10,3)
行=3×12 3 4
坳=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 7 0 0 1
(行,坳,v) =找到(X)
行=5×11 2 1 2 3
坳=5×11 1 2 3 3
v =5×13 -5 2 7 1

求一个4乘2乘3的数组中的非零元素。指定两个输出,上校,以返回非零元素的行和列下标。当输入为多维数组时(N > 2),找到返回上校作为线性指标n - 1的前后尺寸X

X =零(4,2,3);X([1 12 19 21])= 1
X(:,:,3) = X(:,:,1) = X(:,:,1) = X(:,:,2) = X(:,:,3) =
[行,坳]=找到(X)
行=4×11 4 3 1
坳=4×11 3 5 6

输入参数

全部折叠

输入数组,指定为标量、向量、矩阵或多维数组。如果X是空数组还是没有非零元素k是一个空数组。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符
复数的支持:万博1manbetx是的

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

搜索方向,指定为字符串“第一”“最后一次”。寻找去年n非零元素X使用找到(X,N, '最后')

输出参数

全部折叠

非零元素的索引,作为向量返回。如果X是行向量吗k也是一个行向量。除此以外,k是列向量。k什么时候是空数组X是空数组或没有非零元素。

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

行下标,作为向量返回。在一起,上校指定坳X(行)中的非零元素对应的下标X

列下标,作为向量返回。在一起,上校指定坳X(行)中的非零元素对应的下标X

如果X多维数组N > 2,然后上校是线性指标吗n - 1的前后尺寸X。这保持了关系X(行(我),(我)上校= = v(我)

的非零元素X,返回为矢量。

更多关于

全部折叠

线性指数

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

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

sub2indind2sub函数在下标和线性指标之间的转换是有用的。

提示

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

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

  • 当您执行找到类似于关系型操作X > 1,重要的是要记住,关系操作的结果是一个1和0的逻辑矩阵。例如,命令(行,坳,v) =找到(X > 1)返回逻辑的列向量1(真正的)值v

  • 行和列标,上校,与中的线性指标有关k通过k = sub2ind(大小(X)、行、坳)

扩展功能

之前介绍过的R2006a