Refer to field of a struct using input variable

조회 수: 1 (최근 30일)
Ali Ghader
Ali Ghader 2018년 4월 19일
댓글: Ali Ghader 2018년 4월 19일

Hello everyone,

Is there a way in matlab to refer to a field of a struct or (any variable) using an input variable ?

Consider I have to functions: Main and Change_Color; and there is a variable app.LampVS.Color that I want to set its value using Change_Color, is there a way to refer to LampVS using a handle for example :

  • Please not that the variable app can be accessed by both functions
 function main(app)
            Change_Lamp(app,'LampVS','green');
 end
 function Change_Lamp(app,Lamp,Color)
            switch Color
                case 'red'
                    Color_Matrix = [1.00 0.00 0.00];
                case 'green'
                    Color_Matrix = [0.04 1.00 0.04];
                case 'orange'
                    Color_Matrix = [1.00 0.65 0.00];
            end
            app. *(@Lamp)?*.Color = Color_Matrix;
   end

채택된 답변

Walter Roberson
Walter Roberson 2018년 4월 19일
app.(Color).Color = Color_Matrix;
  댓글 수: 2
Guillaume
Guillaume 2018년 4월 19일
This should of course read
app.(Lamp).Color = Color_Matrix;
Ali Ghader
Ali Ghader 2018년 4월 19일
OMG! XD I searched for half an hour about that and all it needed were two parentheses. Thanks a lot

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Environment and Settings에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by