Creating variables in a foor loop using num2str
18 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi,
title probably says it all. I want to create variables according to the i in the loop. I just don't even know if I can incorporate the function (I've already tried num2str, eval, evalc, sprintf) into variable definition. Below is a non-working code just to illustrate what I mean to do (hopefully). This example is just for 3 different variables but later on, I need to do this for about 60 more variables. I just cannot quite put my hand on the right formulation of the loop.
Thank you for any advices
%%% years_10 = [xvalues, yvalues]... n*2 matrices
years_10=readmatrix('10_years.csv');
years_20=readmatrix('20_years.csv');
years_30=readmatrix('30_years.csv');
for i=10:10:30
years_num2str(i) = readmatrix(sprintf('%d_years.csv',i);
end
2 commentaires
Walter Roberson
le 23 Nov 2022
Why do you think this is necessary? Why not use a cell array instead?
Réponse acceptée
William Rose
le 23 Nov 2022
Modifié(e) : William Rose
le 23 Nov 2022
[edit: change "v" to "s" in my description, to match the code]
N=50;
for i=10:10:N, s.(strcat('a',num2str(i)))=i^2; end
disp(s)
creates a structure s with fields a10, a20, ..., a50. Each one equals a scalar. You could initialize each one to be a vector or array, if you prefer.
5 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!