南通大学数学实验 非线性迭代.docx
- 文档编号:25424181
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:8
- 大小:19.65KB
南通大学数学实验 非线性迭代.docx
《南通大学数学实验 非线性迭代.docx》由会员分享,可在线阅读,更多相关《南通大学数学实验 非线性迭代.docx(8页珍藏版)》请在冰豆网上搜索。
南通大学数学实验非线性迭代
南通大学数学实验非线性迭代
南通大学实验报告非线性迭代学院:
理学院班级:
数师153班学号:
1502019072姓名:
顾阳一、实验解读迭代是数学研究中的一个非常重要的工具,通过函数或向量函数由初始结点生成迭代结点列,也可通过函数或向量函数由初值(向量)生成迭代数列或向量列。
蛛网图也是一个有用的数学工具,可以帮助理解通过一元函数由初值生成的迭代数列的敛散性,也帮助理解平衡点(两平面曲线交点)的稳定性。
本实验在Mathematica平台上首先利用蛛网图和迭代数列研究不动点的类型;其次通过蛛网图和迭代数列研究Logistic映射,探索周期点的性质、认识混沌现象;第三通过迭代数列或向量列求解方程(组)而寻求有效的求解方法;最后,利用结点迭代探索分形的性质。
二、实验计划1.迭代序列与不动点1.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},DisplayFunction-$DisplayFunction]x[0]=x0;x[i_]:
=f[x[i-1]];t=Table[x[i],{i,1,10}]//NListPlot[t]1.2实验思路首先对函数38525+=xxy研究不动点,需要
(1)对Plot中{x,-10,20}可改为{x,-50,50};对PlotRange中{-1,20}可改为{-50,50};
(2)x0=5.5中5.5分别改为-30,-20,-5,-1,0,1,5,5.1,5.001,16,17,18,20,30;(为了图像清楚,将t=Table[x[i],{i,1,10}]//N中10分别改为20)(3)对t=Table[x[i],{i,1,20}]//N中20分别改为100,200,500,1000;(4)对i=100中100分别改为200,500,1000。
运行程序后观察蛛网图与散点图!
一看数列是否收敛,如收敛,极限是多少?
收敛速度是快是慢?
二看蛛网图中的轨道是否趋于平衡点,与平衡点处曲线的斜率有没有关系,三看初值对结果有没有影响。
其次,分别就xxfsin)(=,1)(+=xxf等函数迭代序列}{nx,观察蛛网图中的轨道是否趋于平衡点和序列的收敛性。
2.Logistic映射与混沌2.1程序从形如()()xaxxf=1的二次函数开始做迭代()kkxfx=+1,1,0=k这里,[]4,0a是一个参数。
对不同的a系统地观察迭代的行为。
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,i20,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等,分别取x0=0,0.2,0.5,0.8,1.0运行程序,观察结果。
观察结果就是看数列是否收敛,蛛网图中的轨道是否趋于平衡点,与a的关系!
对a的定义范围[0,4]分成若干个区间,就初值(属于(0,1)时)看数列是否收敛,蛛网图中的轨道是否趋于平衡点?
可用散点图认识。
对Logistic映射讨论下列问题:
(1)找出一个a值,它对应的迭代具有2周期点。
这种性质依赖于初值吗?
你能找到多个a值具有这种性质吗?
(2)你能对任意的k找到一个a值,使得它对应的迭代具有k周期点吗?
哪些k值能给出k周期点?
在每种情况下,结果是否依赖于初值的选取?
(3)如果某个a值能给出周期点,它是否一定是吸引的周期点?
你能否找到排斥的周期点?
(4)试着从理论上分析:
()xf的不动点是什么?
对哪些a值迭代收敛到每个不动点?
哪些初值收敛到不动点?
哪些初值导致发散?
对周期点做类似的分析。
研究锯齿函数和帐篷函数的混沌行为时,分别取x0=0,0.2,0.5,0.8,1.0运行程序(改变函数,要修改函数的定义方式),研究数列及蛛网图中的轨道。
3.方程求根3.1程序对于代数方程g(x)=0,其根可用下列程序求得Solve[g(x)==0,x]也可用下列程序求得g[x_]:
=exprPlot[g[x],{x,a,b}]FindRoot[g(x)==0,{x,x0}]将方程0)(=xg改写为等价的方程)(xfx=,然后选取一初值利用(2.2.1)作迭代,迭代数列}{nx收敛的极限就是方程0)(=xg的解。
即求方程0)(=xg的根等价于求函数)(xf的不动点。
注意:
由0)(=xg可得不同的等价的方程)(xfx=。
例如取12)(3+=xxxg,而)(xf可取为213+x,212xx,也可取为312x。
由于不动点分吸引型和排斥型,因此0)(=xg的根为)(xf的排斥不动点时,就不能通过迭代函数)(xf以及一个初值0x利用(2.2.1)迭代求解,因为此时得到的数列}{nx不收敛。
这时需要新的方法,Newton切线法就是其中之一。
其迭代数列Mathematica程序如下:
Iterate[f_,x0_,n_Integer]:
=Module[{t={},temp=x0},AppendTo[t,temp];For[i=1,i=n,i++,temp=N[x0-f[x0]/h[x0]];AppendTo[t,temp]];t]f[x_]:
=x_-2*x+1;h[x_]=Dt[f[x],x];Iterate[f,4,10]而要通过几何直观观察,可由如下Mathematica程序实现:
Clear[f]f[x_]:
=x_-2*x+1;g1=Plot[f[x],{x,2,5},PlotStyle-RGBColor[1,0,0],DisplayFunction-Identity];x0=4;r={};h[x_]=Dt[f[x],x];For[i=1,i=100,i++,If[h[x0]0,x1=N[x0-f[x0]/h[x0],20]];r=Append[r,Graphics[{RGBColor[0,0,1],Line[{{x0,0},{x0,f[x0]},{x1,0}}]}]];x0=x1];Show[g1,r,PlotRange-{-20,20},DisplayFunction-$DisplayFunction]3.2实验思路对于方程0123=+xx,首先分别考虑函数213+x,212xx,312x,取不同的初值x0(例如-9,-5,-2,-1,-0.5,0,0.5,1,2,8,10等),生成相应的数列。
若数列有极限,则极限即为所求根。
其次用牛顿切线法求根,取不同的初值x0(例如-9,-5,-2,-1,-0.5,0,0.5,1,2,8,10等),由此数列的极限即为所求根。
思考:
为何数列收敛?
分析原因!
此外,初值x0决定数列的极限吗?
最后考虑用其它方法求根。
而对于sinx-x+1=0及其它方程求根,类同上述步骤。
三、实验结果1.迭代序列与不动点对于函数38525+=xxy,在Mathematica5.0上输入程序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},DisplayFunction-$DisplayFunction]x[0]=5.5;x[i_]:
=f[x[i-1]];t=Table[x[i],{i,1,10}]//NListPlot[t]运行结果为:
(1)中对{x,-10,20}可改为{x,-50,50},对PlotRange中{-1,20}可改为{-50,50},结果为
(2)x0=5.5中5.5分别改为-30,-20,-5,-1,0,1,5,5.1,5.001,16,17,18,20,30。
(为了方便下面作图,现将t=Table[x[i],{i,1,10}]//N中10改为20)xo稳定点蛛网图散点图-305,17-205,17-55,17-15,1705,1715,175.15,175.00015,17165,17175,17185.17205,17305,17实验观察:
1.数列收敛,极限为17,收敛速度慢;2.发现5,17都是平衡点,5是不稳定平衡点,而17是稳定平衡点;3.蛛网图中的轨道趋近于平衡点17,与平衡点处的斜率相接近;4.初值对平衡点没有影响,但是当初值越接近17,平衡点处曲线的斜率越接近,越多散点在一条直线上。
(3)把t=Table[x[i],{i,1,20}]//N中20改为蛛网图散点图100200500由于范围过大,图像无法显示1000由于范围过大,图像无法显示实验观察:
随着i的范围的变大,数列始终收敛,极限为17,收敛速度较快;(4)对i=100中100蛛网图散点图分别改为2005001000实验观察:
1.数列收敛,极限为17,收敛速度慢;2.数列收敛,与循环次数i无关。
(5)分别就f(x)=sinx,f(x)=-x+1,f(x)=-x+1等函数做迭代序列}{nx,观察蛛网图中的轨道是否趋于平衡点和序列的收敛性。
函数蛛网图散点图f(x)=sinxf(x)=-x+1-10-55105101520实验观察:
1.函数f(x)=sinx的散点图不收敛;2.函数f(x)=-x+1的数列不收敛,有两个平衡点,并且都是不稳定的。
3.Logistic映射与混沌在Mathematica5.0上输入程序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,i20,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]得到实验结果:
(1)输入程序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[i100,r=Append[r,{a,x0}]]],{a,3.0,4.0,0.01}];ListPlot[r]得到的结果为;实验观察:
从极限分支点之后,Feigenbaum图显得很杂乱,似乎没有任何规律。
则知道迭代对初值有敏感性以及某种无序性
(2)输入程序:
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]得到的结果为:
实验观察:
迭代对初值是敏感的,无论他们的初值如何接近,即使他们的绝对值之差小于0.01,0.001,最后他们也会渐渐分开。
(3)就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运行程序,结果如下:
aX0蛛网图0.500.20.40.60.810.10.20.30.40.20.20.40.60.810.20.40.60.810.50.20.40.60.810.20.40.60.810.80.20.40.60.810.20.40.60.811.00.20.40.60.810.10.20.30.4100.20.40.60.810.10.20.30.40.50.60.20.20.40.60.810.20.40.60.810.50.20.40.60.810.20.40.60.810.80.20.40.60.810.20.40.60.811.00.20.40.60.810.10.20.30.40.50.61.200.20.40.60.810.20.40.60.810.20.20.40.60.810.20.40.60.810.50.20.40.60.810.20.40.60.810.80.20.40.60.810.20.40.60.811.00.20.40.60.810.20.40.60.81200.20.40.60.810.20.40.60.810.20.20.40.60.810.20.40.60.810.50.20.40.60.810.20.40.60.810.80.20.40.60.810.20.40.60.811.00.20.40.60.810.20.40.60.812.100.20.40.60.810.20.40.60.810.20.20.40.60.810.20.40.60.810.50.20.40.60.810.20.40.60.810.80.20.40.60.810.20.40.60.811.00.20.40.60.810.20.40.60.812.900.20.40.60.810.20.40.60.810.20.20.40.60.810.20.40.60.810.50.20.40.60.810.20.40.60.810.80.20.40.60.810.20.40.60.811.00.20.40.60.810.20.40.60.812.99900.20.40.60.810.20.40.60.810.20.20.40.60.810.20.40.60.810.50.20.40.60.810.20.40.60.810.80.20.40.60.810.20.40.60.811.00.20.40.60.810.20.40.60.81300.20.40.60.810.20.40.60.810.20.20.40.60.810.20.40.60.810.50.20.40.60.810.20.40.60.810.80.20.40.60.810.20.40.60.811.00.20.40.60.810.20.40.60.813.00100.20.40.60.810.20.40.60.810.20.20.40.60.810.20.40.60.810.50.20.40.60.810.20.40.60.810.80.20.40.60.810.20.40.60.811.00.20.40.60.810.20.40.60.813.200.20.40.60.810.20.40.60.810.20.20.40.60.810.20.40.60.810.50.20.40.60.810.20.40.60.810.80.20.40.60.810.20.40.60.811.00.20.40.60.810.20.40.60.813.23500.20.40.60.810.20.40.60.810.20.20.40.60.810.20.40.60.810.50.20.40.60.810.20.40.60.810.80.20.40.60.810.20.40.60.811.00.20.40.60.810.20.40.60.813.4400.20.40.60.810.20.40.60.810.20.20.40.60.810.20.40.60.810.50.20.40.60.810.20.40.60.810.80.20.40.60.810.20.40.60.811.00.20.40.60.810.20.40.60.81实验观察:
1.当a取2.9,2.999,3,3.001等时,它对应的迭代具有二周期点;2.初值对实验结果没有影响。
3.二次函数取不同的首项系数,可能得到以下几种结果:
轨道可能趋于一个固定值,可能是一个环状轨道,结果与初值无关3.方程求根方程X_-2X+1=0分别考虑函数213+x,212xx,312x,取不同的初值x0(例如-9,-5,-2,-1,-0.5,0,0.5,1,2,8,10等),生成相应的数列.若数列有极限,则极限即为所求根。
-4-224-4-224结果观察:
函数的根是-1.6,0.6,1
(1)其次用牛顿切线法求根,取不同的初值X0图像迭代数列-9-1.5-1-0.5-4-224{-9,-6.05394,-4.12,-2.87939,-2.13116,-1.75122,-1.63065,-1.61816,-1.61803,-1.61803,-1.61803}-5-1.5-1-0.5-4-224{-5,-3.43836,-2.4591,-1.90448,-1.66817,-1.62,-1.61804,-1.61803,-1.61803,-1.61803,-1.61803}-2-1.5-1-0.5-4-224{-2,-1.7,-1.62309,-1.61806,-1.61803,-1.61803,-1.61803,-1.61803,-1.61803,-1.61803,-1.61803}-1-2.5-2-1.5-1-0.5-4-224{-1,-3.,-2.2,-1.78083,-1.6363,-1.6183,-1.61803,-1.61803,-1.61803,-1.61803,-1.61803}-0.5-4-224-4-224{-0.5,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.}00.6180340.6180340.6180340.618034-4-224{0,0.5,0.6,0.617391,0.618033,0.618034,0.618034,0.618034,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南通大学数学实验 非线性迭代 南通 大学 数学 实验 非线性
![提示](https://static.bdocx.com/images/bang_tan.gif)