本文介绍了动态变量声明的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我们已将数据加载到单元格数组中:
Suppose we have loaded data into cell array:
DATA={'foo',[1,5];'bar',[2,6]}
有没有办法声明由DATA
中第一列命名的具有第二列内容的变量?
Is there way how to declare variables named by 1st column in DATA
with content of 2nd column?
推荐答案
您可以使用eval
for ii = 1:size(DATA,1)
eval( [DATA{ii,1}, ' = ', num2str( DATA{ii,2} )] );
end
但是, 不推荐使用eval
.
您可以改为使用动态字段名称:
You can use dynamic field names instead:
s = cell2struct( DATA(:,2), DATA(:,1), 2 );
这篇关于动态变量声明的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!