后勤图(图是一种功能,可将其在任何时间步长的值都变为下一个时间步长的值)是一个模型,其模型源于动物种群大小的预测。它之所以闻名,部分原因是其参数化的特殊情况显示出令人惊讶的混沌行为。逻辑映射方程为
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为增量,对于i = 0,将有一个x i 值序列,...,16。因此,对于每个r值,将有17个x i 值。使用x 0 = 0.01。根据您的实现,您可能会发现rbind
函数很有用。该代码可能需要花费几秒钟的时间才能运行,因为它将在S中生成很多点。R代码不超过10行。
诚然,这是一个实验作业;但是,我不是班上的学生。我正在学习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时,您才绘制一条直线。