How to use a same variable to functions in Gui?

I have used the Gui to build the a programm. I would like when the user to click on menu item A, a number is stored in a variable. When the user click on menu item B, another number is stored in the same variable.
I want to use this variable in other function, in a loop. So, I'm trying that. Since now, I thank you for attention.

2 Comments

Are you sure you want to click on menu item ? OR you want to say push button of GUI?

Sign in to comment.

 Accepted Answer

I got to solve that problem. I used the function "assignin()" to store a variable and its value. To acess that variable, I use "evalin"

3 Comments

Stephen23
Stephen23 on 24 Oct 2018
Edited: Stephen23 on 24 Oct 2018
Magically accessing variables in other workspaces is one way that beginners write slow, complex, buggy code. It is much more reliable and more efficient to pass variables properly as input/output arguments, to use guidata, to use setappdata and getappdata, or to use nested functions:
Thanks Stephen. But, do you know a way to transfer the datas without use the workspace? And, How I can clear the workspace after I use the programm?
Stephen23
Stephen23 on 30 Oct 2018
Edited: Stephen23 on 30 Oct 2018
@Daniel Fonsêca: you change your approach to writing GUI's.
A much better approach is to pass the data to a GUI when it is called, process the data entirely within the GUI workspaces, and then return the data when the GUI closes (the waitfor command is critical here). A lot of well written code loads, processes data, and saves all without touching the base workspace at all.
See this for a simple example of passing data into and back from a GUI:
Clearing a workspace is rarely required in well written code: functions, which have independent workspaces, have their memory usage managed automatically by MATLAB.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!