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

发布于 2024-11-07 04:54:16 字数 668 浏览 0 评论 0原文

可能的重复: 如何将数字连接到变量名称MATLAB? 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 元素。这是正确的还是我只是在这里做错了什么?有一个优雅的解决方法吗?

Possible Duplicates:
How to concatenate a number to a variable name in MATLAB?
MATLAB: How can I use a variables value in another variables name?

I have the following code:

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

Of course, the last line (info_',x{i},' = strcat(S.info1, S.info2)) doesn't work. It just doesn't seem to be possible to use a variable to create MATLAB elements. Is this right or am I just doing something wrong here? Is there an elegant workaround?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

昔日梦未散 2024-11-14 04:54:16

你想要类似的东西吗

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

Do you want something like

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

?

If so, could I discourage you from doing so, see: http://matlab.wikia.com/wiki/FAQ#How_can_I_create_variables_A1.2C_A2.2C....2CA10_in_a_loop.3F

智商已欠费 2024-11-14 04:54:16

请尝试以下操作:

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

Try the following:

eval(['info_x{' num2str(i) '}=strcat(S.info1, S.info2)']);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文