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