<jupyter_start><jupyter_text>Teoría del caosPor medio de un sistema caótico conocido como atractores de Clifford se comprobarán algunos puntos relevantes en la teoría del caos. Se utilizarán herramientas de python para la simulación.  Objetivos Objetivo generalConocer más sobre la teoría del caos.Demostrar las 3 características principales que cumplen los sistemas caóticos. Objetivos específicosEvaluar en un modelo caótico distintos parámetros para comprobar que la misma función puede dar como producto resultados distintos. Graficar los resultados y compararlos. Modelo que representa el sistemaNuestro modelo caótico será:Xn+1 = 𝑠𝑖𝑛(𝑎*𝑦𝑛)+ 𝑐*(𝑐𝑜𝑠(𝑎*𝑥𝑛))Yn+1 = 𝑠𝑖𝑛(𝑏*𝑥𝑛) + 𝑑*(𝑐𝑜𝑠(𝑏*𝑦𝑛))Dónde xn,yn son los puntos anteriores a xn+1,yn+1A,b,c,d son los parámetros de los cuales tenemos control.<jupyter_code>import matplotlib.pyplot as plt
import numpy as np
from numpy import sin, cos
import bokeh
from bokeh.io import output_file, show
from bokeh.plotting import figure
from bokeh.transform import linear_cmap
from bokeh.util.hex import hexbin
def clifford(xy,a,b,c,d):
    x = xy[0]
    y = xy[1]
    return sin(a*y) + c*(cos(a*x)), sin(b*x) + d*(cos(b*y))
CI = [1,1]
l = []
for i in range(10000000):
    CI = clifford(CI,-1.4,1.6,1,.7)
    l.append(CI)
l = np.array(l)
plt.scatter(l.T[0],l.T[1])
bins = hexbin(l.T[0],l.T[1], 0.025)
p = figure(tools="wheel_zoom,reset", match_aspect=True, background_fill_color='#440154')
p.grid.visible = False

p.hex_tile(q="q", r="r", size=0.1, line_color=None, source=bins,
           fill_color=linear_cmap('counts', 'Viridis256', 0, max(bins.counts)))

show(p)
CI = [1,1]
l = []
for i in range(5000000):
    CI = clifford(CI,1.7,1.7,0.6,1.2)
    l.append(CI)
l = np.array(l)
plt.scatter(l.T[0],l.T[1])
bins = hexbin(l.T[0],l.T[1], 0.025)
p = figure(tools="wheel_zoom,reset", match_aspect=True, background_fill_color='#440154')
p.grid.visible = False

p.hex_tile(q="q", r="r", size=0.1, line_color=None, source=bins,
           fill_color=linear_cmap('counts', 'Viridis256', 0, max(bins.counts)))

show(p)
CI = [1,1]
l = []
for i in range(5000000):
    CI = clifford(CI,-1.7,1.3,-0.1,-1.2)
    l.append(CI)
l = np.array(l)
plt.scatter(l.T[0],l.T[1])
bins = hexbin(l.T[0],l.T[1], 0.025)
p = figure(tools="wheel_zoom,reset", match_aspect=True, background_fill_color='#440154')
p.grid.visible = False

p.hex_tile(q="q", r="r", size=0.1, line_color=None, source=bins,
           fill_color=linear_cmap('counts', 'Viridis256', 0, max(bins.counts)))

show(p)
CI = [1,1]
l = []
for i in range(500000):
    CI = clifford(CI,-1.7,2.9,-2.1,-3.2)
    l.append(CI)
l = np.array(l)
plt.scatter(l.T[0],l.T[1])
bins = hexbin(l.T[0],l.T[1], 0.025)
p = figure(tools="wheel_zoom,reset", match_aspect=True, background_fill_color='#440154')
p.grid.visible = False

p.hex_tile(q="q", r="r", size=0.1, line_color=None, source=bins,
           fill_color=linear_cmap('counts', 'Viridis256', 0, max(bins.counts)))

show(p)
CI = [4,8]
l = []
for i in range(5000000):
    CI = clifford(CI,-1.4,1.6,1,.7)
    l.append(CI)
l = np.array(l)
plt.scatter(l.T[0],l.T[1])
bins = hexbin(l.T[0],l.T[1], 0.025)
p = figure(tools="wheel_zoom,reset", match_aspect=True, background_fill_color='#440154')
p.grid.visible = False

p.hex_tile(q="q", r="r", size=0.1, line_color=None, source=bins,
           fill_color=linear_cmap('counts', 'Viridis256', 0, max(bins.counts)))

show(p)<jupyter_output><empty_output>
StarcoderdataJupyterStructuredCleanDedup