讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。
MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili
在本节中,我们将探讨字符串数组的运算方法。相对于数值数组,字符串数组支持的运算类型较为有限。就算术运算而言,字符串数组支持加法运算,不支持减法、乘法和除法运算。使用加法运算主要用于连接字符串数组的元素,这一点我们在上一小节中有所介绍。
另外,字符串数组还支持一些特定的运算方法,如关系运算和集合运算。下面,我们将详细介绍这两种运算方法。
(1)关系运算
在 MATLAB 中,字符串数组支持关系运算,包括等于(==)、不等于(~=)、小于(<)、大于(>)、小于等于(<=)和大于等于(>=)。这些运算符用于比较字符串数组中的元素,并返回一个逻辑数组。
需要注意的是,字符串数组的关系运算是基于字符的 Unicode 编码进行的。对于字符串之间的比较,MATLAB 会逐个字符地比较它们的 Unicode 编码,直到发现第一个不同的字符或达到其中一个字符串的末尾,这一过程和调用sort函数进行排序时的比较是完全一样的。
(2)集合运算
在本章5.3.1.7这一小节介绍元胞数组时,我们提到过:第三章集合运算中讲解的六个函数:unique(返回数组的唯一值)、ismember(判断一个数组的元素是否在另一个数组内)、intersect(交集)、union(并集)、setdiff(差集)和setxor(对称差集),它们可以用于字符向量元胞数组。
对于字符串数组,这六个函数的用法完全相同,以下是一些具体例子,展示了如何在字符串数组中使用这些集合运算函数:
当然,这些函数可以有多个返回值。有多个返回值的例子大家可以查看MATLAB的官方文档,也可以参考本书第三章的介绍。
下面来看一个生活中的实际例子:假设一个商店有两个仓库,每个仓库存储不同的商品。我们可以使用集合运算来确定哪些商品是两个仓库共有的、哪些商品是某个仓库特有的。