Matlab查找数据之find函数

            目录

1.find函数

2.find功能函数

3.find功能函数详解

3.1 k = find(X)

3.2 k = find(X<10,5)

3.3 k = find(y==0.3)

3.4 k = find(X,4,'last')

3.5 [row,col] = find(X>0 & X<10,3)

3.5 [row,col,v] = find(X)

3.6 [row,col] = find(X)


1.find函数

功能:查找非零元素索引

2.find功能函数

  • k = find(X)

  功能:返回一个向量,该向量包含数组X中每个非零元素线性索引

  如果X是向量,则find返回与X方向相同的向量

  如果X是多维数组,则find返回结果线性索引的列向量

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

  • k = find(X,n)

  功能:返回对应于X中非零元素前n个索引

  • k = find(X,n,direction)

  功能:其中direction为'last',查找X中的最后n个非零元素。方向的默认值为'first',查找前n个非零元素。

  • [row,col] = find(___)

  功能:使用先前语法中的任何输入参数返回数组X中每个非零元素的行和列下标

  • [row,col,v] = find(___)

  功能:返回向量v,其中包含X的非零元素

3.find功能函数详解

3.1 k = find(X)

在3×3矩阵中找到非零元素。

%% 矩阵中的零和非零元素
% 在3×3矩阵中找到非零元素。
X = [1 0 2; 0 1 1; 0 0 4]
%%
k = find(X)
%%
% 使用逻辑| not | | X |上的运算符 找到零。
k2 = find(~X)

输出结果如下图:

数组k,输出的为二维数组X的非零元素的下标(索引),是按列进行排查的;

数组k2,输出的为二维数组X的零元素的下标(索引),是按列进行排查的;

3.2 k = find(X<10,5)

在4×4矩阵中找到小于10的前五个元素

程序如下:

%% 满足条件的要素
% 在4 x 4矩阵中找到小于10的前五个元素
% 方阵

X = magic(4)
%%
%
k = find(X<10,5)
%%
% 查看| X |的相应元素。
X(k)

输出结果如下图:

3.3 k = find(y==0.3)

要查找特定的整数值,请使用==运算符。 例如,在奇数的1×10向量中找到等于13的元素。

%% 等于特定值的元素
% 要查找特定的整数值,请使用| == | 操作
% 找到等于| 13 |的元素.在奇数1乘10的向量中。

x = 1:2:20

%%
%
k = find(x==13)

%%
% 要查找非整数值,请根据您的数据使用公差值。
% 否则,由于浮点,结果有时是一个空矩阵
% 舍入错误。
y = 0:0.1:1

%%
%
k = find(y==0.3)

%%
%
k = find(abs(y-0.3) < 0.001)

输出结果如下图:

3.4 k = find(X,4,'last')

查找最后几个非零元素

%% 最后几个非零元素
% 使用所有奇数索引元素创建6×6魔术方阵
% 等于零。

X = magic(6);
X(1:2:end) = 0

%%
% 找到_last_四个非零。
k = find(X,4,'last')

输出结果如下图:

3.5 [row,col] = find(X>0 & X<10,3)

查找满足多个条件的元素

%% 满足多个条件的元素
% 在4×4矩阵中找到大于| 0 |的前三个元素。 并且小于| 10 |。 指定两个输出以将行和列下标返回到元素。

X = [18 3 1 11; 8 10 11 3; 9 14 6 1; 4 3 15 21]

%%
%
[row,col] = find(X>0 & X<10,3)

%%
% 第一个实例是| X(2,1)|,它是| 8 |。

输出结果如下图:

3.5 [row,col,v] = find(X)

寻找非零元素的下标和

%% 非零元素的下标和值
% 在3×3矩阵中找到非零元素。 指定三个输出以返回行下标,列下标和元素值。

X = [3 2 0; -5 0 7; 0 0 1]

%%
%
[row,col,v] = find(X)

输出结果如下图:

3.6 [row,col] = find(X)

寻找多维数组的下标

%% 多维数组的下标
% 在4×2×3数组中查找非零元素。 指定两个输出,| row |。 和| col |,返回非零元素的行和列下标。 
% 当输入是多维数组(| N> 2 |)时,| find | 返回| col | 作为| N-1 |的线性指标 | X |的尾随尺寸。


X = zeros(4,2,3);
X([1 12 19 21]) = 1

%%
%
[row,col] = find(X)

输出结果如下图:

  • 108
    点赞
  • 633
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

珞瑜·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值