Insert number in structure array

3 views (last 30 days)
Chad
Chad on 22 Jun 2023
Edited: Stephen23 on 23 Jun 2023
Dear Forum,
I would like to do a loop and change the number in the following array.
app.Channel2EditField_1.Value = minVal_ch2
Here I want to change the value "1" after each loop. For example,
The next loop it will be
app.Channel2EditField_2.Value = minVal_ch2
Then
app.Channel2EditField_3.Value = minVal_ch2
Any help is appreaciated.

Accepted Answer

Paul
Paul on 22 Jun 2023
Hi Chad,
If possible, consider changing the structure of your data to arrays that can be indexed, instead of field names that contain a character that really seems to be an index.
But if you can't ... then use dynamic field names
minVal_ch2 = 5.3; % example
for ii = 1:3
app.("Channel2EditField_" + string(ii)).Value = minVal_ch2;
end
app
app = struct with fields:
Channel2EditField_1: [1×1 struct] Channel2EditField_2: [1×1 struct] Channel2EditField_3: [1×1 struct]
app.Channel2EditField_2
ans = struct with fields:
Value: 5.3000
  1 Comment
Chad
Chad on 22 Jun 2023
Edited: Stephen23 on 23 Jun 2023
Thank you. This works perfectly.

Sign in to comment.

More Answers (0)

Categories

Find more on Structures 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!