| MATLAB Function Reference | ![]() |
表示
k = find(x) [i,j] = find(X) [i,j,v] = find(X)
詳細
k = find(X)
は、配列 x のゼロでない要素を示すインデックスを出力します。非ゼロ要素がなければ、find は空行列を出力します。
[i,j] = find(X)
は、行列 X の非ゼロ要素の行と列のインデックスを出力します。これは、スパース行列でよく使われます。
[i,j,v] = find(X)
は、X の非ゼロ要素からなる列ベクトルを、行と列のインデックスと同様に出力します。
一般に、find(X) は、X を X(:) と見做し、X の各列を連結することで、長い列ベクトルを形成します。
例題
[i,j,v] = find(X~=0) は、すべての要素が1のベクトル v を生成し、行と列のインデックスを出力します。
x = [11 0 33 0 55]';
find(x)
ans =
1
3
5
find(x == 0)
ans =
2
4
ans =
1
M = magic(3)
M =
8 1 6
3 5 7
4 9 2
[i,j,v] = find(M > 6)
i = j = v =
1 1 1
3 2 1
2 3 1
参考
論理演算子 &, |, ~
比較演算子 <, <=, >, >=, ==, ~=
コロン演算子 :
| filter2 | findall | ![]() |