如何在 MATLAB 中查找数组中元素的索引?

matlabdata analysisprogramming

在 MATLAB 中,数组是一种用于存储数字数据和信息的数据结构。存储在数组中的值称为其元素。元素在数组中的位置称为元素的索引。元素的索引用于访问元素或提供元素的引用。

在 MATLAB 中,使用基于 1 的索引,这意味着数组第一个元素的索引为 1。

考虑下面给出的示例数组,

A = [20 35 74 92 60];

在此数组中,元素"20"的索引为 1,"35"的索引为 2,依此类推。

在数组中,元素的索引在各种操作和计算中都至关重要。

本教程主要用于学习如何在数组中找到特定元素的索引。为此,MATLAB 提供了几个我们可以使用的内置函数和方法。让我们讨论使用 MATLAB 查找数组中元素索引的不同方法。

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

在 MATLAB 中,有一个内置函数"find",可用于确定特定元素的索引。

语法

I = find(array);

此语法将返回一个向量,其中包含数组中所有非零元素的索引。

为了理解此函数,让我们在 MATLAB 中举一个例子。

示例

% MATLAB 代码用于查找数组中特定元素的索引
% 创建示例数组
A = [1 5 7 3 4 6 8 2 6 0 9 5];

% 查找元素的索引
I = find(A);

% 显示输入数组和索引数组
disp('输入数组是:');
disp(A);

disp('索引数组是:');
disp(I);

输出

输入数组为:
     1     5     7     3     4     6     8     2     6     0     9     5

索引数组是:
     1     2     3     4     5     6     7     8     9    11    12

(2). 使用"find"函数查找数组中第一个"n"元素的索引

"find"还可用于查找数组中第一个"n"元素的索引。

语法

I = find(array, n);

此语法将返回一个向量,其中包含数组中所有前"n"个非零元素的索引。

示例

为了理解此函数,让我们在 MATLAB 中举一个例子。

% MATLAB 代码用于查找数组中第一个"n"元素的索引
% 创建示例数组
A = [1 5 7 3 4 6 8 2 6 0 9 5];

% 查找元素的索引
I = find(A, 4);

% 显示输入数组和索引数组
disp('输入数组为:');
disp(A);

disp('元素的索引为:');
disp(I);

输出

输入数组为:
     1     5     7     3     4     6     8     2     6     0     9     5

元素的索引为:
     1     2     3     4

(3). 使用"find"函数在指定方向上查找数组中"n"个元素的索引

"find"还可用于在指定方向上查找数组中"n"个元素的索引。为此,使用以下语法。

语法

I = find(array, n, dir);

此处,变量"dir"可以设置为"first"或"last"。当"dir = first"时,"find"函数将返回一个包含数组前"n"个元素的索引的向量,当"dir = last"时,"find"函数将返回一个包含数组后"n"个元素的索引的向量。

示例

为了理解此语法,让我们在 MATLAB 中举一个例子。

% MATLAB 代码用于在指定方向上查找数组中"n"个元素的索引
% 创建示例数组
A = [1 5 7 3 4 6 8 2 6 0 9 5];

% 查找前 3 个元素的索引
I_first = find(A, 3, 'first');

% 查找后 3 个元素的索引
I_last = find(A, 3, 'last');

% 显示输入数组和索引向量
disp('输入数组为:');
disp(A);

disp('The indices of first 3 elements are:');
disp(I_first);

disp('The indices of last 3 elements are:');
disp(I_last);

输出

输入数组为:
     1     5     7     3     4     6     8     2     6     0     9     5

The indices of first 3 elements are:
     1     2     3

The indices of last 3 elements are:
     9    11    12

(4). 使用"find"函数查找数组中指定元素的索引

在 MATLAB 中,我们可以找到满足特定条件的元素的索引。为此,我们可以使用"find"函数的以下语法。

语法

I = find(array == element);

此语法将返回数组中指定元素的索引。

示例

为了理解此函数,让我们在 MATLAB 中举一个例子。

% MATLAB 代码用于查找满足条件的元素的索引
% 创建示例数组
A = [1 5 7 3 4 6 8 2 6 0 9 5];

% 指定要查找其索引的元素
e = 6;

% 查找元素的索引
I = find(A == e);

% 显示输入数组和元素的索引
disp('输入数组为:');
disp(A);

disp('指定元素的索引为:');
disp(I);

输出

输入数组为:
     1     5     7     3     4     6     8     2     6     0     9     5

指定元素的索引为:
     6     9

(5). 使用"ismember"函数查找元素的索引

在 MATLAB 中,"ismember"函数也可用于查找数组中元素的索引。为此,使用以下语法。

语法

[x, I] = ismember(element, array);

此处,"x"是一个变量,如果在数组中找到指定的元素,则该变量将为"1",变量"I"将存储元素的索引。

示例

让我们借助示例了解此函数的用法。

% 使用"ismember"函数查找元素索引的 MATLAB 代码
% 创建示例数组
A = [1 5 7 3 4 6 8 2 6 0 9 5];

% 指定要查找其索引的元素
e = 6;

% 查找元素的索引
[x, I] = ismember(e, A);

% 显示是否找到元素
if x == 1
	disp('在数组中找到指定元素。');
else
        disp('数组中未找到指定元素。');
end

% 显示输入数组和元素的索引
disp('输入数组为:');
disp(A);

disp('指定元素的索引为:');
disp(I);

输出

在数组中找到指定元素。
输入数组为:
     1     5     7     3     4     6     8     2     6     0     9     5

指定元素的索引为:
     9

结论

总之,数组中元素的索引是元素在数组中的位置。在本教程中,我借助示例解释了在数组中查找元素索引的不同方法。


相关文章