lorenz.py — Anaconda Enterprise 4.4 documentation

Anaconda Enterprise: Documentation

# lorenz.py

    import numpy as np
    from scipy.integrate import odeint

    from bokeh.plotting import figure, show, output_file

    sigma = 10
    rho = 28
    beta = 8.0/3
    theta = 3 * np.pi / 4

    def lorenz(xyz, t):
        x, y, z = xyz
        x_dot = sigma * (y - x)
        y_dot = x * rho - x * z - y
        z_dot = x * y - beta* z
        return [x_dot, y_dot, z_dot]

    initial = (-10, -7, 35)
    t = np.arange(0, 100, 0.006)

    solution = odeint(lorenz, initial, t)

    x = solution[:, 0]
    y = solution[:, 1]
    z = solution[:, 2]
    xprime = np.cos(theta) * x - np.sin(theta) * y

    colors = ["#C6DBEF", "#9ECAE1", "#6BAED6", "#4292C6", "#2171B5", "#08519C", "#08306B",]

    p = figure(title="lorenz example")

    p.multi_line(np.array_split(xprime, 7), np.array_split(z, 7),
                 line_color=colors, line_alpha=0.8, line_width=1.5)

    output_file("lorenz.html", title="lorenz.py example")

    show(p)  # open a browser