假设我们已将数据加载到单元格数组中:
DATA={'foo',[1,5];'bar',[2,6]}
有没有办法如何在DATA
中以第2列的内容声明由第1列命名的变量?
答案 0 :(得分:5)
您可以使用eval
for ii = 1:size(DATA,1)
eval( [DATA{ii,1}, ' = ', num2str( DATA{ii,2} )] );
end
但是,使用eval
是not recommended。
你可以使用动态字段名称:
s = cell2struct( DATA(:,2), DATA(:,1), 2 );
答案 1 :(得分:1)
有一个assignin
函数,它接受一个变量名并为其赋值一个特定的值:
for r = 1:size (DATA, 1)
assignin ('caller', DATA{r,:});
end