一、k = find(X)
返回一个包含数组 X 中每个非零元素的线性索引向量。
如果 X 为向量,则 find 返回方向与X相同的向量。如果 X 为多维数组,则 find 返回由结果的线性索引组成的列向量。如果 X 包含非零元素或为空,则 find 返回一个空数组。
线性索引组成的列向量:表示索引按照列,从1开始,从第一列开始,下一列的第一个值的索引紧接上一列最后一个值的索引。
1、代码示例
X = [1 0 2;
0 1 1;
0 0 4];
disp(X)
k = find(X);
disp(k)
2、结果展示
在这个例子中,X中全部值对应的索引是:
1 4 7
2 5 8
3 6 9
所以结果将返回,所有非0元素的索引。
二、k = find(X == n) (其中n为X向量中的数值)
结果回返回 n 的全部索引。索引按照列,从1开始,从第一列开始,下一列的第一个值的索引紧接上一列最后一个值的索引。
1、代码示例
X = [ 0 1 2 3;
1 2 3 4;
2 3 4 4;
4 4 5 6];
k = find(X==4);
disp(k)
2、结果展示
在这个例子中,X中全部值对应的索引是:
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
所以结果将返回,所有的 4 元素对应的索引。
三、k = find (X, n)
1、代码示例
返回与 X 中的非零元素对应的前 n 个索引。
X = magic(4);
disp(X);
# 生成一个n*n的矩阵,矩阵元素是由整数1到n^2组成的并且任何行任何列的和都相等
# 阶数n必须是大于等于3的标量
k = find(X<10,5);
disp(k);
2、结果展示
结果应该返回小于10所对应的前五个的索引。
四、k = find (X, n, direction)
其中 direction 为 '
last '
,查找与 X
中的非零元素对应的最后 n 个索引。direction 的默认值为 '
first'
,即查找与非零元素对应的前 n 个索引。文章来源:https://www.toymoban.com/news/detail-408437.html
1、代码示例
X = [0 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];
k = find(X,4,'last'); # 查找后四个非零值
disp(k);
2、结果展示
文章来源地址https://www.toymoban.com/news/detail-408437.html
到了这里,关于【MATLAB】find函数及其用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!