Логистическая карта (карта - это функция, которая принимает значение на любом временном шаге к значению на следующем временном шаге) - это модель, которая берет свое начало в прогнозировании размеров популяции животных. Он стал известен, в частности, благодаря особым случаям его параметризации, которые демонстрируют удивительное хаотическое поведение. Уравнение логистической карты
x i + 1 = rx i (1 - x i )
, где x i ∈ [0,1] - это соотношение значений текущего размера популяции к максимально возможному размеру в момент времени i, x i + 1 - это соотношение на следующем поколение и r - скорость движения, представляющая размножение и смерть животных. Для r <3,5 население в конечном итоге достигает стабильного размера или будет колебаться между набором фиксированных значений. Однако если r> 3,5, то система дестабилизируется и демонстрирует хаотическое поведение!
Это фон или контекст для следующего постановки задачи:
Генерирует набор точек S = {r, x}, где для каждого r ∈ [1.0, 4.1] с шагом 0,001025 будет последовательность значений x i для i = 0, ..., 16. Таким образом, для каждого значения r будет 17 x i значений. Используйте x 0 = 0,01. В зависимости от вашей реализации, функция rbind
может оказаться полезной. Выполнение кода может занять несколько секунд, так как он сгенерирует много точек в S. Не более 10 строк кода R.
Правда, это лабораторное задание; однако я не ученик в классе. Я изучаю R, и я пытаюсь проработать онлайн-задания и найти решение самостоятельно. Я попытался создать набор точек для построения графика, и на основании ручной проверки нескольких точек набор выглядит точным.
for(j in c(0:3024)) {
rm(x)
x <- 1:17
x[1] <- 0.01
r <- 1 + (j * 0.001025)
for(i in c(1:(17-1))) {
x[i+1] <- r *x[i] * (1 - x[i])
}
if (j==0) {
binded <- cbind(r,x)
} else {
binded <- rbind(binded, cbind(r,x))
}
}
Когда я вызываю plot(binded, pch='.')
RStudio отображает результат в виде прямой линии. Поэтому я не уверен, правильно ли я использую график, или даже правильно ли я генерирую все точки. Если я уменьшу максимальное значение j
до значения меньше 2000, вы увидите график; только когда значение j
повторяется до 3024, вы строите прямую линию.