如何使用字符串加载存储在.mat文件中的变量?

时间:2016-07-11 12:07:12

标签: matlab

我有一个函数读取.mat文件,其中包含几个向量。现在我想分析这些变量中的一个,比如variableA。所以我在函数中的含义是:

variable = variableA;

该功能的其余部分适用于variable。因此,当我想分析variableB时,我只是在上面的陈述中更改它。是否可以传递一个字符串,比如'variableA'作为函数的输入,以便我可以将variableA的值分配给variable
例如:

string = 'variableA';
variable = something(string);  % now variable holds the values of variableA

如上所述的构造可以更容易地在所有变量之间进行更改。我能找到的所有函数都允许我为字符串定义的变量赋值,而不是相反。

更新
为了澄清我的问题,请说你有以下功能:

function analyseFile(name)
%Load the file
load(file.mat)
toAnalyse = %variable from file.mat with name "name" from the argument
%Do some analysis e.g.
time = 0:0.001:(length(toAnalyse)-1)*0.001;
x = lsqcurvefit(@PronySeries,ones(2,1),time,toAnalyse,[0,0],[]);
%And e.g. some plotting
plot(time,toAnalyse)
hold on
plot(time,PronySeries(x,time))
end

现在,我想指定函数应该加载.mat文件的哪个变量,然后进行分析。因此,参数name应该用作变量名。

我正在寻找一种比eval更不容易出错的方法。对不起,原帖中没有注明。解决方案不必将字符串转换为变量本身。涉及细胞的解决方案将非常精细。

0 个答案:

没有答案