高分求一道迭代模型的matlab编程问题,题目如图。答案私信我,千万私信!!!(答得好追加)

在线坐等... 在线坐等 展开
 我来答
tianxiawulang
2016-06-25 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2629万
展开全部

承蒙楼上的知友抬爱,把我两年半之前回答一个问题(编号687646670441069324)的答案一字不改的复制过来了。其实那段代码是我在上某门课时为了观察Hénon引力线的迭代过程而编写的,与当时问题的要求也并不太相符。

 

这个问题的背景是关于混沌现象的一个称为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

来自:求助得到的回答
剪断了翅膀的cv
2016-06-25 · TA获得超过176个赞
知道小有建树答主
回答量:193
采纳率:0%
帮助的人:145万
展开全部
N=3000;
x=[0; zeros(N,1)*NaN];
y=x;
clf
tail = plot(x,y,'.','color',[1 1 1]*0.75,'markersize',5);
hold on
head = plot(NaN,NaN,'.','markersize',25);
title(['x_{k+1} = 1+y_k+1.4*x_k^2' 10 'y_{k+1} = 0.3x_k']);
xlabel('x');
ylabel('y');
for i=1:N
x(i+1)=1+y(i)-1.4*x(i)^2;
y(i+1)=0.3*x(i);
try
set(tail,'xData',x,'yData',y)
set(head,'xData',x(i+1),'yData',y(i+1))
drawnow
catch
break
end
end
追问
把别人的复制过来有什么用。。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式