数学实验与数学建模实验报告学院:理学院班级:数学师范132学号:1302012055姓名:张倩实验名称:非线性迭代指导教师:刘晓惠填写日期:2014年12月一、实验背景与实验目的迭代是数学研究中的一个非常重要的工具,通过函数或向量函数由初始结点生成迭代结点列,也可通过函数或向量函数由初值(向量)生成迭代数列或向量列。蛛网图也是一个有用的数学工具,可以帮助理解通过一元函数由初值生成的迭代数列的敛散性,也帮助理解平衡点(两平面曲线交点)的稳定性。本实验在Mathematica平台上首先利用蛛网图和迭代数列研究不动点的类型;其次通过蛛网图和迭代数列研究Logistic映射,探索周期点的性质、认识混沌现象;第三通过迭代数列或向量列求解方程(组)而寻求有效的求解方法;最后,利用结点迭代探索分形的性质。二、实验计划1.迭代序列与不动点(1)实验程序给定实数域上光滑的实值函数f(x)以及初值x0,定义数列xn1f(xn),n0,1,2,(2.2.1){xn}称为f(x)的一个迭代序列。函数的迭代是数学研究中的一个非常重要的思想工具,利用迭代序列可以研究函数f(x)的不动点。对函数的迭代过程,我们可以用几何图象来直观地显示它——“蜘蛛网”。运行下列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}]//NListPlot[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首先函数y25x85研究不点,需要x3(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。运行程序后察蛛网与散点!一看数列是否收?如收,极限是多少?收速度是快是慢?二看蛛网中的道是否于平衡点?与平衡点曲的斜率有没有关系?三看初果有没有影响?其次,分就f(x)sinx,f(x)x1等函数利用(2.2.1)做迭代序列{xn},察蛛网中的道是否于平衡点和序列的收性。2.Logistic映射与混沌(1)程序从形如fxax1x的二次函数开始做迭代xk1fxkk0,1,(2.2.2)里,a0,4是一个参数。不同的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]将区(0,4]以某个步a离散化,每个离散的a做迭代(2.2.2),忽略前50个迭代,而把点a,x51,a,x52,⋯,a,x100示在坐平面上,最后形成的形称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]从极限分支点之后,Feigenbaum得很乱,似乎没有任何律。上,任何初始做迭代都会得到同的果。就是所...