【问题标题】:Splice matlab vectors拼接 matlab 向量
【发布时间】:2010-11-29 11:34:06
【问题描述】:

我有两个 matlab 向量。第一个有N 元素,另一个有k*N。我知道k 是什么,我想拼接列表,使第一个向量中的每个元素出现在下一个向量中相应的k 元素之前。例如:

k = 3
x = [1 5 9]
y = [2 3 4 6 7 8 10 11 12]

应该组合成这样:

z = [1 2 3 4 5 6 7 8 9 10 11 12]

有没有一种简单的方法可以快速做到这一点?我的 x 和 y 都很大。谢谢!

【问题讨论】:

    标签: matlab


    【解决方案1】:

    你可以通过一些重塑来做到这一点

    k = 3
    x = [1 5 9]
    y = [2 3 4 6 7 8 10 11 12]
    
    %# make a k-by-n array
    z = reshape(y,k,[]);
    
    %# catenate with x
    z = [x;z];
    
    %# reorder
    z = z(:)'
    

    【讨论】:

      猜你喜欢
      • 2021-07-31
      • 1970-01-01
      • 1970-01-01
      • 2018-07-20
      • 2023-03-09
      • 2013-05-29
      • 2015-01-22
      • 1970-01-01
      • 2015-02-18
      相关资源
      最近更新 更多