[R] Differential Equations there use in R (population modeling)
Ben Bolker
bolker at ufl.edu
Mon Aug 11 20:18:46 CEST 2008
There was a spurious tilde in the code coming
from my digital signature -- oops. ignore the
tilde in the function:
library(odesolve)
## in general x, b are state and parameter VECTORS
e1B <- function(t,x,b) {
list(x*b^t,NULL)
}
L1 = lsoda(y=1,times=seq(0,1,by=0.02),func=e1B,parms=c(b=0.9))
plot(L1[,1],L1[,2])
stephen sefick wrote:
> error in isoda(y = 1, times = seq(0, 1, by = 0.02), func = e1B, parms
> = c(b = 0.9)) :
> Model function must return a list
>
> this is the error message I get when I try and paste in the code.
>
> Stephen Sefick
>
> On Mon, Aug 11, 2008 at 1:36 PM, Ben Bolker <bolker at ufl.edu> wrote:
>
>
> stephen sefick wrote:
> | population# = (initialvalue @ t) - (death rate) + (fecundtity per
> individual) dt
> | to be able to vary the values of the inputs death rate and fecundity
> | with time using initial value @ t from the previous time step to
> | evaluate the function at the present time step.
> |
> | On Mon, Aug 11, 2008 at 9:43 AM, Ben Bolker <bolker at ufl.edu> wrote:
> |> stephen sefick <ssefick <at> gmail.com> writes:
> |>
> |>> e1 <- function(x,b,t){
> |>> d<-(x)*(b^t)
> |>> plot(d)
> |>> }
> |>>
> |>> e1(2, 2,seq(from=0, to=6, by=1))
> |>>
> |>> Is there a way to do this with a change in time. I would like to use
> |>> differential equations.
> |> I'm not sure what you mean by "do this with a change in time",
> |> but in general for ODEs you should check out lsoda in the odesolve
> package.
> |> You can also look at the ecology/environment task view.
> |>
> |> Ben Bolker
> |>
>
> ~ Something like:
>
>
> library(odesolve)
>
> ## in general x, b are state and parameter VECTORS
> e1B <- function(t,x,b) {
> ~ list(x*b^t,NULL)
> }
>
> L1 = lsoda(y=1,times=seq(0,1,by=0.02),func=e1B,parms=c(b=0.9))
> plot(L1[,1],L1[,2])
>
>
>>
More information about the R-help
mailing list