今天我们继续学习MATLAB中的字符串、元胞和结构
字符串
由于MATLAB是面向矩阵的,所以字符串的处理可以用矩阵的形式实现
字符串的赋值与引用
假设变量a,将用单引号引起来的字符串赋值给它,
a='清心明目',
b=(a[4;-1;1])
在这里,b表示将a从第4个字符开始,倒序输出,到第一个字符结束
这里要注意,MATLAB语言不同于其他语言,数组的索引是以1开始的,不能下意识的认为索引从零开始从而犯下语法上的错误
输出结果为:
a=
清心明目
b=
目明心清
值得注意的是,字符串的形式要以英文单引号引起来,颜色呈紫色。如果颜色错误则可能为符号误输为英文。
字符串拼接
t='希望你';
c=(a[3,4,1,2],t)
结果为:
c=
希望你目明心清
字符串转化
基础的转化为:
- double()
- char()
- num2str()
- str2num()
如果用double将一个字符串形式的数字转换为数值型的话,MATLAB会以阿斯克码的形式转换
相同的,char也会将阿斯克码转换为数字一样的char类型,但是并不是数字。
而str2num()解决了这个问题,它可以将字符类的数字转换为真正的数字
元胞数组
在MATLAB中,元胞数组(Cell Arrays)是一种数据类型,它可以存储不同类型和大小的数据。元胞数组类似于细胞,每个细胞可以存储不同类型的数据,比如数字、字符串、结构体、甚至是其他元胞数组。
在MATLAB中,使用大括号{}
来定义和访问元胞数组。
cellArray = {'Hello', 1, [1 2 3], pi};
- 使用
cell
函数
cellArray = cell(3, 2); % 创建一个3行2列的空元胞数组
访问和修改元胞数组
- 访问单个元胞:
singleCell = cellArray{1, 1}; % 访问第一行第一列的元胞
- 修改单个元胞:
cellArray{1, 1} = 'World'; % 修改第一行第一列的元胞内容
- 访问多个元胞(切片):
subCellArray = cellArray(1:2, :); % 访问第一行和第二行的所有列
多维元胞数组
元胞数组可以是多维的,不仅仅限于二维。
- 创建三维元胞数组:
threeDimCellArray = cell(2, 3, 4); % 创建一个2x3x4的三维元胞数组
使用元胞数组时,记住以下规则:
- 使用大括号
{}
而不是方括号[]
来定义和索引元胞数组。 - 元胞数组中的每个元胞可以包含不同类型的数据。
- 元胞数组的大小不是固定的,可以根据需要扩展或缩减。
这些是MATLAB中定义和使用元胞数组的基本方法。
今天就到这里,明天我们继续学习!