非线性迭代概论文档格式.docx
- 文档编号:13950026
- 上传时间:2022-10-15
- 格式:DOCX
- 页数:31
- 大小:590.56KB
非线性迭代概论文档格式.docx
《非线性迭代概论文档格式.docx》由会员分享,可在线阅读,更多相关《非线性迭代概论文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
本实验在Mathematica平台上首先利用蛛网图和迭代数列研究不动点的类型;
其次通过蛛网图和迭代数列研究Logistic映射,探索周期点的性质、认识混沌现象;
第三通过迭代数列或向量列求解方程(组)而寻求有效的求解方法;
最后,利用结点迭代探索分形的性质。
二、实验计划
1.迭代序列与不动点
(1)实验程序
给定实数域上光滑的实值函数以及初值,定义数列
,(2.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],
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]
x[0]=x0;
x[i_]:
=f[x[i-1]];
(定义序列)
t=Table[x[i],{i,1,10}]//N
ListPlot[t](散点图)
观察蜘蛛网通过改变初值,你能得出什么结论?
如果只需迭代次产生相应的序列,用下列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)实验思路
首先对函数研究不动点,需要
(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,10}]//N中10分别改为100,200,500,1000;
(4)对i<
=100中100分别改为200,500,1000。
运行程序后观察蛛网图与散点图!
一看数列是否收敛?
如收敛,极限是多少?
收敛速度是快是慢?
二看蛛网图中的轨道是否趋于平衡点?
与平衡点处曲线的斜率有没有关系?
三看初值对结果有没有影响?
其次,分别就,等函数利用(2.2.1)做迭代序列,观察蛛网图中的轨道是否趋于平衡点和序列的收敛性。
2.Logistic映射与混沌
从形如的二次函数开始做迭代
(2.2.2)
这里,是一个参数。
对不同的系统地观察迭代(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->
AppendTo[pointlist,{x0,0}];
20,i++,AppendTo[pointlist,{v,fv}];
AppendTo[pointlist,{fv,fv}];
v=fv;
fv=4*v*(1-v)];
p2=ListPlot[pointlist,PlotJoined->
True,
Show[{p1,p2},DisplayFunction->
IterGeo[2.6,0.3]
将区间(0,4]以某个步长离散化,对每个离散的值做迭代(2.2.2),忽略前50个迭代值,而把点,,…,显示在坐标平面上,最后形成的图形称为Feigenbaum图。
Clear[f,a,x];
f[a_,x_]:
=a*x*(1-x);
x0=0.5;
Do[
=300,i++,
x0=f[a,x0];
If[i>
100,r=Append[r,{a,x0}]]
],
{a,3.0,4.0,0.01}];
ListPlot[r]
从极限分支点之后,Feigenbaum图显得很杂乱,似乎没有任何规律。
实际上,对任何初始值做迭代都会得到同样的结果。
这就是所谓的混沌现象。
迄今为止,混沌并没有确切的数学定义,但它具有一些基本的特性,如对初值的敏感性以及某种无序性,由此产生类似于随机的现象。
所谓一个迭代对初值是敏感的意思是,无论两个初值如何接近,在迭代过程中它们将渐渐分开。
这是任何一个混沌系统都具有的特性之一,这种特性使得混沌系统会产生似乎是随机的、没有规律的现象。
在Logistic映射中,取,任取两个初值使得它们之间的差的绝对值不超过0.l,运行下列程序,观察结果后回答问题:
在迭代过程中它们逐渐分开吗?
如果两个初值之间的差的绝对值不超过0.01,0.001,结果会如何?
由此得出,函数的迭代对初值是否敏感?
其Mathematica程序:
Sensitivity[n_Integer,x01_,x02_]:
{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]
一个简单的、确定的二次选代可以产生非常复杂的、看似随机的行为。
但是,混沌不等于随机。
实际上,在混沌区域之内,蕴涵着许多有序的规律。
这正验证了哲学上的名言:
有序中包含了无序,无序中包含着有序。
distrib[n_Integer,m_Integer,x0_]:
Module[{i,temp=x0,g1,f,k,c=Table[0,{i,m}]},For[i=1,in,i++,temp=4*temp*(1-temp);
If[temp1,c[[m]]++,c[[Floor[temp*m]+1]]++]];
f[k_]:
=Graphics[{GrayLevel[0.5],Rectangle[{k-0.5,0},{k+0.5,c[[k]]}]}];
g1=Table[f[k],{k,1,m}];
Show[g1,AxesTrue,PlotLabel->
"
x0=0.4"
];
]
n=100;
m=20;
x0=0.4;
distrib[n,m,x0]
另一个说明混沌不是随机的事实是,混沌区域有许多有序的窗口。
将这些窗口放大可以看到令人振奋的自相似现象,同时还有许多周期轨道。
在Feigenbaum图的右部,你应当能看到一个由三条曲线穿过的空白带,它是一个“周期为3的窗口”。
你能找到其它窗口吗?
它们的周期是什么?
窗口里有什么图案?
这些窗口跟上题的第二问中的周期轨道有什么关系?
运行下列程序,听一听混沌的声音
PlayChaos[n_Integer,x0_]:
{t={},i,temp=x0},
=n,i++,temp=4*temp*(1-temp);
AppendTo[t,Floor[temp*100]]];
ListPlay[t,PlayRange->
{0,100},SampleRate->
5]
就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等,分别取x0=0,0.2,0.5,0.8,1.0运行程序,观察结果。
观察结果就是看数列是否收敛,蛛网图中的轨道是否趋于平衡点,与a的关系!
对a的定义范围[0,4]分成若干个区间,就初值(属于(0,1)时)看数列是否收敛,蛛网图中的轨道是否趋于平衡点?
可用散点图认识。
对Logistic映射讨论下列问题:
1)找出一个值,它对应的迭代具有2周期点。
这种性质依赖于初值吗?
你能找到多个值具有这种性质吗?
2)你能对任意的找到一个值,使得它对应的迭代具有周期点吗?
哪些值能给出周期点?
在每种情况下,结果是否依赖于初值的选取?
3)如果某个值能给出周期点,它是否一定是吸引的周期点?
你能否找到排斥的周期点?
4)试着从理论上分析:
的不动点是什么?
对哪些值迭代收敛到每个不动点?
哪些初值收敛到不动点?
哪些初值导致发散?
对周期点做类似的分析。
研究锯齿函数和帐篷函数的混沌行为时,分别取x0=0,0.2,0.5,0.8,1.0运行程序(改变函数,要修改函数的定义方式),研究数列及蛛网图中的轨道。
3.方程求根
对于代数方程g(x)=0,其根可用下列程序求得
Solve[g(x)==0,x]
也可用下列程序求得
g[x_]:
=expr
Plot[g[x],{x,a,b}]
FindRoot[g(x)==0,{x,x0}]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 非线性 概论