MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by Giorgos Papakonstantinou
on 16 Jun 2013

How can I preallocate matrix t:

t=[];

for i=1:3; a=randi(10,3,2);

t=[a t];

end

*No products are associated with this question.*

Answer by the cyclist
on 16 Jun 2013

Accepted answer

Like this. (I also parameterized so it would be easier to see how this generalizes.)

m=3; n=2;

t = zeros(m,m*n);

for i=1:m; a = randi(10,m,n); t(:,n*(i-1)+1:n*i) = a; end

You don't need the intermediate variable, either:

m=3; n=2;

t = zeros(m,m*n);

for i=1:m; t(:,n*(i-1)+1:n*i) = randi(10,m,n); end

## 0 Comments