merge multiple cells in only one

Hi! How can I merge these two cells?
Final results:

3 comentarios

Dyuman Joshi
Dyuman Joshi el 8 de Sept. de 2023
Editada: Dyuman Joshi el 8 de Sept. de 2023
@Alberto Acri, just a note - Posting screenshots of code or data is not helpful.
You should attach the code or data with the question.
Also, mentioning the final output is helpful as well. Make it easy for us to help you solve your problem.
With the given info, the obvious "merging" to me is to convert value1 to a 1x1 cell and vertically concate with value2.
Alberto Acri
Alberto Acri el 8 de Sept. de 2023
Hi @Dyuman Joshi! I've updated my question with file and final result!
Stephen23
Stephen23 el 8 de Sept. de 2023
@Alberto Acri: note that storing scalar strings in cell arrays is very inefficient, and it avoids all of the benefits of using string arrays. You should be using string arrays, just as the documentation recommends:

Iniciar sesión para comentar.

 Respuesta aceptada

Dyuman Joshi
Dyuman Joshi el 8 de Sept. de 2023
As you want the final result to be a 4x1 cell array -
mat1 = load('value1.mat');
value1 = mat1.value1;
mat2 = load('value2.mat');
value2 = mat2.value2;
out1 = vertcat({value1},value2)
out1 = 4×1 cell array
{1×6 cell} {1×6 cell} {1×6 cell} {1×6 cell}
In case you want to store them as 4x6 as well -
out2 = vertcat(value1,vertcat(value2{:}))
out2 = 4×6 cell array
{["54"]} {["55"]} {["56"]} {["57"]} {["58"]} {["59"]} {["60"]} {["61"]} {["62"]} {["63"]} {["64"]} {["65"]} {["66"]} {["67"]} {["68"]} {["69"]} {["70"]} {["71"]} {["72"]} {["73"]} {["74"]} {["75"]} {["76"]} {["77"]}

3 comentarios

Thanks for the help @Dyuman Joshi. I will use 'out1'. May I ask you how to automatically extract and rename the cell contained in 'out1' with the name 'variable_1', 'variable_2',....?
For example, doing it manually, I would like to obtain this:
mat1 = load('value1.mat');
value1 = mat1.value1;
mat2 = load('value2.mat');
value2 = mat2.value2;
out1 = vertcat({value1},value2)
variable_1 = out1{1,1};
variable_2 = out1{2,1};
variable_3 = out1{3,1};
variable_4 = out1{4,1};
Dynamically naming variables is not recommended - Why Variables Should Not Be Named Dynamically.
Store the data in an array and use indexing to access the data -
mat1 = load('value1.mat');
value1 = mat1.value1;
mat2 = load('value2.mat');
value2 = mat2.value2;
out1 = vertcat({value1},value2)
out1 = 4×1 cell array
{1×6 cell} {1×6 cell} {1×6 cell} {1×6 cell}
variable = vertcat(out1{:})
variable = 4×6 cell array
{["54"]} {["55"]} {["56"]} {["57"]} {["58"]} {["59"]} {["60"]} {["61"]} {["62"]} {["63"]} {["64"]} {["65"]} {["66"]} {["67"]} {["68"]} {["69"]} {["70"]} {["71"]} {["72"]} {["73"]} {["74"]} {["75"]} {["76"]} {["77"]}
Here, variable_k will correspond to the kth row of variable.
Alberto Acri
Alberto Acri el 9 de Sept. de 2023
ok!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Versión

R2021b

Preguntada:

el 8 de Sept. de 2023

Comentada:

el 9 de Sept. de 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by