Code covered by the BSD License

### Highlights fromDynamical Systems Toolbox

from Dynamical Systems Toolbox by Etienne Coetzee
Bifurcation analysis of dynamical systems. Integration of AUTO bifurcation software into MATLAB.

Fixed Points of a Discrete Dynamical System (Demo : dd2)

# Fixed Points of a Discrete Dynamical System (Demo : dd2)

This demo illustrates the computation of a solution family and its bifurcating families for a discrete dynamical system. Also illustrated is the continuation of Naimark-Sacker (or Hopf) bifurcations. The equations, a discrete predator-prey system, are

: ,

: ,

• In the first run is free.
• In the second run, both and are free.
• The remaining equation parameter, , is fixed in both runs.

Create continuation object and set initial conditions.

```a{1}=auto;
```

Print function file to screen. Note in this case that the user is supplying the derivative values, hence ijac > 0.

```type(a{1}.s.FuncFileName);
```
```function [f,o,dfdu,dfdp]= func(par,u,ijac)
%
% equations file for dd2 demo
%
f=[];
o=[];
dfdu=[];
dfdp=[];

f(1)=par(1)*u(1)*(1-u(1)) - par(2)*u(1)*u(2);
f(2)=(1-par(3))*u(2) + par(2)*u(1)*u(2);

if(ijac==0)
return;
end

dfdu(1,1)=par(1)*(1-2*u(1))-par(2)*u(2);
dfdu(1,2)=-par(2)*u(1);
dfdu(2,1)=par(2)*u(2);
dfdu(2,2)=1-par(3) + par(2)*u(1);

if(ijac==1)
return;
end

dfdp(1,1)=u(1)*(1-u(1));
dfdp(2,1)=0.0;
dfdp(1,2)=-u(1)*u(2);
dfdp(2,2)= u(1)*u(2);

```

Set initial conditions.

```[a{1}.s.Par0,a{1}.s.U0,a{1}.s.Out0]=stpnt;
```

Set constants.

```a{1}.c=cdd21(a{1}.c);
```

Run equilibrium continuation.

```a{1}=runauto(a{1});
```
```
--------------- DYNAMICAL SYSTEMS TOOLBOX ---------------------

USER NAME      : ECOETZEE
DATE           : 26/10/2010 10:09:53

<
BR    PT  TY  LAB      PAR(01)      L2-NORM         U(01)         U(02)
1     1  EP    1   0.00000E+00   0.00000E+00   0.00000E+00   0.00000E+00
1    13  BP    2   1.00000E+00   0.00000E+00   0.00000E+00   0.00000E+00
1    53  EP    3   5.00000E+00   0.00000E+00   0.00000E+00   0.00000E+00
BR    PT  TY  LAB      PAR(01)      L2-NORM         U(01)         U(02)
2    38  BP    4   2.00000E+00   5.00000E-01   5.00000E-01   0.00000E+00
2    49  HB    5   3.00000E+00   6.66667E-01   6.66667E-01   0.00000E+00
2    70  EP    6   5.09510E+00   8.03733E-01   8.03733E-01   0.00000E+00
BR    PT  TY  LAB      PAR(01)      L2-NORM         U(01)         U(02)
2    85  EP    7   1.65467E-01   5.04349E+00  -5.04349E+00   0.00000E+00
BR    PT  TY  LAB      PAR(01)      L2-NORM         U(01)         U(02)
3    58  EP    8   3.99862E+00   5.02150E+00   5.00000E-01   4.99654E+00
BR    PT  TY  LAB      PAR(01)      L2-NORM         U(01)         U(02)
3    58  EP    9   1.38253E-03   5.02150E+00   5.00000E-01  -4.99654E+00

Total Time    0.781E-01
>
```

Create second object for restart

```a{2}=a{1};
a{2}.c=cdd22(a{1}.c);
```

Run two parameter continuation

```a{2}=runauto(a{2});
```
```
--------------- DYNAMICAL SYSTEMS TOOLBOX ---------------------

USER NAME      : ECOETZEE
DATE           : 26/10/2010 10:09:54

<
BR    PT  TY  LAB      PAR(01)      L2-NORM         U(01)         U(02)      PAR(02)
5   100  EP   10   3.00000E+00   6.66667E-01   6.66667E-01  -1.52217E-33   9.96000E+00

Total Time    0.625E-01
>
```

Plot the solutions. The plotting routine needs to be modified, because it seems as if the end points are being connected (represented by the straight lines).

```p=plautobj;
set(p,'xLab','Par','yLab','L2-norm');
ploteq(p,a);
snapnow;
```