Permute my center blocks
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Yuxing Zhang
el 6 de Nov. de 2018
Comentada: Bruno Luong
el 6 de Nov. de 2018
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]);
1 comentario
Bruno Luong
el 6 de Nov. de 2018
Acenter=A(161:240,161:240)
What is that for, beside just throw out an error because the indexing is wrong?
What is the relation of block permutation?
Respuesta aceptada
per isakson
el 6 de Nov. de 2018
Editada: per isakson
el 6 de Nov. de 2018
"how make make my blocks into numbered blocks" Matlab does that automatically, e.g.
>> Ablock(11)
ans =
1×1 cell array
{20×20 double}
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) );
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!