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

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.

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

 채택된 답변

Ilham Hardy
Ilham Hardy 2016년 1월 13일
Did you also define the workspace location?
e.g.
assignin('base','your_variable_name',your_variable_value);

댓글 수: 4

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.
Mus'ab Ahmad
Mus'ab Ahmad 2016년 1월 13일
편집: Mus'ab Ahmad 2016년 1월 13일
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.

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Workspace Variables and MAT Files에 대해 자세히 알아보기

질문:

2016년 1월 13일

댓글:

2016년 1월 13일

Community Treasure Hunt

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

Start Hunting!

Translated by