Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

保存和加载工作区变量

在 MATLAB® 会话之间并不保留工作区。退出 MATLAB 时,工作区清除。但是,您可以将当前工作区中的任何或所有变量保存到 MAT 文件 (.mat) 中。之后,只需加载保存的 MAT 文件,即可在当前 MATLAB 会话期间或在另一个会话期间重用工作区变量。

保存工作区变量

以交互方式保存工作区变量的方法有几种:

  • 要将所有工作区变量保存到 MAT 文件,请在主页选项卡的变量部分中,点击保存工作区

  • 要将工作区变量的一部分保存到 MAT 文件中,请在工作区浏览器中选择所需的变量,右键点击,然后选择另存为。您也可以将所选的变量从工作区浏览器拖放到当前文件夹浏览器。

  • 要将变量保存到 MATLAB 脚本,请点击保存工作区按钮或选择另存为选项,然后在另存为窗口中,将保存类型选项设置为 MATLAB 脚本。无法保存到脚本的变量将保存到与脚本同名的 MAT 文件中。

您还可以使用 save 函数以编程方式保存工作区变量。例如,要将所有当前工作区变量保存到文件 june10.mat,请使用命令

save('june10')
要仅将变量 AB 保存到文件 june10.mat,请使用命令

save('june10','A','B')

要将标量结构体的字段存储为单独的变量,请使用带有 -struct 选项的 save 函数。如果您先前使用语法 S = load(filename) 将来自 MAT 文件的变量加载到了结构体中并且希望在保存到新 MAT 文件时保留原始变量结构体,则以上方法非常有用。

要保存变量的一部分,请使用 matfile 函数。这有助于处理由于数据过大而无法放入内存的超大型数据集。有关详细信息,请参阅在 MAT 文件中保存和加载部分变量

MATLAB Online™ 中,变量在会话之间保持不变。保存允许您清空工作区并在以后加载变量。要保存变量,请使用 savematfile 函数。

加载工作区变量

要将保存的变量从 MAT 文件加载到工作区中,请在当前文件夹浏览器中双击该 MAT 文件。

要从 MAT 文件中加载变量子集,请在主页选项卡上的变量部分中,点击导入数据。选择您要加载的 MAT 文件并点击打开。您也可以将所需变量从所选 MAT 文件的当前文件夹浏览器的详细信息面板拖动到工作区浏览器中。详细信息面板在 MATLAB Online 中不可用。

要将保存到 MATLAB 脚本的变量加载到工作区中,只需运行该脚本即可。

您还可以使用 load 函数,以编程方式加载保存的变量。例如,加载文件 durer.mat 中的所有变量

load('durer')
要从文件 durer.mat 加载变量 Xmap

load('durer','X','map')

要加载变量的一部分,请使用 matfile 函数。这有助于处理由于数据过大而无法放入内存的超大型数据集。有关详细信息,请参阅在 MAT 文件中保存和加载部分变量

小心

当您将数据加载至 MATLAB 工作区时,您创建的新变量将会覆盖工作区中同名的任何现有变量。为了避免覆盖现有变量,请使用 load 函数将变量加载到结构体中。例如,S = load('durer') 会将文件 durer.mat 中的所有变量加载到结构体 S 中。

查看 MAT 文件的内容

要在将 MAT 文件加载到工作区之前查看该文件中的变量,请在当前文件夹浏览器中点击该文件名称。有关变量的信息将显示在详细信息窗格中。

或者,使用 whos-filefilename 命令。此函数将返回指定的 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 文件版本

另请参阅

|

相关主题