for循环

3次浏览(过去30天)
农业研究所
农业研究所 2012年6月11日
你好,
我有一个关于for循环的基本语法问题。我试图改变矩阵(结构)的名称在一个循环复制值在另一个数组使用相同的循环变量如下:
k = 1:16
tstats (k, 1) =结果(num2str (k) .tstat
结束
我有结构矩阵命名从'results1到results16'。tstat是我试图从tstat矩阵中提取并写入的字段。
我认为问题出在语法上。
任何帮助吗?
问候,
AMD。

答案(2)

沃尔特·罗伯森
沃尔特·罗伯森 2012年6月11日
3评论
1月
1月 2012年6月11日
你的问题不是如何从这些变量中获取值,而是由于“我已经有了命名为从'results1到results16'的结构矩阵”。Walter发布的链接显示,使用“results{1}”到“results{16}”将是一个更聪明的命名方案。
这就像把电话号码加到你的名字里一样:它解决了一些问题,但总的来说使用效率降低了。

登录评论。


凯文·霍尔斯特
凯文·霍尔斯特 2012年6月11日
不幸的是,你不能在循环中调用或写入这样的变量。我的建议是使用一个包含所有“results##”结构的结构。然后你可以使用这样的东西:
k = 1:16
tstats (k, 1) =结果。([“结果”.tstat num2str (k)])
结束

s manbetx 845

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!