Accessing structure by its name and looping through it

1 visualización (últimos 30 días)
Eric Christensen
Eric Christensen el 18 de Sept. de 2019
Comentada: Stephen23 el 19 de Sept. de 2019
Hi,
I'm wondering how I can access a structure by its upper level name from a cell array, and loop through it. For example:
Tests = {'Cold Run'
'Warm Run'
'Hot Run'};
for I = 1:length(Tests)
plot(Tests{I}.Time,Tests{I}.Speed);
hold on;
end
Tests{I} is wrong. If it was part of a larger structure, say "Something", then this would work:
Something.(Tests{I}).Time
But what is the proper syntax to do this without an upper structure?
  5 comentarios
Eric Christensen
Eric Christensen el 18 de Sept. de 2019
Ah yes, I overcomplicated it by creating that cell array just to have the names to loop through. That seems to work, thanks.

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 19 de Sept. de 2019
Why not organize the data as a struct array?
Tests(1).Time = data1;
Tests(1).Speed = data2;
Tests(2).Time = data3;
Tests(2).Speed = data4;
Tests(3).Time = data5;
Tests(3).Speed = data6;
The indexing of the different scalar structures Tests(j) is now immediate.

Más respuestas (0)

Categorías

Más información sobre Structures en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by