数学实验报告 数学建模

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数学实验报告

班级:应用物理091

学号:0902052016

姓名:李海瑞

2011.11.26

探索实验二非线性迭代

一,实验指导书解读

迭代是数学研究中的一个非常重要的工具,通过函数或向量函数由初始结点生成迭代结

点列,也可通过函数或向量函数由初值(向量)生成迭代数列或向量列。本实验主要分四步:首先利用蛛网图和迭代数列研究不动点的类型;

其次通过蛛网图和迭代数列研究Logistic映射,探索周期点的性质、认识混沌现象;

第三通过迭代数列或向量列求解方程(组)而寻求有效的求解方法;

最后,利用结点迭代探索分形的性质。

二,试验计划

2.1.迭代序列与不动点

对函数的迭代过程,我们可以用几何图象来直观地显示它——“蜘蛛网”。运行下列

Mathematica程序:

Clear[f]

f[x_] := (25*x - 85)/(x + 3); (实验时需改变函数)

Solve[f[x]==x , x] (求出函数的不动点)

g1=Plot[f[x], {x, -10, 20}, PlotStyle -> RGBColor[1, 0, 0],

DisplayFunction -> Identity];

g2=Plot[x, {x, -10, 10}, PlotStyle -> RGBColor[0, 1, 0],

DisplayFunction -> Identity];

x0=5.5; r = {};

r0=Graphics[{RGBColor[0, 0, 1],

Line[{{x0, 0}, {x0, x0}}]}];

For[i = 1, i <= 100, i++,

r=Append[r, Graphics[{RGBColor[0, 0, 1],

Line[{{x0, x0},

{x0, f[x0]}, {f[x0], f[x0]}}]

}]];

x0=f[x0]

];

Show[g1, g2, r, r0, PlotRange -> {-1, 20}, (PlotRange控制图形上下范围)

DisplayFunction -> $DisplayFunction]

x[0]=x0;

x[i_]:=f[x[i-1]]; (定义序列)

t=Table[x[i],{i,1,10}]//N

ListPlot[t] (散点图)

如果只需迭代n次产生相应的序列,用下列Mathematica程序:

Iterate[f_,x0_,n_Integer]:=

Module[{ t={},temp= x0},AppendTo[t,temp];

For[i=1,i <= n, i++,temp= f[temp];

AppendTo[t,temp]];

t

]

f[x_]:= (x+ 2/x)/2;

Iterate[f,0.7,10]

2.2.Logistic映射与混沌

Mathematica程序:

IterGeo[a_, x0_] :=

Module[

{p1, p2, i, pointlist = {}, v= x0, fv= a*x0*(1 - x0)},

p1=Plot[ {a*x*(1 - x), x}, {x, 0, 1}, DisplayFunction -> Identity];

AppendTo[pointlist, {x0, 0}];

For[i = 1, i < 20, i++, AppendTo[pointlist, {v, fv}];

AppendTo[pointlist, {fv, fv}];

v= fv; fv= 4*v*(1 - v)];

p2=ListPlot[pointlist, PlotJoined -> True,

DisplayFunction -> Identity];

Show[{p1, p2}, DisplayFunction -> $DisplayFunction]

]

IterGeo[2.6, 0.3]

将区间(0,4]以某个步长a

∆离散化,对每个离散的a值做迭代(2.2.2),忽略前50个迭代值,而把点()51,x

a,()52

,x

a显示在坐标平面上,最后形成的图形称为

a,…,()100

,x

Feigenbaum图。Mathematica程序:

Clear[f, a, x]; f[a_, x_] := a*x*(1 - x);

x0 = 0.5; r = {};

Do[

For[i = 1, i <= 300, i++,

x0 = f[a, x0];

If[i > 100, r = Append[r, {a, x0}]]

],

{a, 3.0, 4.0, 0.01}];

ListPlot[r]

在Logistic映射中,取4

a,任取两个初值使得它们之间的差的绝对值不超过0.l,运

=

行下列程序。

Sensitivity[n_Integer, x01_, x02_] :=

Module[

{pilist = {}, i, temp1=x01, temp2=x02},

For[i=1, i <= n, i++, temp1=4*temp1*(1-temp1);

temp2=4*temp2*(1-temp2);

AppendTo[pilist, {i, temp2-temp1}];

];

ListPlot[pilist, PlotJoined -> True]

]

Sensitivity[50, 0.1, 0.1001]

混沌不等于随机。实际上,在混沌区域之内,蕴涵着许多有序的规律。其Mathematica 程序:

相关文档
最新文档