Español   Ejemplos: Nube de puntos

Diagrama de bifurcación

El diagrama de bifurcación se obtiene representando la función f(x) = k · x · (1 - x) para diferentes valores de k (constante).

Empezamos con k = 1 y x = 0.01 , hallamos el valor de la función y lo dibujamos en pantalla. Se sustituye este valor en la fórmula y se halla un nuevo valor de x. Repetimos este proceso 64 veces para, a continuación, incrementar ligeramente el valor de k y reiniciar el proceso.

Cuando k es menor que 2.8, se obtiene una curva simple pero, a medida que k crece, la curva se desdobla en dos ya que la fórmula tiene dos estados estables. A mayores valores de k, el comportamiento se vuelve caótico y se representa un gran número de puntos.

para empezar
# Inicializamos papel, lapiz y tortuga
  reponetodo pontamañopantalla [400 400]
  poncolorpapel negro subelapiz ocultatortuga
#
# Cambia los valores inicial y final para dibujos mayores
  haz "inicial 1 haz "final 4
  haz "paso (:final-:inicial)/360
#
  leyenda poncolorlapiz verde
  haz "x 0.1 haz "k :inicial
# Hacemos una primera iteracion para eliminar
# unos puntos "raros" que aparecen al principio
  repite 128 [
  haz "xn funcion :k :x
  haz "x :xn]
# Iteracion verdadera
  repitepara (lista "k :inicial :final :paso)
   [ repite 64 [
    haz "xn funcion :k :x
    haz "x :xn
# calculamos horiz x
    haz "xh (360/(:final-:inicial))*:k-180 -
      ((360/(:final-:inicial))*:inicial)
  punto lista :xh (360*:x)-180] ]
fin

para funcion :k :x
  devuelve :k * :x * (1-:x)
fin

para leyenda
# Muestra encabezado y pie
  subelapiz poncolorlapiz blanco ponrumbo 0
  ponposicion [-190 182] rotula [Diagrama de bifurcacion]
  ponposicion [-190 -190]
  rotula ( lista "k\ = :inicial "to :final )
fin


Probar este programa ahora

Procedimiento a ejecutar:
empezar