본문 바로가기

Software/MATLAB

MATLAB GUI에서 사용하는 변수를 Workspace에 저장하기

MATLAB GUI에 대해서 어줍지 않은 실력임에도 불구하고 연재랍시고 올린게 벌써 4년전이네요^^

그때는 참 프로그램 공부하는 것이 재미있었는데요^^. 오랜만에 기억을 되살리며 뭔가 작업을 했네요. 그 중에 또 하나를 알려드릴까 하고 이렇게 간단한 글을 적습니다.^^. 바로 GUI내에서 사용하는 변수를 workspace로 보내는 건데요. GUI도 하나의 function이기 때문에 내부에서 사용한 변수는 MATLAB Workspace에 나타나지 않는데요. 아주 많은 경우에 그렇게 보고싶을 때가 또 있지요^^

첫 번째 방법은 assignin이라는 함수를 위와 같이 이용하는 겁니다. workspace를 지칭하는 말이 'base'구요. workspace에 tmp라는 변수명으로 현재 함수 내에서 사용하고 있는 tmp 변수의 내용을 저장하라는 말이지요. 저 Push Button을 누르면 말이죠. Push Button과 관련된 기초적 내용은 위에서 이야기한 연재를 확인해 주세요^^

그러고 나면 당연하지만 저렇게 workspace에 저장되어 있는 것이 확인 됩니다.

그런데 일반적인 방법은 위 그림처럼 global로 선언하는 겁니다. global로 선언하고 실행하면 되죠. 문제는 저렇게만 하면 workspace에 나타나지 않습니다.ㅠㅠ. 그래서 workspace에 이미 tmp라는 변수가 있어야합니다.

즉 위 그림처럼 GUI가 실행되기 전에 먼저 global로 원하는 변수를 선언해 두어야만 그 내용이 변경되는거죠^^. 사용해보면 두 방법 모두 뭐 장단점이 있습니다. 그냥 오랜만에 MATLAB으로 한 한시간 고민하고 나서 그 고민의 시작이었던 이 내용이 제 블로그에 없길래 살짝 언급합니다.^^

반응형