查找非零元素的指标和值

描述

ķ=查找(X返回包含一个载体线性指标在阵列中的每个非零元素的X

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

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

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

ķ=查找(Xñ返回第一个ñ索引对应于非零元素X

ķ=查找(Xñ方向,其中方向'持续',发现最后ñ对应于非零元素索引X。默认为方向'第一',其找到第一个ñ对应于非零元素索引。

[关口] =查找(___返回阵列中的每个非零元素的行和列的下标X使用任何以前的语法输入参数。

[关口v] =查找(___也返回矢量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 =查找(X)
K =5×11 5 7 8 9

使用逻辑操作上X定位零。

K2 =查找(〜X)
K2 =4×12 3 4 6

找到第一个五行是在4×4幻方矩阵小于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 =查找(ABS(Y-0.3)<0.001)
K = 4

与所有的奇数索引的元素创建一个6×6的幻方矩阵等于零。

X =魔法(6);X(1:2:结束)= 0
X =6×60 0 0 0 0 0 3 32 7 21 23 25 0 0 0 0 0 0 8 28 33 17 10 15 0 0 0 0 0 0 4 36 29 13 18 11

找到持续4个非零。

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 1 4 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 0 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 = X(:,:,1)= 1 0 0 0 0 0 0 0 X(:,:,2)= 0 0 0 0 0 0 1 0 X(:,:,3)= 0 1 0 0 10 0 0
[行,列] =查找(X)
行=4×11 4 3 1
山坳=4×11 3 5 6

输入参数

全部收缩

输入阵列,指定为一个标量,矢量,矩阵或多维数组。如果X为空数组或不具有非零元素,则ķ为空数组。

数据类型:||INT8|INT16|INT32|Int64的|UINT8|UINT16|UINT32|UINT64|合乎逻辑|烧焦
复数支持:金宝app

非零的号码找到,指定为正整数标量。默认,找到(X,N)查找第一个ñ在非零元素X

搜索方向,指定为字符串'第一'要么'持续'。查找持续ñ在非零元素X运用找到(X,N, '最后')

输出参数

全部收缩

索引以非零元素,返回作为载体。如果X是一个行向量,然后ķ也是一个行向量。除此以外,ķ是一个列向量。ķ为空数组时X为空数组或不具有非零元素。

您可以返回非零值X运用X(k)的

行标,返回作为载体。一起,关口指定X(行,列)对应于非零元素标X

列的下标,返回作为载体。一起,关口指定X(行,列)对应于非零元素标X

如果X是一个多维阵列N> 2, 然后关口是在一个线性指数N-1的前后尺寸X。这将保留关系X(行(i)中,山口(ⅰ))== V(I)

的非零元素X时,返回作为载体。

更多关于

全部收缩

线性指标

线性索引允许使用一个单一的下标索引的成阵列,如A(k)的。MATLAB®把该阵列与附加在前柱的底部的每一列的单个列向量。因此,线性索引号在从顶部到底部的列中的元素,从左到右。

例如,考虑一个3×3矩阵。您可以参考A(2,2)与元素A(5)A(2,3)与元素A(8)。取决于阵列的大小的线性索引而变化;A(5)返回比它用于4×4矩阵的3×3矩阵中的不同位置的元件。

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

提示

  • 为了找到符合条件,使用数组元素在具有关系式结合。例如,发现(X <5)返回线性索引以在所述元件X是小于

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

  • 当您执行与关系像操作X> 1,但要记住,关系运算的结果中1和0的逻辑矩阵是非常重要的。例如,命令[行,列,V] =查找(X> 1)返回的逻辑的列向量1真正)值v

  • 行和列标,关口,都涉及到线性指数在ķ通过K = sub2ind(尺寸(X),行,列)

扩展功能

R2006a前推出