Traverse a nested for loop with strings as one index and int as another.

2 views (last 30 days)
I have a list of 10 countries, and I have extracted the GDP, Population, CO2 emissions, and year vectors for each. I would like to calculate the CO2 emissions per capita over the GDP per capita. To do so, I need a for loop. Rather than writing 10 for loops, I am trying to use one nested for loop, changing the name of the country each time. The problem is, I can't convert the String to the vector.
For example, I have US_GDP and US_Populationas a vector name, but trying
GDP = countryName + "_GDP"
Population = countryName + "_Population"
GDPperCapita = GDP(index) / Population(index)
just results in trying to divide a string by a string. Any tips, or should I just write the 10 for loops separately.

Answers (2)

Cris LaPierre
Cris LaPierre on 23 Oct 2019
Edited: Cris LaPierre on 23 Oct 2019
When working with strings, the "+" is used for concatenation. Your result, then, is strings, not variables.
It depends what your data looks like but I would pursue looking into using a table.

congly vaness
congly vaness on 23 Oct 2019
I thinks so! When working with strings, the "+" is used for concatenation. Your result, then, is strings, not variables.

Categories

Find more on Characters and Strings in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!