How to extract a structure from a nested structure

5 views (last 30 days)
Hello,
I have a nested structure that look like this:
% Create table
Name = {'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'}.';
Month = [1, 2, 3, 1, 2, 3, 1, 2, 3].';
Lat = [49, 50, 51, 52, 53, 54, 49, 50, 51].';
Lon = [-99, -100, -101, -102, -103, -104, -99, -100, -101,].';
A = [0.1, 0.2 , 0.3, 1.1, 0.9, 1.0, 0.1, 0.2 , 0.3,].';
T = table(Name, Month, Lat, Lon, A);
% Convert to structure
t2 = varfun(@(x){x(:)'},T,'GroupingVariables','Name');
TinStrr = t2(:,[1,3:end]);
TinStrr.Properties.VariableNames = T.Properties.VariableNames;
S_out = table2struct(TinStrr);
How can I extract the first structure (A) as a 1x1 structure ?
Thank you

Accepted Answer

Adam Danz
Adam Danz on 5 Aug 2019
Edited: Adam Danz on 5 Aug 2019
A = S_out(1);
...but if possible, rather than extracting it and using "A", keep the structure array together and just use "S_out(1)". This approach keeps the data more organized and the code more readable.
  2 Comments
Blue
Blue on 5 Aug 2019
Ah. That was simpler than I thought. Thank you.
Adam Danz
Adam Danz on 5 Aug 2019
Glad I could help! Consider keeping the structure array together, though. Structure arrays get really sad when you separate their members.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!