Converting a comma separated list into an array concatenates them.
51 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Arya Das
el 19 de Jun. de 2020
I was trying to convert a comma separated list of strings into a normal array. So B0005.cycle is a struct with some fields:

B0005.cycle.type is a comma separated list:

I tried to convert it into an array by doing this: [B0005.cycle.type] but it gives this output:

However I want ["charge", "discharge","charge","discharge",...]. So how do I go about this?
I have attached the mat file below.
0 comentarios
Respuesta aceptada
Captain Karnage
el 29 de Mzo. de 2023
Editada: Stephen23
el 28 de Abr. de 2025
This can also be done in one line (using type for an example):
If you want a horizontal array:
typearr = string({B0005.cycle.type});
If you want a vertical array:
typearr = string({B0005.cycle.type}.');
{} will convert the comma separated list of char to cell array of char
.' will transpose the cell array
string will convert cell arrays of char to arrays of string
0 comentarios
Más respuestas (1)
Atul Upadhyay
el 19 de Jun. de 2020
I can see that you are trying to convert a comma separated list of strings to normal array. You can do it like following.
arr={B0005.cycle.type};
newarr=[];
for x=arr
newarr=[newarr; string(x{1})];
end
Refer to the following documentation to know more about comma-separated lists in MATLAB.
0 comentarios
Ver también
Categorías
Más información sobre Cell Arrays 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!