[R-sig-eco] solving differential equations for ecological models

Baldwin, Jim -FS jbaldwin at fs.fed.us
Thu Dec 26 06:54:50 CET 2013


Using Mathematica I get the following:

H1 <- (apred1*ashark2*eshark2*(ashark3*b2+ashark2*xpred)+
ashark3*eshark3*(-(alpha22*b2*(ashark3*b1+ashark1*xpred))+
alpha12*b1*(ashark3*b2+ashark2*xpred))-alpha22*apred1*ashark3*b2*xshark+
apred2^2*ashark1*epred2*xshark-apred2*(-(ashark3*
(ashark1*b2*epred2*eshark3+alpha12*b1*xshark))+
ashark2*(ashark3*b1*(eshark2+epred2*eshark3)+
ashark1*eshark2*xpred+apred1*epred2*xshark)))/
(apred2^2*ashark1^2*epred2*eshark1-apred1*apred2*ashark1*ashark2*epred2*eshark1-
alpha11*apred2*ashark2*ashark3*b1*eshark2+alpha21*apred1*ashark2*ashark3*b2*eshark2-
apred1*apred2*ashark1*ashark2*epred1*eshark2+apred1^2*ashark2^2*epred1*eshark2-
alpha11*apred2*ashark2*ashark3*b1*epred2*eshark3+
alpha21*apred2*ashark1*ashark3*b2*epred2*eshark3+alpha12*ashark3*b1*
(apred2*ashark1*eshark1+alpha21*ashark3*b2*eshark3+apred1*ashark2*epred1*eshark3)-
alpha22*ashark3*b2*(alpha11*ashark3*b1*eshark3+apred1*ashark1*(eshark1+epred1*eshark3)))

H2 <- (apred2*ashark1*eshark1*(ashark3*b1+ashark1*xpred)+
ashark3*eshark3*(alpha21*b2*(ashark3*b1+ashark1*xpred)-
alpha11*b1*(ashark3*b2+ashark2*xpred))+apred1^2*ashark2*epred1*xshark-
apred2*(alpha11*ashark3*b1+apred1*ashark1*epred1)*xshark-
apred1*(ashark1*ashark3*b2*(eshark1+epred1*eshark3)+
ashark1*ashark2*eshark1*xpred-ashark3*(ashark2*b1*epred1*eshark3+alpha21*b2*xshark)))/
(apred2^2*ashark1^2*epred2*eshark1-apred1*apred2*ashark1*ashark2*epred2*eshark1-
alpha11*apred2*ashark2*ashark3*b1*eshark2+
alpha21*apred1*ashark2*ashark3*b2*eshark2-
apred1*apred2*ashark1*ashark2*epred1*eshark2+
apred1^2*ashark2^2*epred1*eshark2-alpha11*apred2*ashark2*ashark3*b1*epred2*eshark3+
alpha21*apred2*ashark1*ashark3*b2*epred2*eshark3+
alpha12*ashark3*b1*(apred2*ashark1*eshark1+alpha21*ashark3*b2*eshark3+
apred1*ashark2*epred1*eshark3)-alpha22*ashark3*b2*
(alpha11*ashark3*b1*eshark3+apred1*ashark1*(eshark1+epred1*eshark3)))

P <- (-(apred2*ashark1*ashark2*b1*epred2*eshark1)+
apred2*ashark1^2*b2*epred2*eshark1-
alpha11*ashark2*ashark3*b1*b2*eshark2+
alpha21*ashark2*ashark3*b1*b2*eshark2+
apred1*ashark2^2*b1*epred1*eshark2-
apred1*ashark1*ashark2*b2*epred1*eshark2-
alpha11*ashark2^2*b1*eshark2*xpred+
alpha21*ashark1*ashark2*b2*eshark2*xpred+
apred2*(alpha11*ashark2*b1-alpha21*ashark1*b2)*epred2*
xshark+alpha22*b2*
(-(ashark1*eshark1*(ashark3*b1+ashark1*xpred))+
(alpha11*ashark3*b1+apred1*ashark1*epred1)*xshark)+
alpha12*b1*(ashark1*eshark1*(ashark3*b2+ashark2*xpred)-
(alpha21*ashark3*b2+apred1*ashark2*epred1)*xshark))/
(apred2^2*ashark1^2*epred2*eshark1-
apred1*apred2*ashark1*ashark2*epred2*eshark1-
alpha11*apred2*ashark2*ashark3*b1*eshark2+
alpha21*apred1*ashark2*ashark3*b2*eshark2-
apred1*apred2*ashark1*ashark2*epred1*eshark2+
apred1^2*ashark2^2*epred1*eshark2-
alpha11*apred2*ashark2*ashark3*b1*epred2*eshark3+
alpha21*apred2*ashark1*ashark3*b2*epred2*eshark3+
alpha12*ashark3*b1*
(apred2*ashark1*eshark1+alpha21*ashark3*b2*eshark3+
apred1*ashark2*epred1*eshark3)-
alpha22*ashark3*b2*
(alpha11*ashark3*b1*eshark3+
apred1*ashark1*(eshark1+epred1*eshark3)))

S <- (apred2^2*b1*epred2*(ashark1*eshark1-alpha11*xshark)+
b2*((alpha12-alpha22)*apred1*ashark3*b1*epred1*eshark3+
apred1*(alpha22*ashark1*eshark1-
alpha21*ashark2*eshark2)*xpred+
(-(alpha12*alpha21)+alpha11*alpha22)*ashark3*b1*eshark3*
xpred+apred1^2*epred1*
(ashark2*eshark2-alpha22*xshark))+
apred2*(b1*((-alpha11+alpha21)*ashark3*b2*epred2*eshark3-
alpha12*ashark1*eshark1*xpred+
alpha11*ashark2*eshark2*xpred)+
apred1*(-(ashark1*b2*epred2*eshark1)-
ashark2*b1*epred1*eshark2+alpha12*b1*epred1*xshark+
alpha21*b2*epred2*xshark)))/
(apred2^2*ashark1^2*epred2*eshark1-
apred1*apred2*ashark1*ashark2*epred2*eshark1-
alpha11*apred2*ashark2*ashark3*b1*eshark2+
alpha21*apred1*ashark2*ashark3*b2*eshark2-
apred1*apred2*ashark1*ashark2*epred1*eshark2+
apred1^2*ashark2^2*epred1*eshark2-
alpha11*apred2*ashark2*ashark3*b1*epred2*eshark3+
alpha21*apred2*ashark1*ashark3*b2*epred2*eshark3+
alpha12*ashark3*b1*
(apred2*ashark1*eshark1+alpha21*ashark3*b2*eshark3+
apred1*ashark2*epred1*eshark3)-
alpha22*ashark3*b2*
(alpha11*ashark3*b1*eshark3+
apred1*ashark1*(eshark1+epred1*eshark3)))


Jim

Jim Baldwin
Station Statistician
Pacific Southwest Research Station
USDA Forest Service

-----Original Message-----
From: r-sig-ecology-bounces at r-project.org [mailto:r-sig-ecology-bounces at r-project.org] On Behalf Of peterhouk1 .
Sent: Wednesday, December 25, 2013 8:57 PM
To: r-sig-ecology at r-project.org
Subject: [R-sig-eco] solving differential equations for ecological models

Greetings -

I'm having trouble figuring out an efficient means towards solving for the equilbria in a four-equation model with two herbivores (H1 and H2), and two predators (P and S).  Below, I have set the rate of change for these populations to 0 (i.e., equilibrium), then solved.  The resultant solutions are listed below.  My goal now is to substitute all of these equations back into "H1", so as to get a general solution for the H1 equilibrium equation that is dependent only upon parameters....obviously without doing it the long way.  In sum, I'm looking to develop the equation "H1<-parameters"
from the set of solutions below.  Is this possible with deSolve in R?  I'm relatively new to this package and despite much reading, can't figure out any efficient means as of yet.

Advice appreciated,

Peter

H1<-1/alpha11-(alpha12*H2)/alpha11-(apred1*P)/(b1*alpha11)-(ashark1*S)/(b1*alpha11)

H2<-1/alpha22-(alpha21*H1)/alpha22-(apred2*P)/(b2*alpha22)-(ashark2*S)/(b2*alpha22)

S<-(apred1*epred1*H1)/ashark3+(apred2*epred2*H2)/ashark3-xpred/ashark3

P<-(eshark1*ashark1*H1)/(eshark3*ashark3)+(eshark2*ashark2*H2)/(eshark3*ashark3)-xshark/(eshark3*ashark3)


--

Peter Houk, PhD
Assistant Professor
University of Guam Marine Laboratory
http://www.guammarinelab.com/peterhouk.html
www.pacmares.com
www.micronesianfishing.com

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-ecology mailing list
R-sig-ecology at r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-ecology





This electronic message contains information generated by the USDA solely for the intended recipients. Any unauthorized interception of this message or the use or disclosure of the information it contains may violate the law and subject the violator to civil or criminal penalties. If you believe you have received this message in error, please notify the sender and delete the email immediately.



More information about the R-sig-ecology mailing list