• Matlab中find()寻找函数的常见用法



    Matlab中find函数的使用简言之:
    输入为:寻找的对象和条件  (在哪里找和找什么);
    输出为:满足条件的数的位置。
    当没有寻找到满足条件的值时,返回空矩阵;
    例如在某向量/矩阵中寻找为零的数,寻找不为零的数,寻找某一范围内的数,判断是否有满足条件的数以及有多少等等:

    •  Example 1.寻找不为零的数:

     find函数若不明确写出寻找条件而是仅仅写出寻找的对象(如下面的find(x)),则默认是找出向量/矩阵中不为零的数,并输出其位置:

    运行:

    1 x = [1,0,8,9,10,-2,-8,-0.5,27];
    2 index = find(x) 

    结果:

    1 index =
    2 
    3      1     3     4     5     6     7     8     9
    •  Example 2.寻找不为零的数(个人常用):

     find(x~=0) 等价于 find(x)

    运行:

    1 x = [1,0,8,9,10,-2,-8,-0.5,27];
    2 index = find(x~=0) 

    结果:

    1 index =
    2 
    3      1     3     4     5     6     7     8     9
    •  Example 3.寻找能整除某数的数:

     例如在x向量中寻找3的倍数,返回其在x向量中的位置:

    运行:

    1 x = [1,0,8,9,10,-2,-8,-0.5,27];
    2 index = find(mod(x,3)==0)      % 在x中寻找能被3整除(对3取余的结果为0)的数

    结果:

    1 index =
    2 
    3      2     4     9
    •  Example 4.在x中寻找某个范围内的数, 返回其在x向量中的位置:

    运行:

    1 x = [1,0,8,9,10,-2,-8,-0.5,27];
    2 index = find(x>-3&x<=1)     % 注意:这里不能写成 find(-3<x<=1)

    结果:

    1 index =
    2 
    3      1     2     6     8
    •  Example 5. 在矩阵x中寻找,返回其在x矩阵中的位置:

     注意:matlab对矩阵的存储和操作是按照列排序的,所以返回的索引这里是4:

    运行:

    1 x = [1,0,8;9,10,-2;-8,-0.5,27];
    2 index = find(x==0) 

    结果:

    1 index =
    2 
    3      4
  • 相关阅读:
    一本通1590恨 7 不成妻
    一本通1591数字计数
    一本通1589不要 62
    一本通1588数字游戏
    一本通1587【例 3】Windy 数
    一本通1586【 例 2】数字游戏
    一本通1585【例 1】Amount of Degrees
    一本通1584骑士
    一本通1583叶子的染色
    一本通1581旅游规划
  • 原文地址:https://www.cnblogs.com/CCWangsj/p/12994427.html
Copyright © 2020-2023  润新知