小言_互联网的博客

MATLAB笔记之数据结构

206人阅读  评论(0)

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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场