MAT (.mat)

背景

    • MATLAB MAT 文件.
    • 矩阵数据格式.
    • MATLAB 数值计算软件原数据格式.
    • 存储数值矩阵、布尔值或字符串.
    • 二进制格式.
    • MAT 版本 7.3 文件使用 HDF5.

Import 与 Export

  • Import["file.mat"] 导入一个 MAT 文件,返回一个包含数字、字符串或布尔值的多维数组.
  • Import["file.mat",elem] 把任何数值数组导入到 MAT 文件.
  • 导入格式可以由 Import["file", "MAT"]Import["file",{"MAT",elem,}] 指定.
  • Export["file.mat",expr] 从整数或双数组中创建一个 MAT 文件.
  • Export["file.mat",{elem1->expr1,elem2->expr2,},"Rules"] 使用规则指定要导出的参数.
  • 请到以下参考页面了解完整的基本信息:
  • Import, Export从文件导入或导出到文件
    CloudImport, CloudExport从云对象导入或导出到云对象
    ImportString, ExportString从字符串导入或导出到字符串
    ImportByteArray, ExportByteArray从字节数组导入或导出到字节数组

Import 的参数

  • Import 的通用参数:
  • "Elements" 该文件可用的参数和选项列表
    "Summary"文件摘要
    "Rules"所有可用参数的规则列表
  • 数据表示参数:
  • "Data"以多维数组表示的数值或文本数据
    "LabeledData"以规则列表形式给出的数据
  • 默认情况下,ImportExport 使用"Data"参数.
  • 数据描述符元素:
  • "DataFormat"可变数据类型
    "Dimensions"数组的尺寸
  • 在适当情况下,数值数据将导入为 SparseArray 对象.
  • 元信息参数:
  • "Comments"存储在文件中的用户注释
    "Labels"以字符串列表形式给出的数据集名称
    "Version"文件 MAT 规范的版本

选项

  • Import 的选项:
  • "IndeterminateValues"Automatic无限、NaN 等的替换值
  • "IndeterminateValues" 为不同的值提供替换规则. 支持一下设置:
  • val任何不确定值的固定值 val
    <|"Nan","Inf","-Inf"|>根据类型的不同确定具体的替代
  • Export 选项:
  • CompressionLevelAutomatic使用的压缩级别
    OverwriteTargetTrue是否覆盖现有文件
    "Version"Automatic要使用的文件格式的版本
  • OverwriteTarget->"Append",可将新对象加入到已有文件.
  • 支持导出版本 "4"、"5""7.3".
  • 默认情况下,导出生成版本 "5" MAT 文件. 对于大于 字节的文件,生成版本 "7.3" 文件.

范例

打开所有单元关闭所有单元

基本范例  (3)

以下导入一个简单的 MAT 文件:

MAT 文件摘要:

导出一个数值矩阵:

范围  (8)

导入  (1)

可用的 Import 参数列表

导出  (7)

将数组导出到一个 MAT 文件:

如果没有给出变量名,则使用默认变量名 "Expression1"

导出具有自定义变量名称的数据:

将多个变量导出到文件。 变量名称必须明确给出:

导出一个 SparseArray:

导出字符串数组:

导出可能不同类型的表达式数组:

将具有一致键的关联数组导出到 "structure" 数组中:

导入参数  (8)

"Comments"  (1)

从 MAT 文件导入注释,其中通常包含注释和版本信息:

"Data"  (1)

从文件中的所有变量导入数据:

"DataFormat"  (1)

导入文件中每个变量的数据类型:

"Dimensions"  (1)

导入文件中每个变量的维数:

"LabeledData"  (1)

针对文件中所有的变量导入数据对,"variable name" -> variable data:

"Labels"  (1)

按照变量名称在文件中存储的顺序导入变量的名称:

"Summary"  (1)

导入文件的摘要,其中包括文件名、MAT 格式版本、变量的数量和文件大小:

"Version"  (1)

导入版本信息,即文件是以哪个版本的 MAT 文件规范保存的:

导出的选项  (14)

CompressionLevel  (3)

导出大数值数组. 默认情况下,数据将被压缩(等同于级别1):

无需压缩即可导出数据:

MAT 版本 4 不支持压缩:

"Header"  (3)

默认情况下,会创建一个自动标题:

指定标头,该标头存储在 MAT 版本号之后:

可以使用 "Comments" 参数导入标头:

标头不能太长:

OverwriteTarget  (3)

默认情况下,每次 Export 时创建一个新文件:

OverwriteTargetFalse,将不会覆盖现有文件:

要在现有文件的末尾附加变量,请使用 OverwriteTarget"Append"

附加到现有文件的变量应具有新名称:

"Version"  (5)

默认情况下,Export 创建版本 5 的 MAT 文件:

将数据导出到 MAT 版本 4:

将数据导出到 MAT 版本 7.3:

版本可以指定为数字或字符串:

某些数据类型(例如混合类型的数组)无法导出到 MAT 版本 4: