how to execute a loop through all the variables in the workspace?
28 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Guillaume
2014-10-5
编辑:Guillaume
2014-10-5
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*'
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!