Callback function
14 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi all,
I am trying to implement a piece of code (a function) into my script. The original code comes from a function. Running my script gives me the following error:
Error: Function definitions are not permitted in this context.
So I put a function declaration in a script, which is causing the error.
I tried putting the function in a seperate function file, but the function needs some variables that are used in the script. So provide the functions with some in- and output variables. But that's the part I am stuck. The functions is called by a callback, and I can't seem to add variables to it. Here is the piece of code which calls the function:
htimes1 = uicontrol( 'Style', 'pushbutton', 'String', '* ', 'Callback', {@bpmaall_Callback});
The function associated with this callback is:
function bpmaall_Callback(source, eventdata)
assenbp=ylim;
assenfft=xlim;
deltaxas1=0.05*assenbporg;
ynewbp= assenbp(2)-deltaxas1;
plot(frequency(1:80),fftsysbp(1:80),'r')
axis([0 assenfft(2) 0 ynewbp])
end
Does someone know a way to avoid this problem?
The piece of code is used to change the y-axis when a button is pressed. Any help is welcome.
- Sven
0 Commenti
Risposta accettata
Malcolm Lidierth
il 14 Dic 2011
You need
... 'Callback', {@bpmaall_Callback,x,y,uv});%no ()
0 Commenti
Più risposte (2)
Sean de Wolski
il 14 Dic 2011
Pass in the additional input arguments to the function:
function bpmaall_Callback(source, eventdata,x,y,uv)
Fangjun Jiang
il 14 Dic 2011
I believe you should use either of this:
htimes1 = uicontrol( ..., 'Callback', @bpmaall_Callback)
htimes1 = uicontrol( ..., 'Callback', 'bpmaall_Callback')
0 Commenti
Vedere anche
Categorie
Scopri di più su Interactive Control and Callbacks in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!