8

我有一个要处理的大 .mat 文件,但它太大而无法装入单个负载。我想分部分加载它,每次只访问重要参数。所以我实际上有两个问题:

  1. 如何在不加载 mat 文件的情况下访问它的变量名称?
  2. 如何仅将其中一个加载到工作区?

谢谢!

4

2 回答 2

8

您可以使用以下命令查看变量列表:

vars = whos('-file','name.mat');

然后只需通过以下方式加载您想要的变量,例如列表中的第一个变量:

load('name.mat', vars(1).name)
于 2013-07-08T03:56:40.260 回答
7

除了按照@natan 的建议从 .mat 文件中加载单个变量外,在最新版本的 MATLAB 中,您还可以使用matfile对象仅加载单个变量的一部分。

例如,你可以说:

myFile = matfile('path\to\the\mat\file');
loadedData = myfile.myVarName(100:200, 500:600);

myVarName并且您将只从文件中加载一部分变量myFile


编辑:

matfile对象还具有方法和size,因此您可以在尝试加载位之前确定文件包含的变量的名称和大小。whowhos

于 2013-07-08T10:10:24.230 回答