Accesing structure using a function

1 Ansicht (letzte 30 Tage)
Mario Prinetti
Mario Prinetti am 2 Mai 2019
Bearbeitet: Stephen23 am 7 Mai 2019
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

Akzeptierte Antwort

Adam
Adam am 2 Mai 2019
total = campus.( building ).( year ).( var );
should work fine, assuming campus is your struct and that is a branch of the struct.
  3 Kommentare
Adam
Adam am 7 Mai 2019
Is it defined?
Stephen23
Stephen23 am 7 Mai 2019
Bearbeitet: Stephen23 am 7 Mai 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by