主要内容

MATLAB 基础类

您可以在 MATLAB® 中使用许多不同的数据类型或。您可以构建浮点和整数数据、字符和字符串以及逻辑 truefalse 值等构成的矩阵与数组。函数句柄可将您的代码与任何 MATLAB 函数连接在一起,而与当前范围无关。表、时间表、结构体和元胞数组提供了一种将不同类型的数据存储在同一容器中的方法。

MATLAB 中有 17 个基础类。其中每个类都采用矩阵或数组的形式存在。除了函数句柄之外,矩阵或数组的最小大小为 0×0,并且可以扩展到任意大小的 n 维数组。函数句柄始终为标量 (1x1)。一个表始终有 m 个行和 n 个变量,其中 m >= 0 且 n >= 0。

下图显示了 MATLAB 基础类。

MATLAB 软件中的数值类包括有符号和无符号整数、单精度和双精度浮点数。默认情况下,MATLAB 以双精度浮点形式存储所有数值。(您不能更改默认类型和精度。)您可以选择以整数或单精度形式存储任何数值或数值数组。与双精度相比,以整数数组和单精度数组存储数据更节省内存。

所有数值类型都支持基本的数组运算,例如添加下标、重构和数学运算。

您可以使用以下两种存储格式之一创建二维的 doublelogical 矩阵:fullsparse。对于元素大部分是零值的矩阵,即稀疏矩阵,需要的存储空间是与之相同大小的满矩阵的一部分。稀疏矩阵会调用专为求解稀疏问题而设计的方法。

这些类需要不同的存储量,最小的类为 logical 值或 8 位整数,仅需要 1 个字节。如果您正在处理用小于 8 位的精度写入的文件中的数据,请务必记住这一最小大小。

只要表和时间表的所有变量均为数值数据类型,它们也支持数学运算。有关详细信息,请参阅 Direct Calculations on Tables and Timetables (自 R2023a 起)

下表详细地介绍了这些基础类。

类名

文档

预期用途

double, single浮点数
int8, uint8, int16, uint16, int32, uint32, int64, uint64整数
string, char字符和字符串
  • 文本的数据类型。

  • 两种数据类型都将字符存储为 Unicode® 字符。

  • 支持与数值表示形式之间的相互转换。

  • 将任一数据类型与正则表达式一起使用。

  • 要搜索和匹配字符串中的文本,请使用 pattern 对象。

  • 要存储多个字符串,请使用字符串数组。您还可以在元胞数组中存储多个字符向量。但是,推荐的文本存储方式是使用字符串数组。

logical逻辑(布尔)运算
  • 用于关系条件或用于测试状态。

  • 可以具有以下两个值之一:truefalse

  • 也用于数组索引。

  • 二维数组可以为稀疏数组。

function_handle函数句柄
  • 函数的指针。

  • 支持将一个函数传递给另一个函数。

  • 也可以在通常的范围之外调用函数。

  • 用于指定图形回调函数。

  • 保存到 MAT 文件并在以后恢复。

table, timetable, 时间表
  • 表和时间表是混合类型列向数据的矩形容器。

  • 表用行名称和变量名称标识内容。

  • 时间表还为表中的时间序列数据提供存储,表中的行标有时间戳。时间表函数可以同步、重采样或聚合带时间戳的数据。

  • 使用表或时间表的属性来存储变量单位之类的元数据。

  • 元素处理与数值或逻辑数组类似。

  • 通过数值或命名索引访问数据。

  • 可以选择数据子集并保留表格容器,也可以从表格中提取数据。

struct结构体
  • 用字段存储不同类、不同大小的数组。

  • 通过单一操作访问一个或所有字段/索引。

  • 用字段名称标识内容。

  • 传递函数参量的方法。

  • 用于逗号分隔的列表

  • 开销需要较多内存

cell元胞数组
  • 用元胞存储不同类、不同大小的数组。

  • 可以根据需要自由打包数据。

  • 元素处理与数值或逻辑数组类似。

  • 传递函数参量的方法。

  • 用于逗号分隔的列表。

  • 开销需要较多内存

另请参阅

主题

外部网站