Access Time Table elements in a struct array

조회 수: 7 (최근 30일)
Katarina Godden
Katarina Godden . 2018년 5월 31일
댓글: Katarina Godden . 2018년 6월 9일
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});
then I convert the resulting table to an array and continue in my endeavors.

답변 (1개)

sloppydisk 2018년 5월 31일
편집: sloppydisk 님. 2018년 5월 31일
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
Katarina Godden
Katarina Godden 2018년 6월 9일
I am dealing with TimeTables in "myField" not an array.

댓글을 달려면 로그인하십시오.


Help CenterFile Exchange에서 Structures에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by