Órbitas curva logística

La situación es la que se describe a continuación. Una población varía con el tiempo de forma que la población admite un valor máximo concreto que ajustaremos al valor numérico 1 y un valor mínimo que es 0. La población evoluciona en etapas discretas siguiendo la siguiente ley: f(x) = constante x (1 - x). El valor de x representa la población existente en un momento determinado (valor perteneciente al intervalo [0, 1]) y la constante determina las características de la evolución de la especie. f(x) representa el valor de la población en la etapa siguiente. Los sucesivos valores que se van obteniendo a partir de un valor concreto de la población inicial constituyen la órbita del elemento inicial. Las órbitas se comportan de forma muy distinta dependiendo del valor de la constante (aproximación a un punto fijo, a un punto eventualmente fijo, órbitas periódicas en las que en cierto momento los valores de la población comienzan a repetirse, comportamiento caótico). f(x) = c x (1 - x) se suele llamar curva logística, y el modelo fue usado en los años 70 por Edward Lorentz, Robert May, Mitchell Feigenbaum y otros. En cualquier caso, independientemente de su interés en relación con los comportamientos de las órbitas y con el estudio de fenómenos caóticos, el modelo no tiene utilidad práctica en estudios de evolución de poblaciones reales. DISEÑO DEL ARCHIVO: Este archivo se ha diseñado para estudiar el comportamiento de las órbitas de un valor inicial (semilla) que puede ser establecido por el usuario y para estudiar las órbitas en función del valor de la constante. El diseño del archivo no es complicado. Se ha hecho uso del comando Zip en una ocasión y se muestra un truco interesante si se quiere fijar las coordenadas de las esquinas e impedir que el usuario pueda usar la herramienta Zoom.
  • Se definen dos deslizadores. Uno llamado semilla: de 0 a 1 y otro llamado constante de 0 a 4.
  • Se define la función f(x) = constante x (1 - x) y la ocultamos.
  • Se obtienen los primeros 400 elementos de la órbita determinada por los valores establecidos con los deslizadores: orbita = IterationList[f, semilla, 400]
  • Para visualizar la órbita generamos 400 puntos: puntosOrbita = Zip[(X / 20, Y), X, Sequence[400], Y, orbita]
  • Ocultamos la secuencia obtenida anteriormente y definimos una línea poligonal a partir de ella: lineaPoligonalOrbita = Poligonal[puntosOrbita]
  • Se ha ajustado el dibujo rodeando, en la zona gráfica, la gráfica determinada por la órbita con una línea poligonal rectangular definida a partir de cuatro puntos que ocupan las esquinas.
  • Para que la zona gráfica no se pueda modificar usando las herramientas de zoom, hemos usado un truco interesante. Definimos cuatro deslizadores xMin, yMin, xMax e yMax para establecer los cuatro vértices de la zona gráfica que deseamos mostrar y que deseamos que sea fija.
  • Se establecen valores adecuados para cada deslizador en función de su posición y finalmente usamos el comando ZoomAcerca[xMin, yMin, xMax, yMax] que fija las coordenadas de las esquinas de la ventana gráfica y que impide que se modifiquen con la herramienta Zoom.
  • Por último se ocultan los cuatro últimos deslizadores utilizados
Carlos Fleitas, marzo de 2014