dynamic system model


by Philip Wong
Tags: dynamic, model
Philip Wong
Philip Wong is offline
#1
Apr24-10, 01:13 AM
P: 95
1. The problem statement, all variables and given/known data
I'm trying to learn the dynamic system model, I was given the following problem to work with. Can someone give me a walk through of did I did right or wrong?

Situation:
A conservationist is studying a colony of endangered variable oyster-catchers. Birds that are chicks one year will form adult breeding pairs the following year. The probability of a chick surviving to become an adult is 0.3. The probability an adult will survive to breed another year is 0.5. Each year a breeding pair produce on average 2.2 chicks (that is a breeding rate of 1.1 per adult). Initially there are 80 chicks and 20 adult birds.

a) Represent this situation by a dynamic system model of the form Xn = A^n X0. You must find matrix A and the initial state vector X0.

b) Find X1, the state vector representing the oyster-catcher colony 1 year later.

c) Find all eigenvalues of matrix A in part (a)

d) By finding the eigenvector corresponding to the numerically largest eigenvalue, estimate the long term ratio of chicks:adults. Hint: If landa is an eigenvalue of matrix A with eigenvector v then A^n v = landa^n v

e) Long-term, is this colony of oyster-catchers likely to survive?
2. Known equation
A - landa I (to find eigenvalue and eigenvector)
|A-landa I| = 0 (to find eigenvector and eigenvalue)
AX0=c1Av1+c2Av2 (to find the rate of change after x time)

3. The attempt at a solution
a) Chicks n+1 = 0 chicks n + 1.1 adults n
Adults n+1 = 0.3 chicks n + 0.5 adults n
where X0 = (80; 20)
So A= Xn+1 = (0, 1.1; 0.3, 0.5)(chicks n; adult n)
therefore Xn = A^n X0 = (0, 1.1; 0.3, 0.5)(80; 20)

b)
At first I tried to find the eigenvector and eigenvalue by hand, then implied it to the equation A = VDV^-1 to find the value for the long term run. Below is my steps:
A-landa I:
(0, 1.1; 0.3, 0.5) - landa (1, 0; 0 1) = (0-landa, 1.1; 0.3, 0.1-landa]

det (A-landa I) = 0:
(-landa)(0.1-landa)-0.33 = 0
expand it: landa^2 - 0.1landa - 0.33 =0
factories: I have got into some trouble factoring with decimal points, so I used matlab to get the eigenvector and eigenvalue which gives:
a =

0 1.1000
0.3000 0.5000

>> [v,d]=eig(a)

v =

-0.9461 -0.7821
0.3238 -0.6232


d =

-0.3765 0
0 0.8765

So landa1 = -0.3765, landa 2 = 0.8765

there I put these numbers into the following equation to work out X1 (after one year):
X0 = c1*landa 1*v1 + c2*landa 2*v2
= c1 *(-0.9491; 0.3238) + c2 *(-0.7821; -0.6232)
= c1 * -0.3765 * (-0.9491; 0.3238) + c2 * 0.8765 *(-0.7821; -0.6232)
Since X0 = (80;20)
So X1 = 80 * -0.3765 * (-0.9491; 0.3238) + 20 * 0.8765 *(-0.7821; -0.6232)

This is the part where I got completely stuck, I knew I did something wrong, I've read the textbook over and over again. But I can't find a solution of where I did wrong, and so I couldn't do the next part. can somebody please help?!
Phys.Org News Partner Science news on Phys.org
Better thermal-imaging lens from waste sulfur
Hackathon team's GoogolPlex gives Siri extra powers
Bright points in Sun's atmosphere mark patterns deep in its interior
Filip Larsen
Filip Larsen is offline
#2
Apr24-10, 04:57 AM
PF Gold
Filip Larsen's Avatar
P: 946
In b) you only need to calculate the population after one year, i.e. with n = 1 calculate x1 = A1 x0 = A x0. No need for eigenvalues yet.

Also, your characteristic equation (before you start using matlab) is not entirely correct.
Philip Wong
Philip Wong is offline
#3
Apr24-10, 05:36 AM
P: 95
Quote Quote by Filip Larsen View Post
In b) you only need to calculate the population after one year, i.e. with n = 1 calculate x1 = A1 x0 = A x0. No need for eigenvalues yet.

Also, your characteristic equation (before you start using matlab) is not entirely correct.
what do you mean by "Also, your characteristic equation (before you start using matlab) is not entirely correct."?

Filip Larsen
Filip Larsen is offline
#4
Apr24-10, 06:13 AM
PF Gold
Filip Larsen's Avatar
P: 946

dynamic system model


Quote Quote by Philip Wong View Post
what do you mean by "Also, your characteristic equation (before you start using matlab) is not entirely correct."?
Just before you turn to matlab, you write the equation "landa^2 - 0.1landa - 0.33 =0", but the 0.1 should have been 0.5. I cannot see if this is a typo so I thought I would just mention it in case you went back to solving for the eigenvalues manually (its good to check with matlab, but you should have no trouble calculating the values manually too by solving the characteristic equation).

And, just for your information, the Greek letter is called lambda, not landa.
Philip Wong
Philip Wong is offline
#5
Apr24-10, 06:24 AM
P: 95
yes whenever I'm doing excerise or pratice I always do the question first manually before I check it with matlab, the only time I don't do manually it anymore is when I got so used to working with those type of questions that I could mentally think the answer out, and then I check it with matlab. And yes it was I typo, ahaha! It is 0.5 instead of 0.1
Philip Wong
Philip Wong is offline
#6
Apr24-10, 06:37 PM
P: 95
Quote Quote by Filip Larsen View Post
In b) you only need to calculate the population after one year, i.e. with n = 1 calculate x1 = A1 x0 = A x0. No need for eigenvalues yet.

Also, your characteristic equation (before you start using matlab) is not entirely correct.
x1 = A1 x0 = A x0
So x1= C1(-0.3765)^1(-0.8481; 0.3238) + C2(0.8765)^1(-0.7821;-0.6232)

but since lambda 2 is the domain value it will over-run lambda 1 in the long term, therefore the state vector after 1 year will be 0.8765xk?

or did I think too much, the state vector is simply :
x1= C1(-0.3765)^1(-0.8481; 0.3238) + C2(0.8765)^1(-0.7821;-0.6232)
Filip Larsen
Filip Larsen is offline
#7
Apr25-10, 12:51 AM
PF Gold
Filip Larsen's Avatar
P: 946
If this is for b) then you are still getting ahead of yourself. You only need to perform a simple matrix multiplication of A and x0 to get x1. In this model this is, by definition, how the state for one generation is advanced to the state for the next generation. If you were to calculate, say, the 10th generation you would have to do the multiplication 10 times to get to x10. By the way, it can be instructive to plot how the state develops over time, especially in order to prepare yourself for part d) and e).
Philip Wong
Philip Wong is offline
#8
Apr25-10, 08:49 PM
P: 95
Quote Quote by Filip Larsen View Post
If this is for b) then you are still getting ahead of yourself. You only need to perform a simple matrix multiplication of A and x0 to get x1. In this model this is, by definition, how the state for one generation is advanced to the state for the next generation. If you were to calculate, say, the 10th generation you would have to do the multiplication 10 times to get to x10. By the way, it can be instructive to plot how the state develops over time, especially in order to prepare yourself for part d) and e).
aha! so x1 = [0 1.1; 0.3 0.5] *[80 20]
so say if I want to work out 10, would I do this:
[0^10,1.1; 0.3,0.5^10]*[80,20]
Filip Larsen
Filip Larsen is offline
#9
Apr26-10, 01:53 AM
PF Gold
Filip Larsen's Avatar
P: 946
Quote Quote by Philip Wong View Post
aha! so x1 = [0 1.1; 0.3 0.5] *[80 20]
Yes.

so say if I want to work out 10, would I do this:
[0^10,1.1; 0.3,0.5^10]*[80,20]
No. The definition of your model really says xi+1 = A xi, that is, to get state for generation i+1 you matrix multiply A with the state vector for generation i, i.e. the previous generation. So, if you know x9 you can calculate x10 = A x9, but since x9 likewise can be written based on the state vector for the previous generation you also have x9 = A x8 which can be inserted into the equation for x10 to give x10 = A (A x8) = (A A) x8, the last step because matrix multiplication is commutative. If you continue replacing x in this fashion until you get to to x0 you arrive at x10 = (A A ... 10 times ... A) x0 = A10 x0. Just like with scalar numbers, you can think of the (integer) power of a matrix as a shorthand notation of simply multiplying out the matrix as many times as the power says.

Your questions seem to indicate you have missed something fundamentally somewhere in your textbook. If the above explanation is all news to you, I recommend that you take some time to read up on the parts in your textbook that are relevant for this problem or you will most likely have a very tough time understanding the eigenvalues and eigenvectors.
Philip Wong
Philip Wong is offline
#10
Apr26-10, 05:48 AM
P: 95
Quote Quote by Filip Larsen View Post
Yes.



No. The definition of your model really says xi+1 = A xi, that is, to get state for generation i+1 you matrix multiply A with the state vector for generation i, i.e. the previous generation. So, if you know x9 you can calculate x10 = A x9, but since x9 likewise can be written based on the state vector for the previous generation you also have x9 = A x8 which can be inserted into the equation for x10 to give x10 = A (A x8) = (A A) x8, the last step because matrix multiplication is commutative. If you continue replacing x in this fashion until you get to to x0 you arrive at x10 = (A A ... 10 times ... A) x0 = A10 x0. Just like with scalar numbers, you can think of the (integer) power of a matrix as a shorthand notation of simply multiplying out the matrix as many times as the power says.

Your questions seem to indicate you have missed something fundamentally somewhere in your textbook. If the above explanation is all news to you, I recommend that you take some time to read up on the parts in your textbook that are relevant for this problem or you will most likely have a very tough time understanding the eigenvalues and eigenvectors.
ar for the x10 I think I skip a bit too much steps along the way. When I think about it again now, if I want to get the x10 I would use diagnolisation and symmetry.
so for x10 would I do the following?
A = VDV^-1
[0 1.1; 0.3 0.5]^10 =
[-0.9461,-0.7821; 0.3238,-0.6232]*[-0.3765^10, 0; 0,0.8765^10]*[-0.7394, 0.9279; -0.3842, -1.1225]

which gives:
[0.0805, 0.2349; 0.0641, 0.1872]

since X10 = A^10 x0, then:
[0.0805, 0.2349; 0.0641, 0.1872]*[80;20]

which gives:
11.1340
8.8692

is this correct?
Filip Larsen
Filip Larsen is offline
#11
Apr26-10, 07:29 AM
PF Gold
Filip Larsen's Avatar
P: 946
That is correct.
Philip Wong
Philip Wong is offline
#12
Apr27-10, 03:15 AM
P: 95
yay! thanks for your help


Register to reply

Related Discussions
Simple Dynamic Model Mechanical Engineering 3
Dynamic Pulley System Introductory Physics Homework 0
Use of state space equations to model a dynamic system Calculus 8
Dynamic System Modeling Engineering Systems & Design 0