Concatenating cell arrays with a different number of columns
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sumara
el 13 de Jun. de 2019
Comentada: Guillaume
el 16 de Mzo. de 2020
I have a 64x1 cell array that looks like this, I would like to vertically concatenate the cells in this array, and pad the rows with less columns with zeros
0 comentarios
Respuesta aceptada
Guillaume
el 13 de Jun. de 2019
Editada: Guillaume
el 13 de Jun. de 2019
maxcols = max(cellfun('size', NonC_tRNAs, 2)); %get the number of columns of the widest array
padded = cellfun(@(m) [m, zeros(size(m, 1), maxcols - size(m, 2))], NonC_tRNAs, 'UniformOutput', false); %pad each array
NonC_tRNAs_Reference = vertcat(padded{:})
7 comentarios
mmfjerstad
el 16 de Mzo. de 2020
Sorry if this is a dumb question, but what is "m" in this instance?
padded = cellfun(@(m) [m, zeros(size(m, 1), maxcols - size(m, 2))], NonC_tRNAs, 'UniformOutput', false); %pad each array
Guillaume
el 16 de Mzo. de 2020
" what is "m" in this instance?"
An arbitrary name for the input variable of the anonymous function called by cellfun. It will be in turn each element of the same array.
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!