x(k+1)=bx(k)(1-x(k),对于b=2.5:0.01:3.5,求解方程收敛点,并作出b与收敛点的图
时间: 2023-06-19 19:08:03 浏览: 110
c代码-求ax平方+bx+c+=0
5星 · 资源好评率100%
这个方程是一个经典的混沌系统——Logistic 映射。我们可以通过迭代计算来找到方程的收敛点。
首先,我们需要定义一个迭代函数,输入当前的 x,输出下一次迭代的结果:
```matlab
function y = logistic(x, b)
y = b * x * (1 - x);
end
```
接下来,我们定义一个函数,用于迭代计算,并返回收敛点:
```matlab
function x = find_converge_point(b, x0)
x = x0;
for i = 1:1000
x = logistic(x, b);
end
for i = 1:1000
x = logistic(x, b);
if abs(x - 0.5) < 1e-8 % 当 x 收敛到 0.5 时,认为已经找到收敛点
break;
end
end
end
```
最后,我们可以通过循环计算不同的 b 值对应的收敛点,并作出 b 与收敛点的图:
```matlab
b = 2.5:0.01:3.5;
x0 = 0.6;
x = zeros(size(b));
for i = 1:length(b)
x(i) = find_converge_point(b(i), x0);
end
plot(b, x, '.');
xlabel('b');
ylabel('x');
```
运行上述代码,即可得到 b 与收敛点的图。这个图展示了不同的 b 值对应的系统行为的巨大差异,这也是混沌系统的一个重要特征。
阅读全文