MATLAB 比较不同大小的两个字符串单元数组
在本文中,我们将学习如何在MATLAB中比较不同大小的两个字符串单元数组。
字符串单元数组
在MATLAB中,字符串单元数组是一种可以存储不同类型元素的数据结构。单元数组的元素被包含在花括号 {}
中。
语法
我们可以使用以下语法创建一个字符串单元数组:
A = {'string1', 'string2', 'string3',…'stringN'};
在这里,A
是一个包含N个字符串元素(即string1
,string2
,…,stringN
)的字符串单元数组。
在MATLAB中,当我们需要存储和操作不同长度的字符串组,或者我们想同时操作多个字符串时,使用字符串单元数组。
比较两个大小不同的字符串单元数组
MATLAB提供了几种不同的方法来比较两个大小不同的字符串单元数组。在本文的以下部分中,将通过MATLAB程序介绍一些重要的方法来比较两个大小不同的字符串单元数组。
使用ismember
函数比较两个大小不同的字符串单元数组
我们可以使用MATLAB的内置函数ismember
来比较两个字符串单元数组。ismember
函数比较两个单元数组并返回一个逻辑数组,指示第一个单元数组的每个元素是否是第二个单元数组的成员。
语法
要比较两个单元数组,我们可以使用以下语法,
C = ismember(A, B);
下面的MATLAB程序演示了如何使用ismember
函数比较两个大小不同的字符串单元数组。
示例
% MATLAB program to demonstrate use of `ismember` function to compare two cell arrays of strings of different sizes
% Create two cell arrays of strings
x = {'Tutorials', 'Point', 'Online', 'Library'};
y = {'Tutorials', 'Point', 'is', 'a', 'Digital', 'Platform'};
% Compare arrays `x` and `y` using `ismember` function
A = ismember(x, y)
% Find the set different between two cell arrays using `setdiff` function
B = setdiff(x, y)
输出
A =
1x4 logical array
1 1 0 0
B =
1x2 cell array
{'Library'} {'Online'}
解释
在这个MATLAB程序中,我们首先创建了两个大小不同的字符串的cell数组,并将它们存储在x
和y
中。接下来,我们使用ismember
函数比较这两个数组。ismember
函数会以逻辑数组的形式输出,表明数组x
中的哪些元素存在于数组y
中。然后,我们调用setdiff
函数来显示数组x
中存在但数组y
中不存在的元素。
使用循环方法比较两个cell数组的字符串
我们也可以使用循环来比较两个cell数组。以下是一个实现示例:
示例
% MATLAB program to compare two cell arrays using a loop
% Create two cell arrays of strings
x = {'Tutorials', 'Point', 'Online', 'Library'};
y = {'Tutorials', 'Point', 'is', 'a', 'Digital', 'Platform'};
% Run a loop to compare the corresponding elements of two arrays
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(['Elements at index ', num2str(i), ' are different.']);
end
end
输出
Elements at index 1 are the same.
Elements at index 2 are the same.
Elements at index 3 are different.
Elements at index 4 are different.
解释
在这个MATLAB程序中,我们首先创建了两个包含字符串作为元素的单元数组x
和y
。接下来,我们运行一个for
循环来比较两个数组的相应元素。如果两个单元数组在特定索引处的字符串相等,则代码使用disp
函数显示消息“索引号为’Index Number’的元素相同”。如果索引处的字符串不同,则代码使用disp
函数显示消息“索引号为’Index Number’的元素不同”。
因此,这个MATLAB程序比较了两个单元数组x
和y
的相应元素,并为每个索引显示一个消息,指示当前索引处的字符串是相同还是不同。
结论
因此,这就是我们如何在MATLAB中比较两个不同大小的字符串单元组的方法。在本文的上述部分,我们用示例程序说明了比较两个不同大小的字符串单元组的两种最常用方法。