Access Time Table elements in a struct array

4 views (last 30 days)
I have a struct array with 603 elements and 7 fields.
One field contains a time table with 60 variables.
I want to access specific elements in the last row of all 603 time tables, preferably as an array size(603,specificElements) without running a for loop or using getfield.
this is my current code
for k = 1:603
temp(k,:) = getfield(All_Nodes,{k,1},'ProvisionedPlanCount',{17,1:60});
end
then I convert the resulting table to an array and continue in my endeavors.

Answers (1)

sloppydisk
sloppydisk on 31 May 2018
Edited: sloppydisk on 31 May 2018
You could use arrayfun to put the elements you need in cells and then combine them using cell2mat:
a(1:5) = struct('myField', reshape(1:100, 10, 10));
elemCell = cell2mat(arrayfun(@(x) x.myField(end, end-5:end), a, 'UniformOutput', false))

Categories

Find more on Tables in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!