# Documentation

### This is machine translation

Translated by
Mouse over text to see original. Click the button below to return to the English verison of the page.

## DDE with Constant Delays

This example shows how to use `dde23` to solve a system of DDEs with constant delays.

Click `ddex1.m` or type `edit ddex1.m` in a command window to view the code for this example in an editor.

The differential equations are:

`$\begin{array}{l}{y}_{1}{}^{\prime }\left(t\right)={y}_{1}\left(t-1\right)\hfill \\ {y}_{2}{}^{\prime }\left(t\right)={y}_{1}\left(t-1\right)+{y}_{2}\left(t-0.2\right)\hfill \\ {y}_{3}{}^{\prime }\left(t\right)={y}_{2}\left(t\right).\hfill \end{array}$`

The history of this problem is constant:

`$\begin{array}{c}{y}_{1}\left(t\right)=1\\ {y}_{2}\left(t\right)=1\\ {y}_{3}\left(t\right)=1\end{array}$`

for t ≤ 0.

1. Create a new program file in the editor. This file will contain a main function and two local functions.

2. Define the first-order DDE as a local function.

```function dydt = ddex1de(t,y,Z) ylag1 = Z(:,1); ylag2 = Z(:,2); dydt = [ylag1(1); ylag1(1)+ylag2(2); y(2)]; end```
3. Define the solution history as a local function.

```function S = ddex1hist(t) S = ones(3,1); end```
4. Define the delays, τ1,…,τk in the main function.

`lags = [1,0.2];`
5. Solve the DDE by calling `dde23` in the main function. Pass the DDE function, the delays, the solution history, and interval of integration, `[0,5]`, as inputs.

`sol = dde23(@ddex1de,lags,@ddex1hist,[0,5]);`

The `dde23` function produces a continuous solution over the whole interval of integration [t0,tf].

6. Plot the solution returned by `dde23`. Add this code to your main function.

```plot(sol.x,sol.y); title('An example of Wille and Baker'); xlabel('time t'); ylabel('solution y'); legend('y_1','y_2','y_3','Location','NorthWest'); ```
7. Evaluate the solution at 10 equally spaced points over the interval of integration. Then plot the results on the same axes as `sol.y`. Add this code to the main function.

```tint = linspace(0,5,10); Sint = deval(sol,tint) hold on plot(tint,Sint,'o');```
8. Run your program to generate and plot the results.

## More About

Was this topic helpful?

Watch now