How to store multiple outputs of a structure into a character array using logical indexing.
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Sid Dasgupta
el 9 de Jun. de 2023
Comentada: Sid Dasgupta
el 12 de Jun. de 2023
Hello all,
Im new to Matlab and using structure, char and string arrays. Was hoping for some help on the below.
If I have a structure with different names as below, and if I have a logical array to weed out names containing FLUID, my logical array looks like log=[1;0;1;1;0]
Using the command F(log).name in the command line Yields the below output.showing all 3 names. However, if Id like to store all 3 values into a strucuture, or character/string array. Using X=F(log).name, just assings the first value 'Fluid 1'.
How could I dynamically assign all 3 values to another structure or string array?
Command Line
ans =
'Fluid1'
ans =
'Fluid2'
ans =
'Fluid3'
F(1).name='Fluid1' F(2).name='Solid1' F(3).name='Fluid2' F(4).name='Fluid3' F(5).name='Solid2'
0 comentarios
Respuesta aceptada
Stephen23
el 9 de Jun. de 2023
Editada: Stephen23
el 9 de Jun. de 2023
F(1).name='Fluid1';
F(2).name='Solid1';
F(3).name='Fluid2';
F(4).name='Fluid3';
F(5).name='Solid2';
L = logical([1;0;1;1;0]); % do NOT use LOG as a variable name
To a cell array, and then to a string array:
C = {F(L).name}
S = string(C)
To another structure, with a different fieldname:
D = struct('X',cell(1,3));
[D.X] = F(L).name
D.X % check the content
Más respuestas (0)
Ver también
Categorías
Más información sobre Structures 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!