variables are not saved in workspace after function.

function = demo()
figure('WindowButtonDownFcn',@callBack)
function callBack(hObject,~)
mousePos=get(hObject,'CurrentPoint');
x = mousePos(1)
y = mousePos(2)
So when I am lunching the function x and y are ploting in 'Command Window', but they aren,t saved in workspace.
pleas Help!!!

Antworten (4)

Stephen23
Stephen23 am 4 Jun. 2019
You need to explicitly pass those variables between workspaces, exactly as the MATLAB documentation describes:
Avoid using global and assignin. If you are sensibly writing your own GUI code then I recommend that you use nested functions for passing data between callbacks, because these are simple and intuitive:
function [x,y] = demo()
x = [];
y = [];
fgh = figure('WindowButtonDownFcn',@callBack)
waitfor(fgh)
function callBack(hObject,~)
mousePos=get(hObject,'CurrentPoint');
x = mousePos(1)
y = mousePos(2)
end
end
luka gvichiani
luka gvichiani am 6 Jun. 2019

0 Stimmen

thank u but when I run this function only x is saveing as 'ans'

5 Kommentare

yes i know but when I run that I get only x as 'ans'
ans is only ever one variable. ans is only updated when you do a calculation but do not assign the results to a location. The only way you could get ans out of that is if you did not follow my instructions -- if you ran the code as just
demo
or if you clicked the green run button. You need to go down to the command window and type in
[x, y] = demo();
Thank you ,that realy helped.
<3<3 :)
@luka gvichiani: please remember to accept my answer!

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Develop Apps Using App Designer finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 3 Jun. 2019

Kommentiert:

am 7 Jun. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by