# Using DifferentialEquations.jl for a simple food-chain

**URL:** <https://discourse.julialang.org/t/using-differentialequations-jl-for-a-simple-food-chain/13576>\
**Category:** New to Julia\
**Tags:** question, diffeq\
**Created:** [August 16, 2018, 3:42pm UTC](https://discourse.julialang.org/t/using-differentialequations-jl-for-a-simple-food-chain/13576 "2018-08-16T15:42:29Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [August 21, 2018, 1:22pm UTC](https://discourse.julialang.org/t/using-differentialequations-jl-for-a-simple-food-chain/13576/8 "2018-08-21T13:22:51Z")

</div>

I am joining in this late so maybe it does more harm than good, but this probably would’ve been a good use-case for the `@ode_def` macro.

```julia
f = @ode_def FoodChain begin
   du1 = u1*(1-u1)-(1/e)*y2*x2*u1^(1-q)/(u012^(1+q)+u1^(q+1))*u2
   du2 = y2*x2*u1^(1+q)/(u012^(1+q)+u1^(1+q))*u2-(1/e)*y3*x3*u2^(1+q)/(u023^(1+q)+u2^(1+q))*u3-x2*u2
   du3 = y3*x3*u2^(1+q)/(u023^(1+q)+u2^(1+q))*u3-x3*u3
end e y2 x2 q u012 y3 x3 u023
u0 = [0.01,0.01,0.01]
tspan = (0.0,10000.0)
p = (1,2,3,4,5,6,7,8)
prob = ODEProblem(f,u0,tspan,p)
solve(prob,saveat=0.05)

```

---

_[View the full topic](https://discourse.julialang.org/t/using-differentialequations-jl-for-a-simple-food-chain/13576)._
