Variables become undefined although they are saved in Workspace

I read XML file using GUI pushbutton, extract some data, and do some manipulations for them. The thing is although I save the required variables to workspace (using assignin), I can't use them outside the pushbutton callback function for further manipulation because matlab tells me 'undefined variables'! any suggestions? Thanks

6 Comments

It would help if you show some code. I never use assignin as it is generally a very bad idea and a situation I have never found any need for, but in theory it should do what you say, in practice it depends on your actual code.
I attached the whole callback function, none of the variables you see inside the function is working outside it! I thought using assignin would help, but still having the same error.
You haven't attached anything yet so far as I can see.
Don't know if you can find the attachement
You need to make sure you click 'Attach File' after clicking the paper clip and choosing your file. A lot of people (including myself sometimes) miss that and think it is attached just through choosing the file under the paperclip.

Sign in to comment.

 Accepted Answer

Did you also define the workspace location?
e.g.
assignin('base','your_variable_name',your_variable_value);

4 Comments

Yes I did, and can see the value in the workspace, that's why I wonder why I can't use it anywhere in the code
I assume by "use it anywhere", means anywhere else in your GUI (another callback)?
GUI has its own workspace. When you call the variable from your callback, it only search on its local workspace. You need to re-define your variable before you can call it.
e.g.
Let myvar become your base workspace variable. Before you can use myvar in your callback use:
myvar = evalin('base','myvar');
The above code will assign myvar from the base workspace, to local workspace variable, myvar.
Yes this what I meant; using it in another callback. It works now, thanks a lot.
If you just want to share data between callbacks then you shouldn't go through the base workspace at all, but I guess it works for you for now.

Sign in to comment.

More Answers (0)

Asked:

on 13 Jan 2016

Commented:

on 13 Jan 2016

Community Treasure Hunt

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

Start Hunting!