Is there a way to refer to elements in Matlab App using variables?

5 views (last 30 days)
I have the following section of code, and I wanted to try and shorten it significantly using for loops, but I haven't found a way:
app.Button_1_1.Text = app.images(app.grid(1,1),1);
app.Button_1_2.Text = app.images(app.grid(1,2),1);
app.Button_1_3.Text = app.images(app.grid(1,3),1);
app.Button_2_1.Text = app.images(app.grid(2,1),1);
app.Button_2_2.Text = app.images(app.grid(2,2),1);
app.Button_2_3.Text = app.images(app.grid(2,3),1);
This continues on for around hundred lines to get every button that I'm using. I was thinking of doing something like as follows, but I haven't found anything that works:
for r = 1:3
for c = 1:3
app.Button_r_c.Text = app.images(app.grid(r,c),1);
end
end
Is there a way to do this, or another way to shorten the process? Thanks in advance

Accepted Answer

Voss
Voss on 8 Mar 2024
for r = 1:3
  for c = 1:3
      app.(sprintf('Button_%d_%d',r,c)).Text = app.images(app.grid(r,c),1);
  end
end

More Answers (1)

Walter Roberson
Walter Roberson on 8 Mar 2024
for r = 1 : 3
for c = 1 : 3
app.Button(r,c).Text = app.images(app.grid(r,c),1);
end
end

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!