在 MATLAB 中比较两个不同大小的字符串单元格数组
在本文中,我们将学习如何在 MATLAB 中比较两个不同大小的字符串单元格数组。
字符串单元格数组
在 MATLAB 中,字符串单元格数组是一种可以存储不同类型元素的数据结构。单元格数组的元素括在花括号"{}"中。
语法
我们可以使用以下语法创建字符串单元格数组,
A = {'string1', 'string2', 'string3',…'stringN'};
这里,`A` 是一个字符串单元格数组,包含 N 个字符串元素,即 `string1`、`string2`、…、`stringN`。
在 MATLAB 中,字符串单元格数组用于存储和操作不同长度的字符串组,或者同时操作多个字符串。
比较两个不同大小的字符串单元格数组
MATLAB 提供了几种不同的方法来比较两个不同大小的字符串单元格数组。在本文的以下部分中,借助 MATLAB 程序解释了使用 MATLAB 比较两个不同大小的字符串单元格数组的一些重要方法。
使用 `ismember` 函数比较两个不同大小的字符串单元格数组
我们可以使用 MATLAB 的内置函数 `ismember` 来比较两个单元格数组。`ismemeber` 函数比较两个单元格数组并返回一个逻辑数组,该逻辑数组指示第一个单元格数组的每个元素是否是第二个单元格数组的成员。
语法
要比较两个单元格数组,我们可以使用以下语法,
C = ismember(A, B);
以下 MATLAB 程序演示了 `ismember` 函数的实现,用于比较两个不同大小的字符串单元格数组。
示例
% MATLAB 程序演示了如何使用 `ismember` 函数比较两个不同大小的字符串单元格数组 % 创建两个字符串单元格数组 x = {'Tutorials', 'Point', 'Online', 'Library'}; y = {'Tutorials', 'Point', 'is', 'a', 'Digital', 'Platform'}; % 使用 `ismember` 函数比较数组 `x` 和 `y` A = ismember(x, y) % 使用 `setdiff` 函数查找两个单元格数组之间的不同集 B = setdiff(x, y)
输出
A = 1x4 logical array 1 1 0 0 B = 1x2 cell array {'Library'} {'Online'}
解释
在此 MATLAB 程序中,我们首先创建两个不同大小的字符串单元格数组,并将它们存储在"x"和"y"中。接下来,我们使用"ismember"函数比较这两个数组。此"ismember"函数给出一个逻辑数组作为输出,指示数组"x"的哪些元素存在于数组"y"中。然后,我们调用"setdiff"函数来显示存在于数组"x"但不存在于数组"y"中的元素。
使用循环方法比较两个字符串单元格数组
我们还可以使用循环比较两个单元格数组。以下 MATLAB 程序演示了此实现。
示例
% MATLAB 程序使用循环比较两个单元格数组 % 创建两个字符串单元格数组 x = {'Tutorials', 'Point', 'Online', 'Library'}; y = {'Tutorials', 'Point', 'is', 'a', 'Digital', 'Platform'}; % 运行循环比较两个数组的相应元素 for i = 1:min(numel(x), numel(y)) if strcmp(x{i}, y{i}) disp(['Elements at index ', num2str(i), ' are the same.']); else disp(['索引处的元素 ', num2str(i), ' 不同。']); end end
输出
索引 1 处的元素相同。 索引 2 处的元素相同。 索引 3 处的元素不同。 索引 4 处的元素不同。
说明
在此 MATLAB 程序中,我们首先创建两个单元格数组 `x` 和 `y`,其中包含字符串作为其元素。接下来,我们运行 `for` 循环来比较两个数组的相应元素。如果特定索引处的两个单元格数组中的字符串相等,则代码使用 `disp` 函数显示一条消息"索引 'Index Number' 处的元素相同"。如果索引处的字符串不同,则代码使用 `disp` 函数显示一条消息"索引 'Index Number' 处的元素不同"。
因此,此 MATLAB 程序比较两个单元格数组 `x` 和 `y` 的相应元素,并为每个索引显示一条消息,指示当前索引处的字符串是相同还是不同。
结论
因此,这就是我们如何在 MATLAB 中比较两个不同大小的字符串单元格数组。在本文的以上部分中,我们借助示例程序说明了两种最常用的方法来比较两个不同大小的字符串单元格数组。