如何生成长度为2n的[0,1,0,1,0,1,0 ....,0,1]向量

时间:2017-10-03 04:58:46

标签: arrays matlab vector

我想知道如何生成这种矢量。我在指定长度以及如何按顺序放置0和1时遇到问题。

5 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:4)

使用repmat的解决方案:

JDialog

答案 2 :(得分:3)

另一种方式:

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

此外:

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

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

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

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