Can I partition a matrix ito several seperated parts ?
Mostrar comentarios más antiguos
can I partition this matrix into 4 parts ?
assume this matrix 29X1, A = [2;2;-3;4;5;6;7;-8;9;-6;5;4;-2;1;3;-9;8;7;4;-5;6;3;2;-1;4;-7;-8;5;-6];
so, I want to group this matrix into 4 seperated groups such as B=7X1, C=7X1, D=7X1, and E=8X1 ?
Respuesta aceptada
Más respuestas (1)
A = [2;2;-3;4;5;6;7;-8;9;-6;5;4;-2;1;3;-9;8;7;4;-5;6;3;2;-1;4;-7;-8;5;-6];
parts = mat2cell(A, [7, 7, 7, 8], 1);
[B, C, D, E] = parts{:};
whos
3 comentarios
omar th
el 31 de Mzo. de 2022
Your desired outcome is not defined. Do you always want 4 blocks, and the first three of them should be equal, and the last should absorb any extra capacity ?
A = randi([-9 9], 35, 1);
nrow = size(A,1);
each = floor(nrow/4);
parts = mat2cell(A, [each, each, each, nrow - 3*each], 1);
[B, C, D, E] = parts{:};
whos
That gives 8, 8, 8, 11.
But perhaps you would instead prefer 9, 9, 9, 8 -- in which the last matrix might be shorter, but the distribution is more even.
omar th
el 1 de Abr. de 2022
Categorías
Más información sobre Univariate Discrete Distributions en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!