使用25个或更少的字符在MATLAB中创建特定矩阵

使用25个或更少的字符在MATLAB中创建特定矩阵,matlab,matrix,Matlab,Matrix,什么matlab命令或命令组合(使用25个字符或更少)可用于创建以下矩阵 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1

什么matlab命令或命令组合(使用25个字符或更少)可用于创建以下矩阵

1   0   0   1   0   0   1   0   0   1   0   0   1   0   0
1   1   0   1   1   0   1   1   0   1   1   0   1   1   0
1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
1   0   0   1   0   0   1   0   0   1   0   0   1   0   0
1   1   0   1   1   0   1   1   0   1   1   0   1   1   0
1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
1   0   0   1   0   0   1   0   0   1   0   0   1   0   0
1   1   0   1   1   0   1   1   0   1   1   0   1   1   0
1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
1   0   0   1   0   0   1   0   0   1   0   0   1   0   0
1   1   0   1   1   0   1   1   0   1   1   0   1   1   0
1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
我做到了这一点

repmat(tril(ones(3,3)),5)
但是,
repmat
创建了一个5乘5的矩阵。但是,我需要一个4,5矩阵。 谢谢你花时间帮忙

再添加一个参数并从中删除一个(如Divakar所述):


如您所见,您可以指定行和列的复制次数。任何一个函数的单值参数都将对行和列使用该值。

我将抛出
kron
解决方案。只是因为

kron(ones(4,5),tril(ones(3)))

超过25个字符,但是嘿:

bsxfun(@le,mod(0:3*5-1,3),mod(0:3*4-1,3).')

一(3)个可以用25个字符。啊!非常感谢。雷普马特(特里尔(一(3)),4,5)@Divakar:抓得好。我还没数过呢;答案是,;repmat(三个一(3)),4,5);非常感谢你!该死的,错过了这一部分。现在,如果我能想出一个
accumarray
解决方案,我就可以快乐地注销了@chappjc我知道你会精确地考虑这个函数:-)
bsxfun(@le,mod(0:3*5-1,3),mod(0:3*4-1,3).')