实验24包翔文档格式.docx
- 文档编号:17656860
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:14
- 大小:139.20KB
实验24包翔文档格式.docx
《实验24包翔文档格式.docx》由会员分享,可在线阅读,更多相关《实验24包翔文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
4观察排斥不动点的迭代序列,思考其特点
5对于方程组求解
将它写成矩阵形式Ax=b,这等价于Ax=0的解加上它的一个特解,.进而转化为求矩阵的方幂.发现影响迭代向量列收敛的主要因素是矩阵M的特性.观察M的特征值,考虑特征值对收敛性的影响.
6n次迭代程序
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_]:
=expr;
Iterate[f,x0,30]
实验过程和结果
Roots[(25*x-85)/(x+3)x,x]x=5,17解方程得到两个解
f[x_]:
=(25*x-85)/(x+3);
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},
$DisplayFunction]
蛛网图
Iterate[f_,x0_,n_Integer]:
=(25x-85)/(x+3);
Iterate[f,5.5,30]
{5.5,6.17647,7.5641,9.85437,12.5529,14.7125,15.9668,16.5642,16.8218,16.9281,16.9711,16.9884,16.9954,16.9981,16.9993,16.9997,16.9999,17.,17.,17.,17.,17.,17.,17.,17.,17.,17.,17.,17.,17.,17.}
改变初值x0变为4.99999
Clear[f]
x0=4.99999;
{-1,20},PlotLabel->
"
x0=4.99999"
Iterate[f,4.99999,30]
{4.99999,4.99997,4.99994,4.99984,4.99961,4.99902,4.99756,4.99389,4.98472,4.96173,4.90387,4.75675,4.3728,3.29861,-0.402417,-36.5957,29.7625,20.1164,18.0785,17.4093,17.1604,17.0637,17.0254,17.0101,17.0041,17.0016,17.0006,17.0003,17.0001,17.,17.}
改变x0的初值为7
x0=7;
Iterate[f,7.0,30]
{7.,9.,11.6667,14.0909,15.6383,16.4155,16.7592,16.9025,16.9608,16.9843,16.9937,16.9975,16.999,16.9996,16.9998,16.9999,17.,17.,17.,17.,17.,17.,17.,17.,17.,17.,17.,17.,17.,17.,17.}
由上述结果可知,迭代序列的收敛性与初值的选取无关,初值为5.5、4、99999、7.0时,该迭代序列收敛于17,然而有图形可知,该函数有两个不动点,为什么会出现这样的情况呢,
思考:
可能是由于迭代函数选取的的影响导致这样情况的发生,先求该迭代函数导数的情况
的导数
=
>
1,
<
1
用不同改写形式的迭代序列收敛性对于
=x还可以改写成,
,注意,
,现对这两种迭代形式进行研究
用
来作研究
初值为x0=5.5时,此时f(x)=
{5.5,5.23864,5.11106,5.05104,5.02332,5.01062,5.00483,5.0022,5.001,5.00045,5.00021,5.00009,5.00004,5.00002,5.00001,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.}
改变初值为4.99999,执行上述同样的程序,得
{4.99999,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.}
改变初值为7.执行同样的程序,得
{7.,6.09091,5.54996,5.26373,5.12304,5.05662,5.02588,5.01179,5.00537,5.00244,5.00111,5.0005,5.00023,5.0001,5.00005,5.00002,5.00001,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.,5.}
由上述结果可知,迭代序列的收敛性与初值的选取无关,初值为5.5、4、99999、7.0时,该迭代序列收敛于5,与前一个实验不一样,说明函数的选择会导致数列收敛的不同,所以来研究所化成函数的性质。
考虑所取函数f(x)的导数。
f(x)=
=1/11*x,)
>
若迭代数列为
迭代序列为
{5.5,6.,6.85565,8.11322,9.66907,11.3013,12.7917,14.0149,14.9442,15.6132,16.0776,16.3923,16.6021,16.7406,16.8313,16.8905,16.929,16.954,16.9702,16.9807,16.9875,16.9919,16.9948,16.9966,16.9978,16.9986,16.9991,16.9994,16.9996,16.9998,16.9998}
改变初值为4.9999,重复上述程序
{5.,5.,5.,4.99999,4.99998,4.99995,4.99989,4.99975,4.99945,4.99879,4.99734,4.99415,4.98711,4.97157,4.93706,4.85956,4.68085,4.24013,2.87799,0.+4.65664,4.90496+10.4431,11.2649+10.1975,14.833+7.56238,16.3469+5.0888,16.8998+3.31227,17.069+2.13457,17.0998+1.37313,17.0874+0.883951,17.0659+0.569758,17.0466+0.36766,17.0318+0.237454}
改变初值为7.0,重复上述程序
{7.,8.30662,9.88664,11.5111,12.9709,14.1549,15.0468,15.6854,16.1269,16.4254,16.624,16.7549,16.8407,16.8966,16.933,16.9566,16.9719,16.9818,16.9882,16.9924,16.9951,16.9968,16.9979,16.9987,16.9991,16.9994,16.9996,16.9998,16.9998,16.9999,16.9999}
由此函数可得该数列收敛于17,5是排斥不动点,17是收敛不动点
,
=2.2>
=
<
结论:
对于不同的迭代序列,其收敛点不一定相同,也可能存在的不动点是收敛也可能是排斥不动点,这样的结果与迭代序列本身有关,与选取的初值无关
迭代函数的收敛性与其一阶导数有什么关系
由上述的结果可以清楚的知道,x*=f(x*),当该迭代序列其对应一阶导数大于1,则相应的迭代序列发散,,这个不动点x*为排斥不动点;
相反,若其对应一阶导数小于1,则相应的迭代序列收敛到该点,这个不动点x*为吸引不动点。
研究函数
的不动点,程序如下:
=(-x+15)/(x+1);
g1=Plot[f[x],{x,-10,10},PlotStyle->
x0=1;
{-15,15},
=n,i++,temp=N[f[temp]];
Iterate[f,1,10]
{1,7.,1.,7.,1.,7.,1.,7.,1.,7.,1.}
该函数收敛于周期点
对于排斥不动点,观察它的迭代序列,会发现两种情况:
1、它可能也有收敛的子序列,此时序列可能收敛于周期点,经过探索发现这些周期点都是2的n次方倍的。
这是一种有序现象。
2、就是出现所谓的混沌现象.分析混沌的特性,观察并体会混沌无序中的有序,以及它的敏感性。
小结:
不动点迭代时,初值的选取对该迭代序列收敛性没有影响,并且对收敛到哪一个解没有影响。
但迭代序列选取的不同会影响原函数的不动点,得到的迭代序列可能收敛,也可能不收敛,得到的不动点可能为吸引不动点,也可能为排斥不动点。
x*=f(x*),当该迭代序列其对应一阶导数大于1,则相应的迭代序列发散,,这个不动点x*为排斥不动点;
用不动点求解方程的根
(1)用不动点迭代求解方程
的根
解得方程的解
NSolve[x^3-3x^2+3==0,x]{{x-0.879385},{x1.3473},{x2.53209}}
将方程改写成:
序列程序
{}
2.5,1.25332+2.17082,2.60974-0.826596,1.86685+1.97695,2.53146-1.25455,2.14303+1.82211,2.46178-1.45973,2.26869+1.73406,2.42099-1.55712,2.32703+1.68882,2.39978-1.60342,2.3545+1.66648,2.38925-1.62548,2.36752+1.65565,2.38412-1.63601,2.37372+1.65043,2.38166-1.64103,2.37668+1.64793,2.38047-1.64344,2.37809+1.64673,2.3799-1.64458,2.37877+1.64616,2.37963-1.64513,2.37909+1.64588,2.3795-1.64539,2.37924+1.64575,2.37944-1.64552,2.37932+1.64569,2.37941-1.64558,2.37935+1.64566,2.3794-1.64561
用牛顿切线法来解决
程序如下f[x_]:
=x^3-3x^2+3;
g1=Plot[f[x],{x,2,5},PlotStyle->
x0=4;
h[x_]=Dt[f[x],x];
If[h[x0]0,x1=N[x0-f[x0]/h[x0],20]];
Line[{{x0,0},
{x0,f[x0]},{x1,0}}]
x0=x1
Show[g1,r,PlotRange->
{-20,20},
DisplayFunction->
=n,i++,temp=N[x0-f[x0]/h[x0]];
=x^3-3x^2+3;
Iterate[f,3,10]
结果
由上面的程序和图形。
迭代序列结果可以知道,该方程的根近似为2.66667
由上面已知方程有一个解为2.53209,接近用牛顿迭代法所求的解
所以可以用牛顿迭代法来解决方程的解的问题
总结:
(1)方程求根时,将方程经过变形得到一个迭代函数f(x)以及一个初值x0,利用xn+1=f(xn),n=0,1,2…,(*)迭代得到数列{xn},如果数列收敛某个x*,则有x*=f(x*),即x*是方程x=f(x)的解。
由此我们用迭代法求方程g(x)=0的近似解。
将方程g(x)=0改写为等价方程x=f(x)然后选取一初值利用式(*)迭代,迭代数列xn收敛的极限就是方程g(x)=0的解.
不动点存在排斥不动点和吸引不动点。
当不动点是排斥不动点时,用牛顿迭代法求解它的近似解。
(2)用不
动点迭代得到的迭代序列并不收敛到实数,(3)用牛顿迭代法得到的迭代序列收敛到一实数,且与原方程的解误差很小。
牛顿法:
可以写为
,其中
的情形
对于不同的方程,迭代法并不能都适用,所以,对于一个方程求解问题,我们可以通过选取不同的迭代法来比较哪种迭代法更适合该方程。
实验报告评语
等级
项目
优秀
良好
中等
及格
不及格
权重
准确
较准确
到位
基本到位
不到位
0.10
清晰
较清晰
清楚
较清楚
不清楚
0.30
实验过程
完整
较完整
基本完整
不太完整
无过程
0.25
实验结果
丰富
较丰富
有部分结果
有少量结果
无结果
0.15
结果分析
细致
较细致
有一定分析
有少量分析
无分析
0.20
实验成绩:
评阅老师:
刘晓惠
评阅时间:
2011年11月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 24