Creating variables in a foor loop using num2str
13 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Mady
am 23 Nov. 2022
Bearbeitet: Stephen23
am 8 Dez. 2022
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 Kommentare
Walter Roberson
am 23 Nov. 2022
Why do you think this is necessary? Why not use a cell array instead?
Akzeptierte Antwort
William Rose
am 23 Nov. 2022
Bearbeitet: William Rose
am 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!