Some Growth ModelsMath 226 - Fall 2006
Save this file with name YourNameLab3 by selecting File->Save As Worksheet...Put your name(s) hereIMPORTANT: Please read the material in this lab. You are asked questions that get at your understanding of the material contained in it. Also, you should execute commands you see. These generally appears in blocks headed by the statement "please execute the following commands."If you leave the lab and come back to it, you will need to re-execute the commands in order as they appear in the lab. Maple forgets definitions of functions and expressions after you quit and come back.Good luck. Please e-mail me if you have questions. When your lab is complete, please close all the groupings and drop a copy of the lab in the my drop box.In nature it is often the case that the size of a population can be estimated using certain mathematical models. In this lab, you will be investigating several different models arising from assumptions on the way populations grow.A Simple ModelSomething you may have notived over your lifetime is the incredible growth of the human population. When most of you were young, world population stood somewhere around 5 billion. Now consider that there are an estimated 6.5 billion humans. (see figures at http://www.census.gov/ipc/www/worldpop.html).How can we explain, with a simple model, this explosion in the world population? One possibility is that when population is larger, there are more chances for offspring to be produced. That is, there are more children produced by a larger population than by a smaller one. It seems reasonable then to make an assumption about the way human population grows. Let's say that the rate of increase in the human population is directly proportional to the size of the human population. With P(t) representing the population of humas t years after 1950, we can write the equationLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNitGKy1JJm1mcmFjR0YkNigtSSNtb0dGJDYwUTAmRGlmZmVyZW50aWFsRDtGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkIvJSlzdHJldGNoeUdGQi8lKnN5bW1ldHJpY0dGQi8lKGxhcmdlb3BHRkIvJS5tb3ZhYmxlbGltaXRzR0ZCLyUnYWNjZW50R0ZCLyUlZm9ybUdRJ3ByZWZpeEYnLyUnbHNwYWNlR1EkMGVtRicvJSdyc3BhY2VHRlQvJShtaW5zaXplR1EiMUYnLyUobWF4c2l6ZUdRKWluZmluaXR5RictRiM2KEYrRjotSSdtc3BhY2VHRiQ2Ji8lJ2hlaWdodEdRJjAuMGV4RicvJSZ3aWR0aEdRJjAuMmVtRicvJSZkZXB0aEdGXm8vJSpsaW5lYnJlYWtHUSVhdXRvRidGKy1GLDYlUSJ0RidGL0YyRisvJS5saW5ldGhpY2tuZXNzR1EiMUYnLyUrZGVub21hbGlnbkdRJ2NlbnRlckYnLyUpbnVtYWxpZ25HRl9wLyUpYmV2ZWxsZWRHRkItRjs2MFEwJkFwcGx5RnVuY3Rpb247RidGPkZARkNGRUZHRklGS0ZNL0ZQUSZpbmZpeEYnRlJGVUZXRlotRmpuNiZGXG8vRmBvUSYwLjRlbUYnRmJvRmRvRistRiM2JS1GLDYlUSJQRidGL0YyRmRwLUkobWZlbmNlZEdGJDYkLUYjNiNGZ29GPi1GOzYwUSI9RidGPkZARkNGRUZHRklGS0ZNRmdwL0ZTUS90aGlja21hdGhzcGFjZUYnL0ZWRltyRldGWi1GIzYlLUYsNiVRI2tQRidGL0YyRmRwRmJxRitGKw==Assuming this differential equation governs population and its growth, our goal is to find the function P. Do you know of any functions that have this property (that their derivative is a constant multiple of themselves)?PreliminariesWe will test whether an exponential function satisfies the differential equation.
Please execute the following commands:P := t->lambda*exp(k*t);Diff(P(t),t)=diff(P(t),t);is(diff(P(t),t)=k*P(t));It appears that we have found a function that satisfies the differential equation.k and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JlEpJmxhbWJkYTtGJy8lJ2l0YWxpY0dRJmZhbHNlRicvJSxtYXRodmFyaWFudEdRJWJvbGRGJy8lK2ZvbnR3ZWlnaHRHRjQ=We were able to find a general formula for P(t) without knowing a thing about the size of the population at any given time. In fact, all we said was something about growth being proportional to size. We have not yet specified the constant of proportionality.Here is where k and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEpJmxhbWJkYTtGJy8lJ2l0YWxpY0dRJmZhbHNlRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLUkjbW9HRiQ2MFExJkludmlzaWJsZVRpbWVzO0YnRjIvJSZmZW5jZUdGMS8lKnNlcGFyYXRvckdGMS8lKXN0cmV0Y2h5R0YxLyUqc3ltbWV0cmljR0YxLyUobGFyZ2VvcEdGMS8lLm1vdmFibGVsaW1pdHNHRjEvJSdhY2NlbnRHRjEvJSVmb3JtR1EmaW5maXhGJy8lJ2xzcGFjZUdRL3RoaWNrbWF0aHNwYWNlRicvJSdyc3BhY2VHRkwvJShtaW5zaXplR1EiMUYnLyUobWF4c2l6ZUdRKWluZmluaXR5Ric=come in. Look at P(0). Execute the following command - You must have first executed the commands in the Preliminaries section.LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUknbXNwYWNlR0YkNiYvJSdoZWlnaHRHUSYwLjBleEYnLyUmd2lkdGhHUSYwLjBlbUYnLyUmZGVwdGhHRjovJSpsaW5lYnJlYWtHUShuZXdsaW5lRidGKy1GIzYlLUYsNiVRIlBGJ0YvRjItSSNtb0dGJDYwUTAmQXBwbHlGdW5jdGlvbjtGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRlAvJSlzdHJldGNoeUdGUC8lKnN5bW1ldHJpY0dGUC8lKGxhcmdlb3BHRlAvJS5tb3ZhYmxlbGltaXRzR0ZQLyUnYWNjZW50R0ZQLyUlZm9ybUdRJmluZml4RicvJSdsc3BhY2VHUSQwZW1GJy8lJ3JzcGFjZUdGXG8vJShtaW5zaXplR1EiMUYnLyUobWF4c2l6ZUdRKWluZmluaXR5RictSShtZmVuY2VkR0YkNiQtRiM2Iy1JI21uR0YkNiRRIjBGJ0ZMRkxGKw==P(0);print();QUESTIONS (please answer these)1) What does P(0) represent?2) What does this tell you about LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEpJmxhbWJkYTtGJy8lJ2l0YWxpY0dRJmZhbHNlRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYn?k is a little harder to get a handle on. Since k is the constant of proportionality between growth of population and size of population, perhaps if we knew the size of the population at some different times, we could find k. The population in 1950 was approximately 2.557 billion. In 2004, the population was 6.377 billion.
This tells us P(0)=2.557 and P(54)=6.337. Use this information to find k. To do this, we first set LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEpJmxhbWJkYTtGJy8lJ2l0YWxpY0dRJmZhbHNlRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYn to its value. Then we solve an appropriate equation for k. Finally, we assign k its new value.Execute the following commands.solve([P(0) = 2.557, P(54) = 6.337], [lambda, k]);assign(%);P(t);LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnHow good is P(t)?Now that we have a function that models population, let's see what this function predicts about the human population in various years.QUESTIONS1) Use P(t) to estimate the population in 1960, 1970, 2000. Here, you should enter and execute some maple commands to answer the question. For 1960, I would execute P(10)LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0Yn2) How do our estimates compare with the actual population in these years? (go to the link mentioned in the top paragraph)Use P(t) to estimate the population in 2050, 2100, 2500. What do these estimates suggest about world population?LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLet's examine how well our model fits with real-world data. We know that it will be exact in 1950 and 2004. What about for the other years? Below is a comparison of estimated world populations (in billions of people) every 5 years with predictions from our model.Execute the following commands.Years := [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55]:Population := [2.557, 2.781, 3.041, 3.347, 3.709, 4.086, 4.453, 4.852, 5.283, 5.694, 6.082, 6.451]:Predicted := map(proc (t) options operator, arrow; P(5*t) end proc, [`$`(0 .. 11)]):Difference := Population-Predicted:PopData := zip(proc (x, y) options operator, arrow; [x, y] end proc, Years, Population):plot([P(x), PopData], x = 0 .. 55, style = ([line, point]), color = ([black, red]));Comment on what you see in the graph.A Better Model?Our earlier model is ok, but not perfect. Perhaps we can do better. One way to proceed is to use what is called the least squares best fitting exponential model for our data. Execute the following commandswith(stats, fit); LogPop := map(log, Population); LeastSqLog := (fit[leastsquare[[x, Y], Y = A+b*x, {b, A}]])([Years, LogPop]):LeastSquare := subs({Y = log(y)}, LeastSqLog); ExpFitSol := expand(solve(LeastSquare, y)); BestFitExp := unapply(ExpFitSol, x);We can again, examine a graph of the new functionsplot([BestFitExp(x), PopData], x = 0 .. 55, style = ([line, point]), color = ([black, red]));Comment on the similarities and differences in this model (from the graph) with our earlier model. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnA More Sophisticated ModelWe know that at long as we are stuck on Earth, the human population cannot grow indefinitely. The Earth can only sustain a limited number of humans. This number is called the carrying capacity. To improve our model, we should take this into account.Let's assume the Earth can sustain 10 billion humans. If there were more than 10 billion humans, limitations on food and resources would contract the population back towards the 10 billion level. Hoe can we work this into our mathematical model for population size? One standard approach is to assume that the population growth is proportional to the product of the current population with the room to grow. That isLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYtLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkmbWZyYWNHRiQ2KC1JI21vR0YkNjBRMCZEaWZmZXJlbnRpYWxEO0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGQC8lKXN0cmV0Y2h5R0ZALyUqc3ltbWV0cmljR0ZALyUobGFyZ2VvcEdGQC8lLm1vdmFibGVsaW1pdHNHRkAvJSdhY2NlbnRHRkAvJSVmb3JtR1EncHJlZml4RicvJSdsc3BhY2VHUSQwZW1GJy8lJ3JzcGFjZUdGUi8lKG1pbnNpemVHUSIxRicvJShtYXhzaXplR1EpaW5maW5pdHlGJy1GIzYoRitGOC1JJ21zcGFjZUdGJDYmLyUnaGVpZ2h0R1EmMC4wZXhGJy8lJndpZHRoR1EmMC4yZW1GJy8lJmRlcHRoR0Zcby8lKmxpbmVicmVha0dRJWF1dG9GJ0YrLUYsNiVRInRGJ0YvRjJGKy8lLmxpbmV0aGlja25lc3NHUSIxRicvJStkZW5vbWFsaWduR1EnY2VudGVyRicvJSludW1hbGlnbkdGXXAvJSliZXZlbGxlZEdGQEYrLUYjNiUtRiw2JVEiUEYnRi9GMi1GOTYwUTAmQXBwbHlGdW5jdGlvbjtGJ0Y8Rj5GQUZDRkVGR0ZJRksvRk5RJmluZml4RidGUEZTRlVGWC1JKG1mZW5jZWRHRiQ2JC1GIzYjRmVvRjwtRjk2MFEiPUYnRjxGPkZBRkNGRUZHRklGS0ZqcC9GUVEvdGhpY2ttYXRoc3BhY2VGJy9GVEZlcUZVRlgtRiM2JS1GLDYlUSNrUEYnRi9GMkZncEZccUYrLUZdcTYkLUYjNiYtRiw2JVEiQ0YnRi9GMi1GOTYwUSgmbWludXM7RidGPEY+RkFGQ0ZFRkdGSUZLL0ZORi5GUEZTRlVGWEZicEYrRjxGKy1GaG42JkZqbi9GXm9RJjAuNGVtRidGYG9GYm9GKw==where C is the carrying capacity. This equation is known as the logistic equation.QUESTION (ANSWER THIS)
Explain why this equation says that if the population exceeds the carrying capacity, then the population will decrease and if the population is below the carrying capacity, then the population will increase.Let's have maple find a solution to this logistic equation.
Execute the following block of commands.restart:LogisticEq := [diff(P(t), t) = k*P(t)*(C-P(t)), P(0) = 2.557]:GenSoln := dsolve(LogisticEq, P(t)):GenSoln := solve(GenSoln, P(t)):P := unapply(GenSoln, t);We are assuming the carrying capacity is 10 billion humans.
Execute the command:C := 10:Using that population in 2004 was 6.377 billion, we can solve for k. Execute the following commandk := solve(P(54)=6.377, k);Now, let's look at P(t).Execute the following commandP(t);We can look at a graph of this function to get a better idea of what it predicts:
Use the plot command to sketch a graph of P(t) on the interval [0, 55].LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0Yn%;Let's look at this graph in comparison with the actual population data.Execute the commandsYears := [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55]:Population := [2.557, 2.781, 3.041, 3.347, 3.709, 4.086, 4.453, 4.852, 5.283, 5.694, 6.082, 6.451]:PopData := zip(proc (x, y) options operator, arrow; [x, y] end proc, Years, Population):plot([P(x), PopData], x = 0 .. 55, style = ([line, point]), color = ([black, red]));LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnFurther InvestigationQUESTIONS (Answer these)1) Use the function obtained in the logistic model above to predict what will happen to the population 100 years from now; 200 years from now; 3000 years from now.LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0Yn2) Find some estimates of world population for the years 1000, 1100, 1200, ..., 1800, 1850, 1900 (perhaps from the internet). Does our logistic growth model match these estimated world population figures? Comment on why you think this is.3) Using the code below, try different values for the carrying capacity, C, to see if you can make the model better for historical figures. In the code below, we use the population in 1850 as a condition, rather than the population at 1950. This may also help. Execute the following commands:restart:LogisticEq := [diff(P(t), t) = k*P(t)*(C-P(t)), P(-100) = 1]:GenSoln := dsolve(LogisticEq, P(t)):GenSoln := solve(GenSoln, P(t)):P := unapply(GenSoln, t):C := 10;k := solve(P(54) = 6.377, k):P(t);print();LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnConclusion and SummaryHere, please write a conclusion and summary for this project. This should include an overall summary of the ideas and results in the lab, and some suggestions for improving our models or areas for further investigation.LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0Yn