Accesing structure using a function

1 回表示 (過去 30 日間)
Mario Prinetti
Mario Prinetti 2019 年 5 月 2 日
編集済み: Stephen23 2019 年 5 月 7 日
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

採用された回答

Adam
Adam 2019 年 5 月 2 日
total = campus.( building ).( year ).( var );
should work fine, assuming campus is your struct and that is a branch of the struct.
  3 件のコメント
Adam
Adam 2019 年 5 月 7 日
Is it defined?
Stephen23
Stephen23 2019 年 5 月 7 日
編集済み: Stephen23 2019 年 5 月 7 日
"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.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeStructures についてさらに検索

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by