matlab 迭代问题
这个问题的背景是关于混沌现象的一个称为Hénon映射的离散时间动态系统模型
其中经典Hénon映射取a = 1.4,b = 0.3,也就是题目中给的数据。
(1)按照要求,编写函数:
function [x, y] = henon(x0, y0, N)
x = [0; zeros(N,1)*NaN];
y = x;
for i = 1 : N
x(i+1) = 1 + y(i) - 1.4*x(i)^2;
y(i+1) = 0.3 * x(i);
end
输入参数分别为初值x0、y0以及迭代次数,输出为迭代结果。
(2)调用函数
x0 = 0.1; y0 = 0.2;
[x, y] = henon(x0, y0, 100);
disp([x(end) y(end)])
结果为 xk
=
-1.2493,
yk
=
0.3805。
(3)调用函数
x0 = 0; y0 = 0;
[x, y] = henon(x0, y0, 30000);
plot(x, y, '.')
xlabel x, ylabel y
...展开
这个问题的背景是关于混沌现象的一个称为Hénon映射的离散时间动态系统模型
其中经典Hénon映射取a = 1.4,b = 0.3,也就是题目中给的数据。
(1)按照要求,编写函数:
function [x, y] = henon(x0, y0, N)
x = [0; zeros(N,1)*NaN];
y = x;
for i = 1 : N
x(i+1) = 1 + y(i) - 1.4*x(i)^2;
y(i+1) = 0.3 * x(i);
end
输入参数分别为初值x0、y0以及迭代次数,输出为迭代结果。
(2)调用函数
x0 = 0.1; y0 = 0.2;
[x, y] = henon(x0, y0, 100);
disp([x(end) y(end)])
结果为 xk
=
-1.2493,
yk
=
0.3805。
(3)调用函数
x0 = 0; y0 = 0;
[x, y] = henon(x0, y0, 30000);
plot(x, y, '.')
xlabel x, ylabel y
收起