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 CenterFile Exchange에서 Structures에 대해 자세히 알아보기

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by