使用相同的值填充MATLAB数组

在Haskell中 ,如果我想得到只包含数字5的10个元素列表,我可以这样做:

take 10 $ repeat 5 

输出:

 [5,5,5,5,5,5,5,5,5,5] 

在MATLAB中有这样的东西吗?

将重复值分配给数组很容易:

  x(1:10) = 5; 

如果要在语句中内联元素数组,请尝试如下所示:

 ones(1,10) * 5 

要么

 repmat(5, 1, 10) 

这个方法比使用repmat快得多:

 >> tic; for i = 1:1e6, x=5*ones(10,1); end; toc Elapsed time is 3.426347 seconds. >> tic; for i = 1:1e6, y=repmat(5,10,1); end; toc Elapsed time is 20.603680 seconds. 

而且,在我看来,使更多的可读代码。

请参阅文档中的repmat 。

 B = repmat(5,1,10)