Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用变量创建MATLAB元素?_Matlab_Variables - Fatal编程技术网

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

如何使用变量创建MATLAB元素?,matlab,variables,Matlab,Variables,可能的重复项: 我有以下代码: 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元素。这是对的还是我只是做错了什么?

可能的重复项:

我有以下代码:

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元素。这是对的还是我只是做错了什么?是否有一个优雅的解决方法?

尝试以下方法:

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

你想要像这样的东西吗

eval( sprintf( 'info_%s = strcat( S.info1, S.info2 );', x{i} ) );
?


如果是这样的话,我可以劝阻您不要这样做吗?请参阅:

谢谢您的帮助,但不幸的是,这不起作用。您应该知道x{i}返回一个字符串。基本上我想用这个字符串把每个元素命名为1:50。伟人,这正是我想要的。然而,我不明白为什么我不应该这样做。所以现在似乎只剩下一个问题了。使用上述命令后,我收到50个元素,现在我想将它们放入一个数据集数组中。我查看了dataset()的帮助,但无法找到它。如果没有办法具体解决这50个元素,那么我只要把我所有的工作区元素都放到数据集中就足够了,但我也找不到一个选项。哇,看起来像一个超重复项:,