主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

找到

非ゼロ要素のインデックスと値を見つける

説明

k=找到(Xは,配列X内にある個々の非ゼロ要素の線形インデックスを含むベクトルを返します。

  • Xがベクトルの場合,找到Xと同じ方向のベクトルを返します。

  • Xが多次元配列の場合,找到は結果の線形インデックスからなる列ベクトルを返します。

k=找到(Xnは,X内の非ゼロ要素に対応するインデックスを最初から数えてn個返します。

k=找到(Xn方向は,方向“最后一次”の場合,X内の非ゼロ要素に対応するインデックスを最後から数えてn個検出します。方向の既定値は“第一”であり,非ゼロ要素に対応するインデックスを最初から数えてn個検出します。

上校) =找到(___は前述の構文に示した任意の入力引数を使用して,配列X内にある個々の非ゼロ要素の行と列の添字を返します。

上校v) =找到(___はさらに,Xの非ゼロ要素を含むベクトルvを返します。

すべて折りたたむ

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未満の要素を,最初から5個検出します。

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

対応するXの要素を表示します。

X (k)
ans =5×15 .单词avoid联想记忆

特定の整数値を検出するには,==演算子を使用します。例として、奇数の整数からなる 1 行 10 列のベクトル内で13に等しい要素を検索します。

x = 1:2:20
x =1×1013 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×60 0 0 0 0 3 32 7 21 23 25 0 0 0 0 8 28 33 17 10 15 0 0 0 0 4 36 29 13 18 11

非ゼロ要素を“最後から数えて“4個検出します。

k =找到(X 4“最后一次”
k =4×130 32 34 36

4行4列の行列内で,0より大きく10より小さい要素を最初から数えて3個検出します。要素の行と列の添字を返すために2つの出力を指定します。

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
[row,col] = find(X>0 & X<10,3); / /查询>
行=3×12 3 4
坳=3×11 1 1

最初のインスタンスはX (2, 1)で,値は8です。

3行3列の行列内の非ゼロの要素を検出します。行の添字,列の添字,要素の値を返す3つの出力を指定します。

X = [3 2 0;5 0 7;0 0 1]
X =3×33 2 0 -5 0 7 0 0
(行,坳,v) =找到(X)
行=5×11 2 1 2 3
坳=5×11 1 2 3 3
v =5×13 -5 2 - 7

4 x 2 x 3の配列の非ゼロ要素を検出します。非ゼロ要素の行と列の添字を返す2つの出力上校を指定します。入力が多次元配列(N > 2)である場合,找到上校Xの後続のn - 1次元の線形インデックスとして返します。

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

入力引数

すべて折りたたむ

入力配列。スカラー、ベクトル、行列または多次元配列として指定します。

データ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符
複素数のサポート:あり

検出する非ゼロの数。正の整数スカラーとして指定します。既定では、找到(X, n)X内の非ゼロ要素を最初から数えてn個検出します。

探索方向。文字列“第一”または“最后一次”で指定します。X内の非ゼロ要素を“最後から数えて”n個検出するには找到(X, n,“最后”)を使用します。

出力引数

すべて折りたたむ

非ゼロ要素のインデックス。ベクトルとして返されます。

  • Xが行ベクトルの場合,kも行ベクトルになります。それ以外の場合は,kは列ベクトルになります。

  • Xが空の配列であるか,非ゼロ要素を含まない場合,kは空の行ベクトルまたは空の列ベクトルになります。

  • 找到Xが空行列[]の場合,kは空行列[]であるという規則を使用します。

X (k)を使用するとX内の非ゼロ値を返すことができます。

行の添字。ベクトルとして返されます。上校を共に用いることで,X内の非ゼロ要素に対応する添字坳X(行)を指定します。

列の添字。ベクトルとして返されます。上校を共に用いることで,X内の非ゼロ要素に対応する添字坳X(行)を指定します。

XN > 2の多次元配列である場合,上校Xの後続のn - 1次元の線形インデックスです。これは,関係X(行(我),(我)上校= = v(我)を保持します。

Xの非ゼロの要素。ベクトルとして返されます。

詳細

すべて折りたたむ

線形インデックス

線形インデックスとは,(k)のように,配列のインデックス付けに単一の添字を使用できるものです。MATLAB®は配列を,各列が前の列の最後に追加された単一の列ベクトルとして扱います。このため,線形インデックス付けは,列内の要素に対して上から下,左から右に番号を付けます。

たとえば3行3列の行列について考えます。(2, 2)の要素は(5)で参照でき,(2、3)の要素は(8)で参照できます。線形インデックスは配列のサイズに依存して変化します。(5)は3行3列の行列と4行4列の行列では異なる位置の要素を返します。

関数sub2indと関数ind2subが,添字と線形インデックスの間の変換に役立ちます。

ヒント

  • 条件を満たす配列要素を検出するには,找到と共に関係式を使用します。たとえば,找到(X < 5)は,5よりも小さいXの要素の線形インデックスを返します。

  • 条件X < 5を満たすX内の要素を直接検出するには,X (X < 5)を使用します。(找到(X < 5))のような関数呼び出しは避けます。これは逻辑行列に対して不必要な找到を使用します。

  • X > 1のような関係演算と共に找到を実行する際,関係演算の結果は1と0の逻辑行列になる点に留意することが重要です。たとえばコマンド(行,坳,v) =找到(X > 1)は、逻辑1真正的)の列ベクトルをvに返します。

  • 行と列の添字および上校は,線形インデックスkと次の関係があります。k = sub2ind(大小(X)、行、坳)

拡張機能

R2006aより前に導入