Accessing value of toggle button in GUIDE

I made a GUI in GUIDE, and ran into what seems like a simple issue, but I can't figure out what I'm overlooking.
I have an "execute" push button, which when pressed, checks the state of a "frequency plot" toggle button. If "frequency plot" button is active, a function to plot some data runs.
Inside the plotting function, I have:
if get(handles.toggle1,'Value')==1
fdata{1,1}=...
fdata{1,2}=...
end
I do this because the data can be used for different plots, and might not necessarily be used in this case. This is controlled by a toggle button. If the button is active, I add the data to a cell which is plotted.
I get the error: ??? Undefined variable "handles" or class "handles.toggle1".
I can't figure out why. I use this same line with set elsewhere in the program (not this function) and it access it fine.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 2 de Nov. de 2011

0 votos

Is handles being passed in to the plotting function?
Is the toggle button being created dynamically, or was it created statically and is part of your stored .fig file ?

3 comentarios

Jared
Jared el 2 de Nov. de 2011
All toggle buttons are static and were created in GUIDE.
I'll try to explain it better. I have 2 toggle buttons "Frequency" and "File 1", and 1 push button "Execute".
On pressing of "Execute", I check the state of "Frequency" toggle by only using:
if get(handles.togglefplot,'Value')==1;
fplot
end
When "Frequency" is active, and I press "Execute", it jumps to my fplot function. Inside fplot, I try to check if "File 1" is active with the same code as above. However, I get that error. As far as I can see, I did nothing different that when I checked the state of "Frequency".
Fangjun Jiang
Fangjun Jiang el 2 de Nov. de 2011
Is fplot.m a M-function or a M-script. If it is a M-function, you have to pass handles to your function fplot(). Right now, fplot() doesn't seem to have any input argument.
Walter Roberson
Walter Roberson el 2 de Nov. de 2011
You are not passing handles to fplot. Redefine you fplot to accept handles as a parameter:
function fplot(handles)
instead of your current
function fplot
and invoke it in the Execute callback with
fplot(handles)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Interactive Control and Callbacks en Centro de ayuda y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by