Incrementing handles names in a loop

2 visualizaciones (últimos 30 días)
Marcin
Marcin el 31 de Mayo de 2011
Hi, I went through many MATLAB answers and posts, but still can not resolve a simple problem: I have many radiobuttons in my GUI. I want to assign values in an array based on the radiobutton state. I can do it "one by one" but to shorten the code, I would like to make it in a loop. However I can not succeed with incrementing the radiobutton number, as I would do with a simple variable (say A1, A2, A3, etc...). Can somebody help me with the correct syntax? Here is the portion of my code that doesn't work:
for i = 1:20
if (get('handles.radiobutton'num2str(i), 'Value') == 1)
ClassArray(i,2) = 1
elseif (get('handles.radiobutton'num2str(i), 'Value') == 0)
ClassArray(i,2) = 0
end
end
Thanks,
Marcin

Respuesta aceptada

Walter Roberson
Walter Roberson el 31 de Mayo de 2011
for i = 1:20
thishandle = sprintf('radiobutton%d', i);
ClassArray(i,2) = get(handles.(thishandle), 'Value');
end
  1 comentario
Marcin
Marcin el 31 de Mayo de 2011
Thanks a lot!
I was just reading the FAQ you pointed out before...
This resolves my problem.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by