How can I output variables from a handle function passed as param to a set function?

1 view (last 30 days)
Hello,
I would like to use an output variable generated inside a handle function which is passed as parameter to a set function. I mean, I have a main code (which I haven´t added here so as not to complicate my question). In this main code,I call the function frying_pan_position_keypress(y). Then, when I press the left arrow key, eg, I calculate te variable j, and I would like to pass this variable to the main code.
This is my code:
function j=frying_pan_position_keypress(y)
set(gcf,'KeyPressFcn',{@frying_pan_movement,y});
function j=frying_pan_movement(scr,event,y)
switch event.Character
case 28
j=y-2
case 29
j=y+2
case 30
j=y-10
case 31
j=y+10
end
end
end
Lots of thanks in advance.

Answers (2)

Joseph Cheng
Joseph Cheng on 14 Mar 2014
Edited: Joseph Cheng on 14 Mar 2014
edit: did a quick mockup and maybe easiest way is to just create a global variable? Probably not the Best solution.

Armando  Perez
Armando Perez on 16 Mar 2014
First of all, I would like to thank you for being so fast at the time to answer my question.
I have already tried to create ''j'' as global variable but it doesn´t work. The ''j'' outside and the ''j'' inside the handle function is a different variable. What I think I need is to be able to get j as an ouput from function set which is the link between the funcion and the handle function.
I have read that help in stackoverflow before but it is only explained how to use and create keyboard interruptions and its handle functions. And it doesn´t explain how to get a variable outside it to be able to use it in a main program.
I'm going to keep in it but any help will be very useful.

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!