MAT-16 Modeling and Simulation HW
Background
As a team project, construct a simple model of population growth in MATLAB. The model should produce an output table showing population by year as well as a graph summarizing the growth. Use the model to project the population of metropolitan Atlanta, Georgia (in the census this is called the Metropolitan Statistical Area or MSA). The population in that area has been growing exponentially. Between 1960 and 1990 the Atlanta MSA grew at an approximate rate of 2.7% per year. The base
population in 1960 was 1,312,474, as shown in the table below. Your equation will be
where n is the number of years after 1960, i.e. for 1970, n=10. Using a base year is a common practice when fitting, because the raw year is large enough that the percentage change from year to year is small and can cause problems with numerical stability. In this case, n would be -50 for the year 1910.
The values from Wikipedia for decades up until 1990 are:
Atlanta Population
-
Year
|
Decade
|
City
|
MSA
|
1850
|
1
|
2,572
|
|
1860
|
2
|
9,554
|
|
1870
|
3
|
21,789
|
|
1880
|
4
|
37,409
|
|
1890
|
5
|
65,533
|
|
1900
|
6
|
89,872
|
419,375
|
1910
|
7
|
154,839
|
522,442
|
1920
|
8
|
200,616
|
622,283
|
1930
|
9
|
270,366
|
715,391
|
1940
|
10
|
302,288
|
820,579
|
1950
|
11
|
331,314
|
997,666
|
1960
|
12
|
487,455
|
1,312,474
|
1970
|
13
|
496,973
|
1,763,626
|
1980
|
14
|
425,022
|
2,233,324
|
1990
|
15
|
394,017
|
2,959,950
|
In addition to an exponential model, you will also use a polynomial fit. To use MATLAB to create a polynomial curve fit, you can use the command polyfit().
The command:
C = polyfit(x_data,y_data, N)
Will fit the data to an Nth order polynomial with coefficients in the vector C. If you do not use a base year like 1960, you will get a warning message.
For this population data we will fit to a quadratic equation (N=2).
Therefore the equation for the curve fit will be: C(1)x^2 + C(2)x + C(3)
MAT-16 Modeling and Simulation HW
Instructions
Part A: Using the exponential model, create a table showing the projected population for every year from 2000 to 2010. You can find the year 2000 and 2010 populations for the Atlanta MSA from Wikipedia
at: Atlanta Demographics
What does the model predict the year 2000 population to be? What is predicted for 2010? How close do these come to the correct answer? If the Atlanta MSA continues to grow at the same rate, when will the metropolitan population reach 6 million? Discuss the limitations of this type of model for population growth. What types of events can cause drastic changes (up or down) in the rate of growth?
Part B: Load the file Atlanta_data.mat in your MATLAB program with load Atlanta_data.mat.
This dataset has the population data shown in the above table. The dataset has four variables, as follows. The variable MSAdate has the census dates shown above where there is MSA data and the variable MSA has the populations. The variable citydate has the census dates where there is city
data and the variable city has the populations.
Use polyfit()to find a quadratic fit to the data. Use the coefficients from polyfit()to generate a table of projected populations from 2000 to 2010, just as you did for Part A. How do the quadratic fit projections for 2000 and 2010 compare with the exponential fit projections?
Plot the raw data using a * symbol, and the quadratic fit, and exponential fit on the same figure. Title and label appropriately.
Part C: For the city data, also create a quadratic fit and create a graph to include in your report. What does the quadratic fit tell you about the population data? Do you think a quadratic fit is a good choice? In your opinion would using a higher order polynomial help?
Finally
After discussing the results that you’ve found, write and turn in a short team report answering all above questions for Parts A, B, and C. Include all tables and graphs.
Share with your friends: |