Accesing structure using a function

1 view (last 30 days)
Dear all,
I have a function that needs to treat data coming from a structure, and I want to have several inputs indicating which branch of the structure is the one to be treated:
function total = totalCampus(campus,building,year,var)
total=getfield(campus,(year),(building),(var))
end
This is just the first line of the function, where I want to call the specific column of the table in the structure, using dynamic fieldnames, but I can't manage. Any clue?
best regards,
Mario

Accepted Answer

Adam
Adam on 2 May 2019
total = campus.( building ).( year ).( var );
should work fine, assuming campus is your struct and that is a branch of the struct.
  3 Comments
Stephen23
Stephen23 on 7 May 2019
Edited: Stephen23 on 7 May 2019
"once I type tot=totalCampus(1,a2017,total,PotenciaActivaTotal_kW); it tells me that the function or variable a2017 is undefined "
You are typing those inputs without single quotes, which tells MATLAB that they are variable/function/class/etc. names. You need to use single quotes to define character vectors.

Sign in to comment.

More Answers (0)

Categories

Find more on Structures in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!