有没有一种简单的方法来创建一个3D数组,其中每一层都用一个给定的2D数组初始化?我可以使用下面的for循环,但它非常慢。
for
a = rand(1000); b = zeros(1000, 1000, 1000); for i = 1:1000 b(:,:,i) = a; end
cu6pst1q1#
您可以在此处等效地使用repmat或repelem
repmat
repelem
a = rand(10,10); b = repmat( a, 1, 1, 1000 ); c = repelem( a, 1, 1, 1000 );
您也可以使用隐式展开,尽管它读起来不那么清晰
d = a + zeros( 1, 1, 1000 );
1条答案
按热度按时间cu6pst1q1#
您可以在此处等效地使用
repmat
或repelem
您也可以使用隐式展开,尽管它读起来不那么清晰