速查表

在 MATLAB 中组织与访问数据

本参考资料仅展示常见用例,并非详尽列表。

表示数据
同构
数据类型 图标 用途 语法
双精度、单精度、(u)int8、(u)int16、(u)int32、(u)int64、复数
双精度、单精度、复数
数值数组、矩阵计算、数学 [1,2,3], [1;2;3], uint8(), int16()
字符串
字符串
文本数组 "hello world"
字符
字符
单个字符、字符数组 'hello'
分类
分类
离散的非数值数据 categorical()
日期时间
日期时间
绝对日期和时间戳,包括时区 datetime('July 12, 2001 08:15:01')
持续时间
持续时间
历时 duration(h,m,s), hours(), minutes()
日历持续时间
日历持续时间
基于日历的相对时间 caldays(), calweeks()
逻辑值
逻辑值
真/假、测试状态、按条件识别数据 logical(), ==, ~=, >, >=, <, <=, &, &&, |, ||
其他专用类型
其他专用类型
稀疏、枚举、自定义… » 文档
异构
数据类型 图标 用途 语法
表
表
混合类型、按列组织的数据(类似电子表格)
存储元数据
table(x,y,z), array2table
时间表
时间表
带时间戳的表格数据 timetable(t,x,y) table2timetable,array2timetable
结构体
结构体
字段可以包含任何大小和类型的数据。非常适合非矩形数据 struct()
元胞数组
元胞数组
数组中的每个元胞可以包含任何数据类型、任何大小 cell(), {pi,ones(5), "hello"}
tall 数组
tall 数组
当数据无法容纳在内存中时,MATLAB 数据类型可以变为“tall” ds = datastore(), T = tall(ds)
字典
字典
将唯一键映射到值的对象 d = dictionary(keys,values)
数据选择
使用数组索引来选择数据。  
一维数组的线性索引:
X(1) 第一个元素
X(end) 最后一个元素
 
 
 
多维数组的行、列索引:
A(1,2)
A(1,1,2)
   
   
使用向量选择多项:
A([1,3],1)
   
   
   
使用冒号 : 选择范围:
A(1:3,1)
A(:,1) 所有行,第 1 列
A(1,:)第 1 行,所有列
A(1:2:end,:)每隔一行取一行
   
   
   
从数组中删除数据:
A(1,:) = [];
逻辑索引

使用逻辑表达式选择数据

X 中大于 7 的元素:
Y = X(X > 7)

组合条件
X(X > 3 & X <= 7)
X(X > 3 | X <= 7)

多维数组
使用条件来标识行或列:
idx = X > 7;
X(idx, :)

表和时间表
T(:,vartype('numeric'))
TT(timerange(t1,t2),:)

容器索引
使用圆括号 () 进行索引会保留初始数据类型。使用花括号 {} 访问底层数据。表和结构体还允许您按名称引用数据。

» 示例

类型 子集 内容
表 返回一个表:T(1,2)
T(:,"A")
T(:,["A","B"])
返回底层数据:
T{1,2}
T{:,"A"} T.A

T.Rows
T.Variables
时间表 同上:
TT("Apr 1,...2004",5)
同上:
TT.Time
元胞数组 返回一个元胞:
C(1,2)
C{1,2}
C{:} -> 逗号分隔的列表
结构体 返回一个结构体:
S(1,1)
S.Field