## Lab 6 Growth Model - Leslie Matrices

#### Preliminaries

This is loosely based on Section 11.10. Read through the first few pages of 11.10 (pp. 648-651). It is also similar to the Markov Chains of Lab 5. The modifications are included in this writeup.

#### Basics

A way to model growth of a population is to create classes representing either age or size groups within the population and then develop a transition matrix (like in Lab 5). To develop this matrix we first need to know what the various classes are and then for each class, we need to know the percentage that 'grow' into the next class in each time period, the percentage that die and the percentage that 'reproduce' by creating a new entry in the lowest class. For example we might model fish at a fish farm with this data:
 Fish Farm Data Size Class % Growing To Next Class per Week % Dying % Reproducing < 1 oz. 50 20 0 1 oz. - 1 lb. 30 10 15 > 1 lb 0 5 35
Over a week a class will grow from those moving up from the lower class and, for the lowest class, those born from the other classes, and a class will decrease by those that die and those that move to the next class up.
From this we form the following transition matrix:
```    1-0.50-0.20     0.15       0.35         0.30   0.15   0.35
G =    0.50     1-0.30-0.10      0      =   0.50   0.60   0.0
0          0.30      1-0.05        0.0    0.30   0.95
```
Note, in contrast to the Markov transition matrix, the sums of the columns aren't necessarily equal to 1. This is because there is possibly increase or decrease of the total population.

Let x(n) = (x1(n), x2(n), x3(n))T be the number of fish in the 3 classes after n weeks. Then we have the simple relationship

x(n+1) = G x(n)

Suppose when we start we have 1000 fish in class 1, i.e. x(0) = (1000,0,0)T, then

x(1) = G x(0) = (300, 500, 0)T
x(2) = G x(1) = (165, 450, 150)T
x(3) = G x(2) = (169.5,352.5,277.5)T
x(10) = G10 x(0) ~ (407,402,767)T

Thus at first the population declines but as soon as we get enough of the larger fish the population begins to grow.

#### MATLAB

Once we enter the matrix G and the initial numbers in x, we can compute the future values either by G^n*x for the value of n we want, or by repeating the calculation x = G*x n times. One way to do this is by using a for-loop. Set up G and the initial x and try this:
```n = 10;
for i = 1:n
x = G*x;
end
At the end we have a vector x of results after n weeks.

MATLAB has some very power plotting routines.  We can use them
to visualize our results.  Basically we just need to create
a matrix of values we want to plot.  Set up G and the initial x
again and run this code:
n = 10;
results(:,1) = x;
for i = 1:n
x = G*x;
results(:,i+1) = x;
end
If you type disp(results) you'll get a 3 by 11 matrix of
values where each column represents the state at a certain week.
We can plot these results easily by plot(results')  (Note
the ')

Exercises

1. For the fish farm model above, we had a total of over 1500 fish after
10 weeks starting with only 1000 fish.  Adjust the death rate for
the class of large fish to get the total after 10 weeks to be
as close to 1000 as you can.  This means adjust the (3,3) value of
G down or up and then compute the result after 10 weeks.  When you get
the total to be close to 1000, record the death rate. Note that
the death rate is not just the value of G(3,3) but is related to it.

2. From the following data for University of ABC

Yearly Progress & Retention Data
Class  % Moving to Next Class  % Droping out  % Graduating
Freshman  50  40  0
Sophomore  60  20  0
Junior  70  10  0
Senior  15   10  70
5th-Yr Senior  90  5  0

In this problem there is no reproduction but instead we have two
sort of a fake category that we just use to keep track of the

Use this data and an incoming class of 4200 to predict how many will
have graduated after 4, 5 and 6 years.

After 4 years will there be any students that are still considered
Freshmen or Sophomores?

```
Mail: ccollins@math.utk.edu