1

我正在为 MatLab 编写一个脚本,其中使用 load 命令将 *.mat 文件加载到工作区。我的问题是我不确定如何引用变量名。我知道基于大小命令我需要什么数据,但我需要一种以数字方式引用变量的方法。也许像列表中第一个这样的索引的索引为 1 或其他东西。有没有办法做到这一点?

提前致谢

4

2 回答 2

3

您的描述不是很清楚,您的意思是要通过索引访问从 MAT 文件加载的变量吗?类似于以下内容:

%# load all variables of MAT-file in a structure
S = load('myfile.mat');
fn = fieldnames(S);

%# get a variable by index
idx = 1;
x = S.(fn{idx})

当然,如果首先对变量名称进行排序会更有意义:fn = sort(fn)

于 2013-06-11T13:34:14.113 回答
2

您可以使用whos来查看.mat文件的内容。例如:

%Create some data in a file
cd(tempdir);
x=rand(5,5);
y=rand(6,6);
save someFile x y

%Then look at the variable metadata within that file.
varMeta = whos('-file','someFile')
varMeta = 
2x1 struct array with fields:
    name
    size
    bytes
    class
    global
    sparse
    complex
    nesting
    persistent

然后,您可以应用该size字段所需的任何逻辑来确定您要查找的变量。

于 2013-06-11T13:36:55.760 回答