MATLAB: Permute the center blocks

permutation

I have a matrix A with center piece (80×80) and I have now divided into 16 blocks of size 20×20. I also have a permutation vector V=[7 11 2 3 ….], which I need to place the 7th block in the location of the first block, place the 11th block in the location of the second block, etc.
Now the issue is I don't know how make make my blocks into numbered blocks and change order, can any one give me some example codes?
below this my code:
A=rand(200,200);
Acenter=A(161:240,161:240);
Ablock= mat2cell(Acenter,[20 20 20 20 ],[20 20 20 20]);

Best Answer

"how make make my blocks into numbered blocks" Matlab does that automatically, e.g.
>> Ablock(11)
ans =
1×1 cell array
{20×20 double}
See Array Indexing, and notice "linear indexing"
Check whether this does the trick
A=rand(200,200);
Acenter=A(61:140,61:140);
Ablock= mat2cell(Acenter,[20 20 20 20 ],[20 20 20 20]);
V = randperm(16); % random permutation vector
Bblock = reshape( Ablock(V), size(Ablock) );