非线性迭代实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
探索实验二 非线性迭代
一、实验背景与实验目的
迭代是数学研究中的一个非常重要的工具,通过函数或向量函数由初始结点生成迭代结点列,也可通过函数或向量函数由初值(向量)生成迭代数列或向量列。 蛛网图也是一个有用的数学工具,可以帮助理解通过一元函数由初值生成的迭代数列的敛散性,也帮助理解平衡点(两平面曲线交点)的稳定性。
本实验在Mathematica 平台上首先利用蛛网图和迭代数列研究不动点的类型;其次通过蛛网图和迭代数列研究Logistic 映射,探索周期点的性质、认识混沌现象;第三通过迭代数列或向量列求解方程(组)而寻求有效的求解方法;最后,利用结点迭代探索分形的性质。
一、 实验计划
1.
迭代序列与不动点 1.1
程序
给定实数域上光滑的实值函数)(x f 以及初值0x ,定义数列
)(1n n x f x =+, ,2,1,0=n (2.2.1)
}{n x 称为)(x f 的一个迭代序列。
对函数的迭代过程,我们可以用几何图象来直观地显示它——“蜘蛛网”。运行下列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] (散点图)
1.2
实验思路
首先对函数3
85
25+-=
x x y 研究不动点,需要 (1)对Plot 中{x,-10,20}可改为{x,-50,50};对PlotRange 中{ -1,20}可改为{-50,50};
(2)x0=5.5中5.5分别改为-30,-20,-5,-3.001,-2.999,-1,0,1,1.5,2.5,4,4.5, 4.9,4.999,5,5.1,5.001,6,10,16,17,18,20,30;
(3)对t=Table[x[i],{i,1,20}]//N 中20分别改为100,200; (4)对i<=100中100分别改为200,500,1000。 运行程序后观察蛛网图与散点图!一看数列是否收敛?如收敛,极限是多少?收敛速度是快是慢?二看蛛网图中的轨道是否趋于平衡点?与平衡点处曲线的斜率有没有关系?三看初值对结果有没有影响?
其次,分别就x x f sin )(=,1)(+-=x x f 等函数利用(2.2.1)做迭代序列}{n x ,观察蛛网图中的轨道是否趋于平衡点和序列的收敛性。 2.
Logistic 映射与混沌 2.1
程序
从形如()()x ax x f -=1的二次函数开始做迭代
()
k
k x
f x
=+1
,1,0=k
(2.2.2)
这里,[]4,0∈a 是一个参数。对不同的a 系统地观察迭代(2.2.2)的行为。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]
2.2
实验思路
就Logistic 映射,对a =0.5,1,1.2,2,2.1,2.9,2.999,3,3.001,3.2,3.235,3.236,3.237,3.44等,分别取x 0= 0,0.2,0.5,0.8,1.0运行程序,观察结果。
观察结果就是看数列是否收敛,蛛网图中的轨道是否趋于平衡点,与a 的关系!对a 的定义范围[0,4]分成若干个区间,就初值(属于(0,1)时)看数列是否收敛,蛛网图中的轨道是否趋于平衡点?可用散点图认识。 对Logistic 映射讨论下列问题: