Hello,
When running a GUI program I cannot get the variables used in the GUI to show up on my workspace. Is there a reson for this?

 채택된 답변

Sean de Wolski
Sean de Wolski 2011년 9월 8일

0 개 추천

Those variables are in their own workspace. Use assignin to get them to the base if you need them there:
doc assignin
or less dangerously you could set them to application data using setappdata and then have a function that you call from the command line that retrieves them from application data ( getappdata) so that you lower the risk of overwriting important other variables.
doc setappdata
doc getappdata

댓글 수: 1

Using the function assignin:
The 1st parameter (par1) is the workspace where you want to load this variable. Normally 'base' to the base workspace.
The 2nd parameter (par2) is the name you want to give to this variable in the workspace.
The 3rd, is the variable in your original name (which already contain some value inside).
I hope this help you!
assignin('par1','par2',variable);

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

추가 답변 (2개)

Jan
Jan 2011년 9월 8일

0 개 추천

Yes, there is a very good reason: If you open mutliple instances of your GUI and some other GUIs in addition, your base workspace would be poluted by a lot of variables and it would be rather impossible to debug, who is responsible for the current values.
It is much safer and cleaner to keep all variables in a well defined location apart from the global workspace.
William
William 2011년 9월 8일

0 개 추천

In this GUI I am bringing in a large .mat file with a number of variables and exporting a chosen few of them to .csv files The files wouldn't convert over because it could not find the actual files. It worked a month ago but when I revisited it today it bombed.

카테고리

도움말 센터File Exchange에서 Scope Variables and Generate Names에 대해 자세히 알아보기

태그

질문:

2011년 9월 8일

댓글:

2020년 6월 5일

Community Treasure Hunt

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

Start Hunting!

Translated by