How can I pass variable from GUI to matlab workspace?
Mostrar comentarios más antiguos
The global function is nice, for example:
(in GUI):
global y
y=5;
and then in matlab command window i type global y and it is done.
The way I want to do it is that y is automatticaly printed in workspace without me typing global y in command window. Can it be done?
Thanks.
5 comentarios
Rather than using awful and buggy global variables, or buggy and slow assignin, you should use the approaches given in the MATLAB documentation, which describes efficient ways of passing data between callback functions:
Yoni Sher
el 26 de Dic. de 2017
Hi, I for one need the variable in global space so I can access it from the command window, so your answer (as well as being slightly rude) is not helpful - what you answered simply isn't the question that was asked.
@Yoni: Global variables are known to cause more troubles then they solve. Therefore experienced programmers consider them as a bad programming practice. Of course your can write a program such that accessing global variables in the base workspace is needed. But then the best solution in a long term view is to change the programming style. Therefore Stephen's answer is really helpful, maybe more than you are aware of currently.
Stephen's words "awful", "buggy" and "slow" concern the global variables and not the asking person. Therefore he is not rude at all. Maybe it helps you to understand Stephen's intention if you take into account, that this topic has discussed hundreds of times already.
Nafiz Farhan
el 7 de Feb. de 2018
In this link, could you please point a little bit more, where should I look at, because this is a long article and I still cannot find a way to pass GUI input data to workspace.
Jan
el 7 de Feb. de 2018
@Nafiz: I do never create variables remotely in another workspace. I consider this as too confusing and prone to bugs. But if you have a really good reason to do this, it is easy:
assignin('base', 'V', data)
Now the variable V is created in the base workspace (accessible in the command window) and set to the value data.
The linked article concerns another problem: Sharing data between callbacks. Then using the base workspace is a bad idea, because it is much better to store the data inside the figure, in the UserData or ApplicationData, e.g. using setappdata or guidata.
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Whos en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!