如何在MatLab中以数字方式引用mat文件中的变量?

时间:2013-06-11 13:22:07

标签: matlab variables

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

提前致谢

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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字段上应用所需的任何逻辑来确定您要查找的变量。