# Delay Differential Equation problem

**URL:** https://discourse.julialang.org/t/delay-differential-equation-problem/67044
**Category:** General Usage
**Tags:** diffeq
**Created:** [August 26, 2021, 3:51pm UTC](https://discourse.julialang.org/t/delay-differential-equation-problem/67044 "2021-08-26T15:51:08Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Liwei17](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/liwei17/32/28423_2.png) [@Liwei17](https://discourse.julialang.org/u/Liwei17)
#### Post date: [August 26, 2021, 3:51pm UTC](https://discourse.julialang.org/t/delay-differential-equation-problem/67044/1 "2021-08-26T15:51:08Z")

</div>

DifferentialEquation.jl DDE running problem:

```julia
using DifferentialEquations, Plots

function dde(du,u,h,p,t)
    M_A, M_B = u;
    tau, mu, n, P0, b = p;
    hist_A = h(p, t-tau)[1];
    hist_B = h(p, t-tau)[2];
    du[1] = -mu*M_A + (1+b)*(1/1+(hist_B/P0)^n);
    du[2] = -mu*M_B + (1/1+(hist_A/P0)^n);
end

h(p, t) = ones(2)

tau = 100;
P0 = 0.1; n = 5;
mu = 0.03; b = 0.01;
p = (tau, mu, n, P0, b)
tspan = (0, 5000)
u0 = [0, 0]

prob = DDEProblem(dde, u0, h, tspan, p; constant_lags = (p[1], ))

sol = solve(prob, MethodOfSteps(BS3()))

plot(sol)

```

![image](https://global.discourse-cdn.com/julialang/original/3X/5/1/513894cf12d2b125bbd9ea6ae21f8ff1435ac0fc.png)

* * *

The corresponding Matlab code:

```julia
function osc_switch

%%parameters
mu=0.03; %degradation rate
n=5; %Hill coefficient
p0=0.1; %Hill threshold
tau=100; %time delay
b=0.01; %bias

%%simulation details
t0=0; %start time
tend=5000; %end time
npts=10000; %number of reporting points
tout=linspace(t0,tend,npts); %reporting times
history=[0;0]; %initial history

%%solver call
sol=dde23(@ddes,tau,history,tout); 
x=deval(sol,tout); %solution

%%plot solution
figure(22)
plot(tout,x,'LineWidth',2) %time course
xlabel('time')
ylabel('amount')

figure(23)
plot(x(1,:),x(2,:),'LineWidth',2) %phase plane
grid on
axis equal
xlabel('x')
ylabel('y')

%%DDE function
    function dydt=ddes(t,y,z)
        dydt=[-mu*y(1)+(1+b)*f(z(2));-mu*y(2)+f(z(1))];
    end

%%Regulation function
    function out=f(x)
        out=1./(1+(x/p0).^n);
    end

end

```

---

<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 26, 2021, 4:04pm UTC](https://discourse.julialang.org/t/delay-differential-equation-problem/67044/2 "2021-08-26T16:04:39Z")

</div>

What’s your test case to show the RHS is exactly the same?

---

<div class="post-metadata">

### Author: ![Liwei17](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/liwei17/32/28423_2.png) [@Liwei17](https://discourse.julialang.org/u/Liwei17)
#### Post date: [August 26, 2021, 4:56pm UTC](https://discourse.julialang.org/t/delay-differential-equation-problem/67044/3 "2021-08-26T16:56:56Z")

</div>

These are the delayed differential equations I’m using:

\frac{dM\_A}{dt} = -\mu M\_A + (1+b) \frac{1}{1+(\frac{M\_B(t-\tau)}{P\_0})^n}   
 \frac{dM\_B}{dt} = -\mu M\_B + \frac{1}{1+(\frac{M\_A(t-\tau)}{P\_0})^n}

* * *

The code in Matlab is running fine.  
 ![image](https://global.discourse-cdn.com/julialang/original/3X/a/d/ade2b06c18713beaca35ccb5adbb3dc663f4c51e.png)

* * *

I’m very confused.  
I wondered if I made some mistakes on function part in Julia code?  
Thank you.

---

<div class="post-metadata">

### Author: ![BLI](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bli/32/37206_2.png) [@BLI](https://discourse.julialang.org/u/BLI)
#### Post date: [August 26, 2021, 5:11pm UTC](https://discourse.julialang.org/t/delay-differential-equation-problem/67044/4 "2021-08-26T17:11:48Z")

</div>

> [@Liwei17](#):
>
> `1/1+(hist_B/P0)^n;`

Shouldn’t this be:

```julia
1/(1 + (hist_B/P0)^n)

```

and similar for the next line?

---

<div class="post-metadata">

### Author: ![Liwei17](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/liwei17/32/28423_2.png) [@Liwei17](https://discourse.julialang.org/u/Liwei17)
#### Post date: [August 26, 2021, 5:16pm UTC](https://discourse.julialang.org/t/delay-differential-equation-problem/67044/5 "2021-08-26T17:16:21Z")

</div>

Oh It works fine now!  
Thank you.  
Sorry for making such a stupid mistake. I’m feel embarrassed now ahaha…

---

<div class="post-metadata">

### Author: ![BLI](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bli/32/37206_2.png) [@BLI](https://discourse.julialang.org/u/BLI)
#### Post date: [August 26, 2021, 5:17pm UTC](https://discourse.julialang.org/t/delay-differential-equation-problem/67044/6 "2021-08-26T17:17:29Z")

</div>

I’ve made sillier mistakes in my life…
