如何使用变量创建MATLAB元素?

时间:2011-05-11 12:28:33

标签: matlab variables

  

可能重复:   How to concatenate a number to a variable name in MATLAB?   MATLAB: How can I use a variables value in another variables name?

我有以下代码:

x = textread('/home/data/data.txt','%s')
for i=1:50
    S=load(['/home/data/',x{i},'_file.mat'])
    info_',x{i},' = strcat(S.info1, S.info2)
end

当然,最后一行(info_',x{i},' = strcat(S.info1, S.info2))不起作用。它似乎不可能使用变量来创建MATLAB元素。这是对的还是我在这里做错了什么?有优雅的解决方法吗?

2 个答案:

答案 0 :(得分:1)

你想要像

这样的东西
eval( sprintf( 'info_%s = strcat( S.info1, S.info2 );', x{i} ) );

如果是这样,我可以阻止你这样做,请参阅:http://matlab.wikia.com/wiki/FAQ#How_can_I_create_variables_A1.2C_A2.2C....2CA10_in_a_loop.3F

答案 1 :(得分:0)

尝试以下方法:

eval(['info_x{' num2str(i) '}=strcat(S.info1, S.info2)']);