如何在matlab中同时具有增量列和固定列

时间:2019-05-11 09:26:58

标签: arrays matlab loops

我想要一个像这样的数组: 第二列,值从1到1000。 第一列,前1000个值为零,第二列为1000,直到1000。

[ 0 1
  0 2
  ...
  0 1000
  1 1
  1 2
  ...
  1 1000
  1000 1
  1000 2
  ...
  1000 1000]

我尝试过的操作不会增加第一列的值。

 z = ones (10000, 2);
    for i=1:1000
        z(:,2)= (1:1:1000);
    end

1 个答案:

答案 0 :(得分:1)

您可以以一种聪明的方式来完成它:),而无需循环。

尝试:

firstColumn = repmat(0:1000,1000,1);
firstColumn = firstColumn(:); % Convert to a single column vector
secondColumn = repmat([1:1000]', 1001, 1); 
M = [firstColumn secondColumn];

如果您想理解上面的代码,请阅读repmatcolumn, :