How to loop through variable names and to save them on one file?
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi, I have written this loop which works fine, however I want to perform this for certain variables in the data_measured csv file. Currently, this loop performs well for the WD__Avr variable. Hence, I would like to define the variable = x before the loop and just replace it with "t.'variable" within the loop. Any suggestion?
Thanks for your help!
for i = 1:height(unique(data_timesteps.Date))
ind_dt = find(data_timesteps.Date == dates(i));
t = table(data_timesteps.Time(ind_dt), zeros(sum(data_timesteps.Date == dates(i)),1));
header={'Time','WD_Avr'};
t.Properties.VariableNames = header;
for j = 1:(sum(data_timesteps.Date == dates(i)))
if j == 1
ind_time = find(data_measured.Time <= data_timesteps.Time(j) & data_measured.Date == dates(i));
ind_time = ind_time(end-10+1:end);
x = mean(data_measured.WD__Avr(ind_time));
t.WD_Avr(j) = x;
data_timesteps.WD(ind_dt) = t.WD_Avr;
else
ind_time = find(data_measured.Time <= data_timesteps.Time(j) & data_measured.Time > data_timesteps.Time(j-1) & data_measured.Date == dates(i));
x = mean(data_measured.WD__Avr(ind_time));
t.WD_Avr(j) = x;
data_timesteps.WD(ind_dt) = t.WD_Avr;
end
end
end
2 Commenti
Risposta accettata
Jeff Miller
il 5 Ago 2021
You can use strings for variable names like this:
a = 'WD__Avr';
for....
[...]
x = mean(data_measured.(a)(ind_time)); % note parentheses around 'a'
[...]
...end
You might make a cell array with the different strings you want for 'a' and then loop through assigned each one to 'a' to process the different variables.
Più risposte (1)
Sulaymon Eshkabilov
il 4 Ago 2021
It looks that will require another loop outside the main loop, something like this one, e.g.:
for i = 1:height(unique(data_timesteps.Date))
ind_dt = find(data_timesteps.Date == dates(i));
x.Time(i) = data_timesteps.Time(ind_dt);
end
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!