eefocus_3915006 发表于 2023-4-19 17:14:43

MATLAB中使用find()函数查找数组中元素的索引

在 MATLAB 中,数组用于表示信息和数据。您可以使用索引来访问数组的元素。在 MATLAB 中,数组索引从 1 开始。要查找数组中元素的索引,可以使用find()函数。使用find()函数,您可以从数组中找到索引和元素。find()函数返回一个包含数据的向量 。句法:
[*]find(X) :返回一个包含元素索引的向量
[*]find(X,n) : 返回 X 中元素的前 n 个索引
[*]find(X,n, Direction):根据Direction在X中找到n个索引,其中Direction - ' first '或' last '
[*][ row , col] = find():返回数组中元素的行列下标
[*] = find():返回包含非零元素的向量 V
现在让我们看看如何在示例的帮助下使用find()函数查找数组中任何元素的索引。找到(x)find(X) 返回一个向量,其中包含 数组 X 中每个非零元素的线性索引。示例 1:
[*]MATLAB
% MATLAB code for find an index of any% element in an array using the find()array = % find() will get the index of element% store it in the indexindex = find(array==3)输出:https://pic3.zhimg.com/80/v2-94d2eff35cd7906483a454dd3d873eda_720w.webp注意:如果数组包含重复项,则 find(X) 函数将返回该整数的所有索引。示例 2:
[*]MATLAB
% MATLAB code for if the array contains% duplicate elementsarray = % find() will get the index of element% store it in the indexindex = find(array==2)输出:https://pic1.zhimg.com/80/v2-ac6329576430100d94b85bc4856b8a20_720w.webp当数组包含重复值时,find()函数将打印相应元素的所有索引。因此,如果您不想要该元素的所有索引,则可以使用find(X,n)函数。找到(X,n)返回 X 中元素的前 n 个索引。例子:
[*]MATLAB
% MATLAB code for return first% n indices of the elements in Xarray = % find() will get the index of element% gets the first index of 2% store it in the indexindex = find(array==2,1)输出:https://pic4.zhimg.com/80/v2-ff522cd6f7666f82714df82e61eff2e7_720w.webp查找(X,n,方向)您还可以从数组中的两个方向找到元素的索引。通过使用 find(X,n,Direction),两个方向都意味着从开始和从最后开始。此函数根据方向在 X 中找到 n 个索引。Direction 参数接受“first”或“last”。如果方向是第一个,它将返回该相应元素的前 n 个索引,或者如果方向是最后一个,它将通过从数组的末尾遍历来返回索引。默认情况下,Direction 参数为“first”。示例 1:
[*]MATLAB
% MATLAB code for find the index of% the elements from both directions% in the arrayarray = % find() will get the index of element% store it in the indexindex = find(array==2,2,'first')输出:https://pic3.zhimg.com/80/v2-bf8d7dbe10516597c063dae239d51d86_720w.webp示例 2:
[*]MATLAB
% array of integersarray = % find() will get the index of element% store it in the indexindex = find(array==2,2,'last')输出:https://pic4.zhimg.com/80/v2-997252deeb23698e3ad5cefe762f3b8b_720w.webp[行,列] = 查找(x)要在 3 维数组中查找元素的索引,您可以使用语法 = find(x)这将为您提供元素所在的行和列。例子:
[*]MATLAB
% MATLAB code for Finding an index% of an element in a 3-D arrayarray = % find() will get the index of element% prints the row and column of the element = find(array==5)输出:https://pic4.zhimg.com/80/v2-773aadf7534657b682be69a3d3299b8b_720w.webp[行,列,v] = 查找(X)如果要查找 3 维数组中存在的所有非零元素的索引,可以使用 = find(X)其中 X 是我们的数组。这将找到数组中存在的所有非零元素的所有索引并将它们存储到向量v中。例子:
[*]MATLAB
% MATLAB code for find the indices of% all the non-zero elements present in the 3-D arrayx = % find() will get the indices of the elements% and the vector will store all the non-zero elements = find(x)输出:https://pic1.zhimg.com/80/v2-a397480df09c8e216fc9fa386491fbf0_720w.webp

页: [1]
查看完整版本: MATLAB中使用find()函数查找数组中元素的索引