Logistic Curve Demo

  • Objective
  • Level
  • Prerequisites
  • Platform
  • Instructor's Notes
  • Credits

  • ObjectiveThis interactive demo illustrates the generation of a logistic curve. 

    Level: This demo is appropriate for a pre-calculus course, but is quite effective in a calculus class immediately after  a discussion of inflection points.

    Prerequisites:  For a precalculus class, students need to understand the notions of increasing and decreasing along a curve. In calculus, students need concepts of increasing, decreasing, max-min, and inflection points.

    Platform: This demo can be used with calculators which can randomly generate an integer in a specified interval. (See Using Calculators below.) We include a MATLAB routine to simulate the classroom demo and a utility to generate the random numbers in a classroom setting in which individual students do not possess a calculator with a random number generation feature. Mathematica and Maple worksheets are also provided. In addition, a Java applet provides a platform-independent routine for the generation of random integers.

    Instructor's Notes:

    The logistic curve is used to model a variety of physical situations in which a quantity's growth is "self-limited," that is, the growth rate of the quantity depends on the size of the quantity in such a way that if the quantity grows beyond a certain level, the growth rate decreases. The logistic model nicely describes the behavior of certain types of growth in business, economics, populations, the spread of disease,  and sales forecasts. In situations of "controlled growth" the logistic curve frequently provides an easily constructed graph that is readily understood. For example:

    • Currently, our economy is continuing to grow, but at a slower rate.

    Often this and similar statements are misunderstood, but can be clarified with pictures and the discussion of the logistic curve.

    The story goes that Sam Walton of Wal-Mart fame made his money by having inventory reported every night. As soon as products were being bought at a decreasing rate he would stop stocking that product. Thus there was never a surplus of inventory that needed to be sold at a low price. This short tale has made many business students stop asking why they take calculus.

    A Simple Classroom Demo.

    Here we describe a simple demo of the spread of a virus that leads to a logistic curve and involves every student in the room.

    Suppose you have 25 students in your class. Assign each student a number from 1 to 25. This is easily done by having them count-off. You might have each student write his or her number on a Post-it. (You bring the Post-its.) Let's assume that each student has a calculator which can randomly generate an integer between 1 and 25. ( Alternatively,  appropriate random integers can be generated by some other means,  as needed in the classroom if calculators are not available.)

    On the board in the class draw a set of axes. Horizontally we represent time in days and vertically the number of students infected with the virus. In addition draw a table with 5 rows and 5 columns which are numbered 1 - 25. As the instructor, use your calculator to generate a random integer between 1 and 25. Take this event to mean that on DAY 1 the student whose number you generated becomes the first to be infected with the virus. To indicate this ask this student to stand and put his or her Post-it in the corresponding numbered box in the table on the board. (You might want to recruit the first infected student as the recorder of information on the graph that is on the board.) Record the point (1,1) on the graph on the board. (This indicates on DAY 1 there is 1 infected student.) 

    To simulate a second day, have the first infected student use his/her calculator to generate a random integer between 1 and 25. If the number generated is different from the number assigned to the infected student, then there is a second infected student. Have that student stand and place his/her Post-it in the corresponding numbered box in the table drawn on the board. Plot the point (2,2) on the board; otherwise only one student is infected so plot point (2,1).

    For Day 3 have each previously infected student generates a random integer between 1 and 25 using their calculator. Have newly infected students stand and then place their Post-its in the corresponding numbered box in the table on the board. The pool of infected students may grow or, by chance, remain the same. Plot the point (3, total number of infected students).

    The preceding actions of the infected students are repeated on each successive day. In addition, the point with coordinates

    (number of the DAY, total number of infected students) 

    is plotted. This continues until the entire class is standing (infected by the virus). The graph recorded on the board will have the shape of a logistic curve as shown in Figure 1.

    Figure 1.

    The curve displayed in Figure 1 shows that the entire class of 25 students was infected in just 8 days. Results can vary as shown by the graphs in Figures 2 - 4 which used the same procedure for a group of 25 students. The demo depicted on Figure 2 took 9 days to infect all 25 students, while those in Figures 3 and 4 took 12 days and 8 days respectively.

    Figure 2. 

    Figure 3.

    Figure 4.

    Curves generated while using this demo procedure will be increasing (but not necessarily strictly increasing). 

    To help explain phrases like "our economy is continuing to grow, but at a slower rate", we can use the data generated in the demo as follows. Make a table of the coordinates of the ordered pairs that were graphed. (See Figure 5a.) Construct a third row (label it y-diff) which is the difference of successive y-coordinates; make the first entry in this row 0. (See Figure 5b.) Next plot x vs. y-diff on another set of axes. Figure 6a shows the graph of x vs. y, while Figure 6b displays x vs. y-diff.

    x 1 2 3 4 5 6 7 8 9 10
    y 1 2 3 6 10 15 21 24 24 25

    Figure 5a.

    y-diff 0 1 1 3 4 5 6 3 0 1

    Figure 5b.


    Figure 6b shows the rate of change of the number of students infected day-by-day. From this graph we can infer that the rate of change of the number of students infected "slowed down" starting at Day 7. That is, the number of students infected is still increasing but at a decreasing rate. The assimilation of this idea is an important step in the learning process for students in a variety of majors.

    There are other features of Figure 6b that can be discussed; for example the horizontal segment from Day 2 to Day 3 and the behavior from Day 9 to Day 10. Each time we repeat this demo we expect to see variations in both the graphs of x vs. y and x vs. y-diff. Pairs of such graphs can be used as take-home exercises where students are asked to write a description of the behavior of the spread of the virus.

    In a calculus class, figures like that in 6b provide a nice foundation for the discussion of inflection points. For the demo shown in Figures 6a and 6b, there is the behavior of an inflection point at DAY 7. 

    This demo has been used in a variety of classes, pre-calculus, business calculus, and calculus classes with great success. Students are involved in the process to generate the information used to explain a behavior that appears in many applications. They seem to personalize the experience provided by this demo and are better able to explain such behavior when they meet it in the future.

    Using Calculators

    If you have a TI-89 graphing calculator and have downloaded the 2.0 operating system and Statistical APPS you have the randInt command available for the generation of the random integers. If you go to Catalog, then F3 Flash Apps, then R, you will see randInt. For a class of 25 students, the number of the student first infected is obtained from the command randInt(1,25,1). Subsequently the command randInt(1,25,k), generates k random integers between 1 and 25.

    For additional information on using the TI-89 and randInt click here. You will see a PDF file developed by Dr. Roseanne Hofmann for introducing the use of random  integers and the Virus Spread demo. Included are calculator screen pictures.

    If you do not have the flash update for the TI-89 that contains the randInt program, a program, randmint,  is available by clicking here. The program prompts the user to input the number of students (n) and the number of random integers (m) that are needed at each stage in the progression of the disease.  A new random number is generated each time the user presses the Enter key, until m random integers have been produced. If you have the TI Graph Link hardware and program, you can download the file to your computer and then directly into your calculator.

    The TI-83 calculator has a built-in randInt program, so the demo can be effectively performed using TI-83 calculators.  The command, randInt(1,25,k), generates k random integers between 1 and 25. For additional information on using the TI-83 click here. You will see a PDF file developed by Dr. Roseanne Hofmann for introducing the use of random  integers and the Virus Spread demo. Included are calculator screen pictures.

    Software available

    If you have a large class the physical aspects of this demo may not be practical. However you can simulate the demo using software. 

    • In MATLAB, the routine virusspread.m is available for downloading by clicking here. To see a description of this routine click here.

    If you have MATLAB available in the classroom, a utility to generate the random numbers is available by clicking here.

    • A Mathematica notebook which demonstrates the simulation of the spread of a virus within a group of N people is available. Click here for a description and to download the notebook.

    • A Java applet that will generate sets of random numbers for this demo is available. Click here to access the applet. Click on help for directions. (Warning: the applet will re-execute if you minimize it or a scroll operation covers part of the numerical display in Netscape 4.7 and possibly other versions. )

    Credits:  This demo was submitted by 

    Dr. Roseanne Hofmann
    Department of Mathematics 
    Montgomery County Community College

    and is included in Demos with Positive Impact with her permission. The MATLAB routines were written by David R. Hill for this project. The randmint program for the TI-89 and the Mathematica notebook were written by Lila F. Roberts. The Java applet was developed by Saritha Somasundaram, a student  at Temple University.  

    DRH   2/03/2002     Last updated 1/27/2005

    Since 3/1/2002