Access Time Table elements in a struct array

5 vues (au cours des 30 derniers jours)
Katarina Godden
Katarina Godden le 31 Mai 2018
Commenté : Katarina Godden le 9 Juin 2018
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.

Réponses (1)

sloppydisk
sloppydisk le 31 Mai 2018
Modifié(e) : sloppydisk le 31 Mai 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))
  1 commentaire
Katarina Godden
Katarina Godden le 9 Juin 2018
I am dealing with TimeTables in "myField" not an array.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Tables dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by