MATLAB: I am having trouble understand what this command does. Can anyone help me

matrix

reshape(repmat([1 2],2,2),1,[])
I know repmat replicates the matrix and reshape reshapes the matrix, but what does it replicate and reshape. So far I think repmat([1 2],2,2) repeats the [1 2] matrix so its a 2×2 matrix. But the reshape part confuses me.

Best Answer

Let's give the matrix we're operating on [1 2] a name. Let's say
A = [1 2];
Then repmat repeats A in a two-by-two arrangement:
repmat(A,2,2)
ans =
1 2 1 2
1 2 1 2
Then reshape it into a 1-by-however-wide-it-needs-to-be matrix:
reshape(ans,1,[])
ans =
1 1 2 2 1 1 2 2