【发布时间】:2014-05-01 15:40:58
【问题描述】:
我可能搞错了,但我有数据{1}、数据{2}...数据{i}。在每个中,我都有 .type1、.type2.... .typeN。数组的长度不同,因此水平串联不起作用。
为了简单起见
>> data{1}.type1
ans =
1
2
3
>> data{2}.type1
ans =
2
4
5
6
结果应该是 [1;2;3;2;4;5;6]
我一直在尝试循环它,但不知道如何?我将拥有可变数量的文件(a,b ..)。我该如何进行循环和连接?最终我需要所有这些的 1xN 数组..
我的工作代码,谢谢..想通了..
for i = 1:Types
currentType = nTypes{i}
allData.(currentType)=[];
for j = 1:nData
allData.(currentType) = [allData.(currentType); data{j}.(currentType)(:,3)]; %3rd column
end
end
【问题讨论】:
-
[a;b]。或vertcat(a,b)。或c = {a,b}; vertcat(c{:}) -
解释您的输入数据并不是“离题”。根据您的 cmets,您的示例代码似乎太简单而无法解释您的实际问题。尝试一些更接近您需要的示例代码。
标签: arrays matlab concatenation