【发布时间】:2016-05-05 07:21:22
【问题描述】:
我正在尝试连接几个结构。我从每个结构中获取的内容取决于需要 for 循环的函数。这是我的简化数组:
t = 1;
for t = 1:5 %this isn't the for loop I am asking about
a(t).data = t^2; %it just creates a simple struct with 5 data entries
end
这里我手动进行拼接:
A = [a(1:2).data a(1:3).data a(1:4).data a(1:5).data] %concatenation function
如您所见,(1:2)、(1:3)、(1:4) 和 (1:5) 的范围可以循环,我尝试这样做:
t = 2;
A = [for t = 2:5
a(1:t).data
end]
这会导致错误“非法使用保留关键字“for”。”
如何在 concatenate 函数中执行 for 循环?我可以在 Matlab 的其他函数中执行循环吗?除了复制/粘贴该行并手动更改 1 个数字之外,还有其他方法吗?
【问题讨论】:
-
您创建结构的代码在 matlab 中不起作用。请更新它。此外,您不能在
[]中放置 for 循环。您缺少有关 Matlab 的基本知识。我建议阅读手册。 -
@HBHB 我刚刚运行了我从帖子中复制的代码,它对我有用。除了
[]中的 for 循环,我现在知道它不起作用,谢谢你:)。我是这里的大新手,我承认,但有解决方法吗?在那个范围内循环真的会让我的生活更轻松。我必须对真实数据集进行大量复制粘贴。
标签: matlab