我正在尝试迭代并绘制由等式x[n+1] = 4*x[n]*(1-x[n])
给出的Logistic map非线性函数。我在https://www.mathworks.com/matlabcentral/answers/122101-plotting-f-x-as-a-function-of-x-logistic-map
我只跟踪了N
点的数量,并且我的实现中起始初始条件不同。我不知道为什么我在输出中没有得到任何值;大多是零价值。当初始条件为x[1] = 0.5
时,我得到图中给出的奇怪图。但是当初始条件为0.3时,我得到了正确的Logistic映射。从理论上讲,初始条件可以是介于0和1之间的任何数字。那么,为什么在初始条件为0.5时代码不起作用?
有什么问题?
N=20000; % number of data points
x = zeros(1,N);
x(1) = 0.5; % initial condition (can be anything from 0 to 1)
for n = 1:N
x(n+1) = 4*x(n)*(1-x(n));
end
plot(x(1:N),x(2:N+1),'rs-')
xlabel('x_n')
ylabel('x_{n+1}')
这是情节
答案 0 :(得分:2)
您获得的结果是正确的。让我用下面的蜘蛛网图解释它(来源:http://sites.saintmarys.edu/%7Esbroad/example-logistic-cobweb.html)
抛物线是曲线y = 4*x*(1-x)
,蓝色线性曲线是y=x
。确定点x[n]
的方式如下:
(x0,y(x0))
点开始(通常会绘制(x0,0)
的行)x[n+1]
。x[n]=x[n-1]
(稳定点)或x[n]=x[n-m]
(周期性)注意稳定点是抛物线和线性曲线相交的地方。
将此方法应用于您的参数会给出:
(0.5,1)
(1,1)
(1,0)
(这是x[1]
)(0,0)
(0,0)
(这是x[2]
)(0,0)
(0,0)
(这是x[3]
)所以你恰好结束了稳定点。