保存和加载工作区变量
工作区中的变量不会在 MATLAB® 会话之间持久存在。退出 MATLAB 时,工作区清除。但是,您可以将当前工作区中的任何或所有变量保存到 MAT 文件。之后,只需加载保存的 MAT 文件,即可在当前 MATLAB 会话期间或在另一个会话期间重用工作区变量。
保存工作区变量
以交互方式保存工作区变量的方法有几种:
要将所有工作区变量保存到 MAT 文件,请在主页选项卡的变量部分中,点击保存工作区。
要将工作区变量的一部分保存到 MAT 文件,请在“工作区”面板中选择这些变量,右键点击所选内容,然后选择保存选择。
要将变量保存到 MATLAB 脚本中,请在主页选项卡的变量部分中,点击保存工作区。然后,在保存工作区变量对话框中,将保存类型选项设置为 MATLAB 脚本。无法保存到脚本的变量将保存到与脚本同名的 MAT 文件中。
您还可以使用 save
函数以编程方式保存工作区变量。例如,将所有当前工作区变量保存到文件 june10.mat
。
save("june10")
A
和 B
保存到文件 june10.mat
。save("june10","A","B")
要将标量结构体的字段存储为单独的变量,请使用带有 -struct
选项的 save
函数。如果您先前使用语法 S = load(
将来自 MAT 文件的变量加载到了结构体中并且希望在保存到新 MAT 文件时保留原始变量结构体,则此选项非常有用。filename
)
要保存变量的一部分,请使用 matfile
函数。此功能有助于处理由于数据过大而无法放入内存的超大型数据集。有关详细信息,请参阅在 MAT 文件中保存和加载部分变量。
注意
在 MATLAB Online™ 中,变量在会话之间保持不变。
加载工作区变量
要将保存的变量从 MAT 文件加载到工作区中,请在“文件”面板中双击该 MAT 文件。您还可以将 MAT 文件从“文件”面板拖到“工作区”面板。
要从 MAT 文件中加载变量子集,请在主页选项卡上的变量部分中,点击导入数据。选择要加载的 MAT 文件并点击打开。然后,使用导入工具对话框选择要导入的变量。
要将保存到 MATLAB 脚本的变量加载到工作区中,请运行该脚本。
您还可以通过使用 load
函数以编程方式加载保存的变量。例如,从文件 durer.mat
加载所有变量。
load("durer")
durer.mat
中仅加载变量 X
和 map
。load("durer","X","map")
要加载变量的一部分,请使用 matfile
函数。此函数有助于处理由于数据过大而无法放入内存的超大型数据集。有关详细信息,请参阅在 MAT 文件中保存和加载部分变量。
小心
当您将数据加载至 MATLAB 工作区时,您创建的新变量将会覆盖工作区中同名的任何现有变量。为了避免覆盖现有变量,请通过为 load
函数指定输出参量将变量加载到一个新结构体中。例如,S = load("durer")
会将文件 durer.mat
中的所有变量加载到结构体 S
中。
查看 MAT 文件的内容
要在将 MAT 文件加载到工作区之前查看该文件中的变量,请点击“文件”面板中文件右侧的“预览”按钮。预览显示文件中变量的名称和值,以及文件大小和最后修改日期。
您还可以通过使用命令 whos
-file
filename
以编程方式查看 MAT 文件的内容。此命令返回指定 MAT 文件中所有变量的名称、大小、字节数和类。例如,查看示例文件 durer.mat
的内容。
whos -file durer.mat
Name Size Bytes Class Attributes X 648x509 2638656 double caption 2x28 112 char map 128x3 3072 double
注意
字节计数表示将数据加载到 MATLAB 工作区以后,数据在内存中占用的字节数。由于压缩、数据编码和元数据的原因,变量在文件中占用的空间可能与在内存中的大小不同。MATLAB 在版本 7 或更高版本的 MAT 文件中默认会压缩数据。有关详细信息,请参阅 MAT 文件版本。