如何从单行代码中创建预定义的数组元素,即我有以下数组序列,如何通过单行代码生成它,因为我想将其输入到函数参数中。它始终是0010
以及4列和24行的序列。
我尝试了以下内容:
[0 0 0 1 :24]
我想要的输出:
[ 0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0,
0 0 1 0 ]
答案 0 :(得分:2)
答案 1 :(得分:0)
您也可以使用矩阵乘法
ones( 24, 1 ) * [0 0 1 0]
使用tic
- toc
此方法似乎比repmat
(在我的机器上)更快:
tic;
for ii=1:100000,
repmat( [0 0 1 0], 24, 1 );
end;
toc,
tic,
for ii=1:100000,
ones(24,1)*[0 0 1 0];
end;
toc
结果是
经过的时间是
1.090915
秒。 // @ Divakar's method使用repmat
经过的时间是0.163920
秒。 //使用矩阵乘法