如何以交替方式合并不同长度的向量

时间:2015-09-22 11:35:21

标签: matlab

我试图在matlab中执行以下操作。给出的数字只是一个例子。我正在处理非常大的数据集,因此优选的解决方案更合适。

我有两个向量,其中一个是比另一个大的单个数字:

a = [3  6 8 2 4 86 64 3]' %// 8 digits

b = [23 5 7 2 8 4  5]' %// 7 digits

我想以交替的方式将它们组合起来,以便它们成为:

c = [3 23 6 5 8 7 2 2 4 8 86 4 64 5 3] %// 15 digits

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

c(1:2:2*numel(a)-1) = a;
c(2:2:end-1) = b;

另一种选择(我怀疑它会更有效但你可以在真实数据上测试它)

c = [a'; [b', NaN]];
c(:);
c(end) = [];