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!!!

Respuestas (4)

Stephen23
Stephen23 el 4 de Jun. de 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 el 6 de Jun. de 2019
thank u but when I run this function only x is saveing as 'ans'

5 comentarios

[x, y] = demo();
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 :)
Stephen23
Stephen23 el 7 de Jun. de 2019
@luka gvichiani: please remember to accept my answer!

Iniciar sesión para comentar.

Categorías

Más información sobre Develop Apps Using App Designer en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 3 de Jun. de 2019

Comentada:

el 7 de Jun. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by