matlab 迭代问题

 我来答
lhmhz
高粉答主

2016-06-25 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17007

向TA提问 私信TA
展开全部

1)建立迭代模型函数文件

function [xk1,yk1]=iterative(xk,yk)

xk1=1+yk-1.4*xk^2;

yk1=0.3*xk;

end

2)利用循环语句,求xk,yk值

当x0=0.1,y0=0.2,k=100时的xk,yk值

k=0;xk=0.1;yk=0.2

k=1;xk=1.186;yk=0.03

k=2;xk=-0.93923;yk=0.3558

k=3;xk=0.12077;yk=-0.28177

k=4;xk=0.69781;yk=0.036232

k=5;xk=0.35452;yk=0.20934

........

k=97;xk=0.45573;yk=0.1404

k=98;xk=0.84964;yk=0.13672

k=99;xk=0.12608;yk=0.25489

k=100;xk=1.2326;yk=0.037823

3)在2)基础求得

用scatter(xk,yk,'*')绘出,当x0=0,y0=0,k=30000时的xk与yk关系图形

匿名用户
2016-06-25
展开全部

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

   

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式