动态变量声明 [英] dynamic variable declaration

查看:87
本文介绍了动态变量声明的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我们已将数据加载到单元格数组中:

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 );

这篇关于动态变量声明的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆