MATLAB笔记之数据结构
字符串
在MATLAB中字符采用16位Unicode编码,每个字符占用2字节的存储空间。
长度相同的字符串组成的数组叫做字符数组。
长度不同的字符串组成的数组叫字符串单元数组。
数据类型 | 创建方式 |
---|---|
一维字符数组 | A=‘abc’ |
二维字符数组 | A=[‘abc’;‘abc’]或者A=char(‘abc’,‘abc’)字符串等长 |
字符串单元数组 | A={‘a’;‘ab’}或者cellstr()字符串可不等长 |
混淆点 | 区别 |
---|---|
字符串连接 | [ ]直接连接;strcat()去除尾部空格连接 |
字符串比较 | strcmp()直接比较字符;isequal()直接比较Unicode码 |
字符串查找 | findstr()在长的字符串中查找短的字符串;strfind()在第一个字符串中查找第二个字符串(高版本使用isstrprop()函数) |
字符串转换 | str2num()矩阵运算,生成数值矩阵;str2double()标量运算,生成数值 |
结构数组
类似于C语言结构体的“结构–>字段–>字段值”形式,可以包含任何类型的数据。
数据类型 | 创建方式 |
---|---|
结构数组 | (.)运算符 A.name=‘abc’;A.rank=2;A.score=[90 90 90] |
结构数组 | struct()函数,A=struct(‘name’,{‘aa’,‘bb’},‘rank’,{1,2})创建1X2结构 |
单元数组
单元数组是一种特殊的数组形式,可以存储不同类型的数据结构,数组中每个单元是独立存在的。
结构数组通过字段获取信息,单元数组通过矩阵索引获取信息。
单元数组类似于链表,每个链表节点类似于结构体,链表存储空间不一定连续,但链表节点存储空间一定是连续的。每个单元附带两个位置指针4字节和单元信息56字节。
数据类型 | 创建方式 |
---|---|
单元数组 | 直接创建 A(1)={{‘abc’;‘def’}};A(2)={[‘A’ ‘B’]};A(3)={[90 90 90]} |
单元数组 | cell()函数 |
函数句柄
函数句柄是一种特殊的数据类型,提供间接调用函数的方法,类似于C语言的指针,在MATLAB中指向函数。
数据类型 | 创建方式 |
---|---|
函数句柄 | @创建 A=@sin; |
函数句柄 | str2func()函数创建 A=str2func(‘sin’) |
矩阵、向量、标量、数组
矩阵:矩阵是二维的,由行和列组成
向量:一维长度为1,另一维长度大于1的矩阵,分为行向量和列向量
标量:两维长度都为1的矩阵
数组:数组的维数为任意非负整数
转载:https://blog.csdn.net/weixin_42617385/article/details/101373424
查看评论