在MATLAB中,我想在一对数据集上执行一系列命令,这些数据集分别对男性和女性进行分组 - 我想分别导出结果。我对Stata很熟悉,所以我的直觉就是做这样的事情:
foreach X in m f{
data_`X' = csvread('data_`X'.csv');
variable_`X' = data_`X'(:,12);
plot(1975:2011,variable_`X')
print -djpeg graph_`X'
% etc.
}
但我无法在MATLAB中找到类似于'X'的引用结构,这将允许迭代的字符串被称为变量名的一部分。
我是MATLAB的新手,所以我可能会完全咆哮错误的树。有什么想法吗?
答案 0 :(得分:0)
你可以做到这一点,但它可能不是最有效的。
假设m
是字符串的单元格数组,并且data_X.csv存在:
for ii=1:length(m)
assignin('base',['data_' m{ii}], csvread(evalin('base',['data_' m{ii} '.csv'));
assignin('base',['variable_' m{ii}],['data_' m{ii} '(:,12)']);
plot(1975:2011, evalin('base',['variable_' m{ii}]));
...
我认为这会让你走上正轨。