我正在为MatLab编写一个脚本,其中使用load命令将* .mat文件加载到工作区。我的问题是我不知道如何引用变量名称。我根据大小命令知道我需要什么数据,但我需要一种在数字上引用变量的方法。也许像列表中第一个索引的索引是1或者其他东西。有没有办法做到这一点?
提前致谢
答案 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
字段上应用所需的任何逻辑来确定您要查找的变量。