Concatenate cells leaving columns/rows empty
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Miquel
el 7 de Nov. de 2019
Comentada: Miquel
el 7 de Nov. de 2019
If I want to concatenate 2 cells I can use []. For example:
>> a={'lala'};b={'lolo'};c=[a,b]
c =
1×2 cell array
{'lala'} {'lolo'}
However, if I want to leave a column (or row if I'd had concatenated them vertically) empty, I have to create an empty array to "occupy" the space:
>> d=cell(1,1);
>> c=[d,a,b]
c =
1×3 cell array
{0×0 double} {'lala'} {'lolo'}
I have not been able to change the position of a and b without creating the empty cell. Is there a way to choose their position just by indexing? I don't really care what the "empty cell" is.
0 comentarios
Respuesta aceptada
Guillaume
el 7 de Nov. de 2019
Do you mean this:
c = {}; %or better if you know the final size:
%c = cell(1, 3);
c(1, [1 3]) = [a,b]; %put a at column 1 and b at column 3
?
3 comentarios
Guillaume
el 7 de Nov. de 2019
It's a simple assignment using indexing. As long as the left-hand and right-hand side have the same size (or the right-hand side is scalar) it just work.
c(1, [1 3]) is a two-element portion of the destination cell array to which you assign a two-element cell 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!