Problem with Undefined variable or class

12 views (last 30 days)
Matlab can't see defined struct variable. And I inform you that i had connection with Robot in that time. I apologize for so many posts from me i'm not that good at programming. P1 = rpoint(kwadrat_zolty.Centroid_x*kalibracja,kwadrat_zolty.Centroid_y*kalibracja,-15.600,0,0,0,'signal',[9,-10],'pulse',[1 0.5],'wait',5); % pobranie
If someone don't know what is rpoint I wrote about it here: https://www.mathworks.com/matlabcentral/answers/378570-how-to-get-data-values-from-struct-and-save-it-in-struct?s_tid=prof_contriblnk

Accepted Answer

Guillaume
Guillaume on 26 Jan 2018
The variable exists in your workspace, but the error is telling you that in the callback function it does not exist. Functions have their own workspace and if you don't pass them the variables explicitly they can't access them.
Without seeing the callback code and the line where you call that callback it's difficult to tell you how to fix it.
  2 Comments
Damian
Damian on 26 Jan 2018
Edited: Damian on 26 Jan 2018
Ok i repaired it. I had to use one more time
evalin('base',' ');
for my "invisible" missing structure to this callback button. Thanks.
Stephen23
Stephen23 on 29 Jan 2018
Rather than using inefficient and buggy methods of passing data between callbacks and workspaces (e.g. evalin and assignin), you would be much better off using better (simpler, more efficient, easier to debug) methods, such as guidata or nested functions. Read more in the MATLAB documentation:
And also read why magically throwing data into other workspaces (e.g. evalin or assignin) is not recommended (unless you want to write slow, buggy, complex code that is hard to debug):

Sign in to comment.

More Answers (0)

Categories

Find more on Structures in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!