how to execute a loop through all the variables in the workspace?
20 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Roberta
am 5 Okt. 2014
Kommentiert: Roberta
am 5 Okt. 2014
Hi all,
Here's my question:
I ha about 300 variables in my workspace, which are named accordingly to the contents (are macroeconomic time series for 20 countries)
for example:
- gdpUK (is the GDP of United Kingdom)
- gdpUS (is the GDP of United States)
- ... (and so on for 20 countries)
- reerUK (is the real effective exchange rate for the United Kingdom)
- reerUS (REER for US)and so on
I would like to standardise these series, i need something that do:
for i= first variable: last variable
i=(i-mean(i))/std(i)
end
how can I do this?
thank you in advance for your help! :)
0 Kommentare
Akzeptierte Antwort
Guillaume
am 5 Okt. 2014
Bearbeitet: Guillaume
am 5 Okt. 2014
It would have been better to store your data in tables or even cell arrays or maps. Anyway:
for cv = who('gdp*')' %transpose to get a row cell array
eval(sprintf('mean%1$s = (%1$s - mean(%1$s)) / std(%1$s);', cv{1})); %1$s is replaced by var name, output is named meanvarname
end
%same with 'reer*'
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical 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!