"Kronecker" of varying dimensions?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
MRC
el 27 de Nov. de 2013
Editada: Azzi Abdelmalek
el 27 de Nov. de 2013
Hi, I have a matrix A of dimension m x n and a vector b of natural numbers with dimension m x 1. I want to obtain a matrix C of dimension (b(1)+...+b(m)) x n by vertically stacking each A(i,:) b(i) times. For example:
A=[1 2 3; 4 5 6; 7 8 9];
b=[2; 1; 4];
I want to obtain
C=[1 2 3; 1 2 3; 4 5 6; 7 8 9; 7 8 9; 7 8 9; 7 8 9];
I cannot use loops.
0 comentarios
Respuesta aceptada
Azzi Abdelmalek
el 27 de Nov. de 2013
Editada: Azzi Abdelmalek
el 27 de Nov. de 2013
A=[1 2 3; 4 5 6; 7 8 9]
b=[2; 1; 4]
out=cell2mat(arrayfun(@(x) repmat(A(x,:),b(x),1),(1:size(A,1))','un',0))
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Creating and Concatenating 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!