MATLAB: Distribute matrix elements to smaller grids.

matrix

I need to distribte matrix elements into a smaller grid size.
For example, I have a matrix with size 2×2
[10 20
30 40]
I want a matrix with size 4×4 by distributing the elements into a finer resolution.
[2.5 2.5 5 5
2.5 2.5 5 5
7.5 7.5 10 10
7.5 7.5 10 10]
I could do this using resizem and then dividing each element by 4. Is there any other efficient way to do this?

Best Answer

Easily:
M = [10 20;
30 40];
scaling = 2;
repelem(M/scaling^2, scaling, scaling)