Automatically create variations of the same variable?

I have this code. At the moment there are only three check boxes giving the option for Type 1, 2 and 3. Multiple can be selected at once.
% mat(1 through to 3) = zeros(4,16);
if app.chkType1.Value == 1
mat1 = xlsread('Matrices.xlsx','C3:R6');
end
if app.chkType2.Value == 1
mat2 = xlsread('Matrices.xlsx','C9:R12');
end
if app.chkType3.Value == 1
mat3 = xlsread('Matrices.xlsx','C15:R18');
end
% sum mat(1 through to 3)
How can I write this, so that it automatically assigns numbers to the mat title?
i.e, I could maunually write out:
mat1 = zeros(4,16);
mat2 = zeros(4,16);
mat3 = zeros(4,16);
How can I write this in a single line, such that if I had 100 check boxes rather than 3, I would not have to write out 100 lines of zeros?
Thank you

 Réponse acceptée

Walter Roberson
Walter Roberson le 7 Avr 2020

1 vote

Do not use separate variables. use a cell array. You can have a table of range entries and loop through a list of check boxes, pulling out the range and xlsread() and assign into the cell array

1 commentaire

Thank you, I have managed to achieve it through using cell arrays

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by