MATLAB: Creating matric of multiple arrays

arrayscreating matricesMATLAB

x=0:12;
k=5;
a=k+x;
b=k+2x;
c=k+4x;
d=kx;
I'd like to create 2*2 matrix of four arrays (a,b,c,d).
Z=[a b; c d];
How could I realize this task by using for loop? Or do you have any other way to realize it? I ask for your advice! Thank you in advance!

Best Answer

You should be able to accomplish what you're looking for with some matrix indexing, no loop necessary.
x = 1:100;
k = 12;
a = x + k; % Makes a 100x1 size array, 13:112
b = 2*x + k; % Makes a 100x1 size array following the same formula
c = 4*x + k;
d = x * k;
% Adding a third dimension of Z allows you to basically stack each of the elements of a, b, c, and d
% into the one 2x2 format. Z(:,:,1) is a 2x2 of [a(1), b(1); c(1), d(1)], and each subsequent 'sheet'
% takes you to the next set of elements in the four matrices.
Z(1,1,:) = a;
Z(1,2,:) = b;
Z(2,1,:) = c;
Z(2,2,:) = d;