使用相同的值填充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)