0
votes

I am trying to solve the following system of 2 delay differential equations using dde23 in MATLAB. The solver seems to work for equation 2, but for the first equation it chooses the trivial solution v(1) = 0 (as shown in attached plot). Literature on dde23 does not indicate that it has a feature to force the solution to be nonzero / positive (as in ode solvers); is there a way I can force dde23 to search for nontrivial, >0 solutions? Or some workaround for this issue? Any suggestions would be much appreciated. enter image description hereThank you!

Equations:

v(1) = (Aval - f) * v(1) - b * v(1) * 2; %S eqn
v(2) = h * b * ylagS(1) * ylagV(2) - b * v(1) * v(2) - m * v(2); %V eqn

Defined constants:

Aval = 1.; %Various constants defined here
f = 10^-5;
b = 10^-7;
h = 1.5;
m = 0.0003;
1
Your equations are strange, is the left side the derivative? What are the delays? The first equation as it is is independent of the second, a simple exponential dynamic. With initial value zero the solution can be nothing else but zero. Please add the full code for the component functions of the DDE.Lutz Lehmann

1 Answers

0
votes

This example solves a DDE on the interval [0, 5] with lags 1 and 0.2. The function ddex1de computes the delay differential equations, and ddex1hist computes the history for t <= 0.

Note The file, ddex1.m, contains the complete code for this example. To see the code in an editor, type edit ddex1 at the command line. To run it, type ddex1 at the command line.

sol = dde23(@ddex1de,[1, 0.2],@ddex1hist,[0, 5]); This code evaluates the solution at 100 equally spaced points in the interval [0,5], then plots the result.

tint = linspace(0,5); yint = deval(sol,tint); plot(tint,yint)