```
In [3]:
```import numpy as np
import sympy as sp
import pandas as pd
import math
import final as p1
import matplotlib.pyplot as plt
%matplotlib inline

Given three real-valued functions of time x(t), y(t), z(t), consider the following coupled first-order ODEs:

$x˙ = −y − z, y˙ = x + ay, z˙ = b + z(x − c)$

where a = b = 0.2 and c is a parameter that we will tune. Note that this system has a single nonlinear term xz.

I will be exploring the consequences of this nonlinearity.

```
In [4]:
```ros = p1.Rossler(2)
ros.run()

```
In [5]:
```ros.plotx()

```
```

```
In [6]:
```ros.ploty()

```
```

```
In [7]:
```ros.plotz()

```
```

```
In [8]:
```ros.plotxy()

```
```

```
In [9]:
```ros.plotyz()

```
```

```
In [10]:
```ros.plotxz()

```
```

```
In [11]:
```ros.plotxyz()

```
```

```
In [12]:
```ros3 = p1.Rossler(3)
ros3.run()

```
In [13]:
```ros3.plotx()

```
```

```
In [14]:
```ros3.plotxy()

```
```

```
In [15]:
```ros3.plotxyz()

```
```

Already we can see a bifurcation occuring in the y vs x and z vs y vs x graphs that were not there in the case of c =2. The nonlinearity in the z variable has begun to become active in that the trajectory is leaving the x-y plane.

The x vs t graph shows us that the x-values are now alternating between four values, as opposed to two previously. This is identical to the behavior we saw from the logistic update map on the midterm.

```
In [16]:
```ros4 = p1.Rossler(4)
ros4.run()

```
In [17]:
```ros4.plotx()

```
```

```
In [18]:
```ros4.plotxy()

```
```

```
In [19]:
```ros4.plotxyz()

```
```

```
In [20]:
```ros415 = p1.Rossler(4.15)
ros415.run()

```
In [21]:
```ros415.plotx()

```
```

```
In [22]:
```ros415.plotxy()

```
```

```
In [23]:
```ros415.plotxyz()

```
```

```
In [24]:
```ros42 = p1.Rossler(4.2)
ros42.run()

```
In [25]:
```ros42.plotx()

```
```

```
In [26]:
```ros42.plotxy()

```
```

```
In [27]:
```ros42.plotxyz()

```
```

```
In [28]:
```ros57 = p1.Rossler(5.7)
ros57.run()

```
In [29]:
```ros57.plotx()

```
```

```
In [30]:
```ros57.plotxy()

```
```

```
In [31]:
```ros57.plotxyz()

```
```

```
In [32]:
```p1.plotmaxima('x')

```
```

```
In [33]:
```p1.plotmaxima('y')

```
```

```
In [34]:
```p1.plotmaxima('z')

```
```

```
In [ ]:
```