【问题标题】:How to generate a [0,1,0,1,0,1,0....,0,1] vector with length 2n如何生成长度为 2n 的 [0,1,0,1,0,1,0....,0,1] 向量
【发布时间】:2017-10-03 04:58:46
【问题描述】:

我想知道如何生成这种矢量。我不知道在哪里以及如何指定长度以及如何按顺序放置 0 和 1。

【问题讨论】:

    标签: arrays matlab vector


    【解决方案1】:

    这里同时分配和填充一个数组:

     result(2:2:2*n)=1;
    

    【讨论】:

      【解决方案2】:

      使用repmat的解决方案:

      result = repmat([0, 1], 1, n);
      

      【讨论】:

        【解决方案3】:

        另一种方式:

        result = mod(0:2*n-1, 2);
        

        还有:

        result = kron(ones(1,n), [0 1]);
        

        【讨论】:

          【解决方案4】:

          此方法使用meshgrid 制作一个 2×n 矩阵,第一行为 0,第二行为 1,然后reshapes 形成所需的矩阵:

          result = reshape(meshgrid(0:1, 1:n)', 1, 2*n);
          

          【讨论】:

            【解决方案5】:

            一个有趣的问题,另一种方式

            result = reshape([zeros(1,n); ones(1,n)], 1,2*n)

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2016-08-07
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2022-08-10
              • 1970-01-01
              相关资源
              最近更新 更多