将值的赋值矢量化为3D数组

时间:2015-09-10 12:25:20

标签: matlab multidimensional-array vectorization bsxfun

以下是简单的代码:

A=zeros(60,60,30);
a=rand(28,28,30);

for i=1:30
    m=round(rand*32)+1; %because 60-28=32
    n=round(rand*32)+1;
    A(m:m+27,n:n+27,i)=a(:,:,i);
end

它的作用是简单地取一个28 * 28的随机矩阵并将其“植入”一个更大的(零)矩阵,并重复30次。每次,它随机选择不同的角位置(即'm'和'n')将小矩阵放在较大的矩阵内。 我确信我可以在没有for循环的情况下做到这一点 - 只是不确定如何。

0 个答案:

没有答案