ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:102.63KB ,
资源ID:4331662      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4331662.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(迭代法求解开普列方程.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

迭代法求解开普列方程.docx

1、迭代法求解开普列方程迭代法求解开普列方程作者:罗波 学号:2008203020081 课题题目开普列方程是天体力学中的一个重要方程,其中,x是某个行星的平均近点角,y是它的偏近点角,是它的轨道的偏心率。取=0.9,对区间0,中30个等分点的x计算出y的数值解。2 课题背景开普勒定律是开普勒发现的关于行星运动的定律。他于1609年在他出版的新天文学上发表了关于行星运动的两条定律,又于1618年,发现了第三条定律。开普勒很幸运地能够得到,著名的丹麦天文学家第谷布拉赫所观察与收集的,非常精确的天文资料。大约于1605年,根据布拉赫的行星位置资料,开普勒发现行星的移动遵守三条相当简单的定律。开普勒的定

2、律给予亚里士多德派与托勒密派在天文学与物理学上极大的挑战。他主张地球是不断地移动的;行星轨道不是周转圆的,而是椭圆形的;行星公转的速度不等恒。这些论点,大大地动摇了当时的天文学与物理学。经过了几乎一世纪披星戴月,废寝忘食的研究,物理学家终于能够用物理理论解释其中的道理。牛顿利用他的第二定律和万有引力定律,在数学上严格地证明开普勒定律,也让人们了解其中的物理意义。3 专业背景迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。牛顿迭代法(Newt

3、ons method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x)=0的根。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x)=0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。另外该方法广泛用于计算机编程中。对于不动眯迭代法,其迭代格式简单,通过对原方程变形构造通过重复计算能够得到满足一定精度的数值解,但由于其对于函数要求高,

4、迭代次数多,对于牛顿鬼迭代法和不动点迭代法都有改进,得到收敛性较好的迭代格式。4 问题分析对于超越方程无法求得其解析解,必须通过数值方法求其解,对于不同x、值,会造成方程有不同的收敛速度,经过Plot画图可以得出函数只有一种类型的拐点,对于牛顿迭代法其初值可以随便选择,通过画图选择其初始点为1.0,分别构造不动点格式与牛顿迭代格式,分别进行迭代,得到结构,比较其迭代次数,而得出牛顿迭代法与不动点迭代法其性能上差别。5 程序及注释不动点迭代法程序以及程序注释e=0.9; %给变量取值format long %设定数据格式n=29; %0 pi中取值个数x=0:pi/n:pi; %给出向量值k=0

5、; %记录迭代法数er=1e-8; %给出误差限ee=1; y0=1.5; %给出初值for i=1:1:30 %设定要计算的X值次数 while eeer y=x(i)+e*sin(y0); %不动点迭代格式 ee=abs(y-y0); %确定新误差值 y0=y; k=k+1; %失迭代次数记录 endm(i)=k; %记录X值迭代次数z(i)=y; %记录相应Y值ee=1; %复原值,进行下一个X值计算y0=1.5;k=0; end对于以上程序说明,由于题目给出值相对比较简单首先进行不动点迭代法计算,题目中要求给出30个0,值,语句x=0:pi/n:pi让x值为题目中需要计算的30个x值,

6、用循环变量i分别对于x值分别进行提取,使之嵌入到for循环中,对于迭代格式用while循环采用标准迭代格式进行,对于while循环的结果用向量m(1:30)、z(1:30)分别记录其迭代格式结果。牛顿迭代法程序及程序说明e=0.9; %给变量取值format longn=29; %0 pi中取值个数x=0:pi/n:pi; %给出向量值k=0; %记录迭代法数er=1e-8; %给出误差限ee=1; y0=1; %给出初值for i=1:1:30 %设定要计算的X值次数 while eeer y1=y0-(y0-e*sin(y0)-x(i)/(1-e*cos(y0) %牛顿迭代格式 ee=ab

7、s(y0-y1); %确定新误差值 y0=y1; k=k+1; %失迭代次数记录 endm(i)=k; %记录X值迭代次数z(i)=y1; %记录相应Y值ee=1; %复原值,进行下一个X值计算y0=1;k=0;end程序与不动点迭代格式类似,仅牛顿迭代格式不一样,通过上面两程序运行,得到不同迭代格式算法下其收敛速度关系。6 数据及图形以下表格为不动点迭代格式数据记录X取值0.000000 0.108331 0.216662 0.324992 0.433323 0.541654 结果0.000000 0.660470 0.947341 1.144413 1.300692 1.433140 次数

8、150482718139X取值0.649985 0.758315 0.866646 0.974977 1.083308 1.191639 结果1.549786 1.655118 1.751923 1.842065 1.926857 2.007264 次数6710131619X取值1.299969 1.408300 1.516631 1.624962 1.733292 1.841623 结果2.084019 2.157696 2.228751 2.297558 2.364428 2.429619 次数232731364249X取值1.949954 2.058285 2.166616 2.2749

9、46 2.383277 2.491608 结果2.493357 2.555834 2.617219 2.677664 2.737305 2.796264 次数5665758699113X取值2.599939 2.708270 2.816600 2.924931 3.033262 3.141593 结果2.854654 2.912582 2.970147 3.027443 3.084562 3.141593 次数128142156168175178以下表格为牛顿失代法生成的数据X取值0.000000 0.108331 0.216662 0.324992 0.433323 0.541654 结果0

10、.000000 0.660470 0.947341 1.144413 1.300692 1.433140 次数654555X取值0.649985 0.758315 0.866646 0.974977 1.083308 1.191639 结果1.549786 1.655118 1.751923 1.842065 1.926857 2.007264 次数666666X取值1.299969 1.408300 1.516631 1.624962 1.733292 1.841623 结果2.084019 2.157696 2.228751 2.297558 2.364428 2.429619 次数665

11、666X取值1.949954 2.058285 2.166616 2.274946 2.383277 2.491608 结果2.493357 2.555834 2.617219 2.677664 2.737305 2.796264 次数778113716X取值2.599939 2.708270 2.816600 2.924931 3.033262 3.141593 结果2.854654 2.912582 2.970147 3.027443 3.084562 3.141593 次数814599937由上面结果可以看出来牛顿迭代法其收敛性远好于不动点迭代法,下面给出原函数图形,图中给x在0,上取值

12、时函数求解结果迭代次数的变化曲线图中红色曲线为牛顿迭代法迭代次数,蓝色线为不动点迭代法迭代次数随X值变化曲线,由图上可以看出来,在初值选定适当时,牛顿迭代法迭代次数少,算法稳定,不动点迭代法,迭代次数要多许多。7 实验总结通过实验验证了牛顿迭代法有二阶收敛性,只要初值选取适当,其收敛速度很快,对于函数变化,相比不动点迭代其也稳定得多,占用内存较小。在本实验中,对于编程开始忘记了对于每一次计算结果后,对于误差限、迭代次数以及初始点y0均要复原,开始没有察觉到此问题,程序没有调出。拉格郞日插值法逼近函数作者:罗波 学号:2008203020081 课题题目在区间5,5 上取 11 阶切比雪夫多项式

13、的零点 k=0,1,10作插值结点,计算函数在结点处yk=f(xk)处值。构造插值多项式 其中取自变量点分别在点处L10(tk),f(tk)并绘出两条曲线比较。 2 背景技术实践中常有这样的问题:由实验得到某一函数y = f (x)在一系列点x0, x1, xn处的值y0, yi, yn,其函数的解析表达式是未知的,需要构造一个简单函数P(x)作为y = f (x)的近似表达式;或者y = f (x)虽有解析式,但计算复杂,不便于使用,需要用一个比较简单且易于计算的函数P(x)去近似代替它;插值法是通过给定n+1个互异的插值节点,让你求一条n次代数曲线近似地表示待插值的函数曲线,而拉格郎日插值

14、法就是通过插值结点线性逼近曲线。3 问题分析题目中要求通过切比雪夫结点对于函数进行模拟,其插值结点可以通过切比雪夫结点公式给出,由于是一个常规等式,在Matlab中通过向量计算可以得到,针对于此结点通过for while循环能够构造拉格郎日多项式,对于多项式对于原函数进行逼近,可以发觉切比雪夫结点有比较好的逼近效果,只要当拉格郞日多项式给出,用Matlab中plot函数可以得到函数逼近效果。做为问题补充对于结点做线性扩张,便于与切比雪夫结点进行比较4 程序及注释此程序涉及到的循环语句较多,所以构造了函数文件,画图文件等,下面定义函数文件ff.m,存在matlab工作路径下面,构造切比雪夫结点多

15、项式。function yy=ff(x) %声明定义函数yy=0; %为迭加项附初值k=0:1:10;xc=5*cos(2*k+1)*pi/22); %切比雪夫切点生成fi=inline(1/(1+x2); %生成逼近函数的内联函数形式n=length(xc); %切比雪夫结点长度for i=1:1:n %拉格郎日多项式和循环 l(i)=1; %乘积项初值 for j=1:1:n if j=i l(i)=(x-xc(j)*l(i); %拉格郎日多项式分子 l(i)=l(i)/(xc(i)-xc(j); %拉格郎日多项式分母 end end yy=yy+l(i)*fi(xc(i); %进行加权求

16、和endend对于以上函数为用切比雪夫构造出拉格郎日多项式,在Matlab中通过y=ff(x),可以得到相应的插值多项式函数值,在上面程序中,其算法是先定义插值向量k,通过切比雪夫等式得到相应插值节点,将其长度记录到整数n中,然后通过两个for循环得到捫格郎日多项式,外循环主要是对于n个插值节点进行加权求和,而内循环则对于多项式每项进行L(i)计算,其要经过n-1次循环才能计算出。对于以上所定义函数在plot.m文件对于上述函数进行调用,可以得到对于原函数进行逼近的曲线拟合其Matlab程序如下:fi=inline(1/(1+x.2); %须进行模拟原函数ezplot(fi); %简单画图命令

17、axis(-5 5 0 1); %坐标控制hold on %在一个图中画出x=-5:0.05:5for i=1:1:201 %对于每一个x值利用ff.m计算 y(i)=ff(x(i)endplot(x,y,r) %用红色线画出上述程序中,由于ff.m仅针对一个变量x,所以用for循环来计算需要画图的y值,若能生成向量运算,其复杂度会大大降低。除了切比雪夫结点外,在本题中会用到均匀插值法,对它进行比较,得到相应值。5 数据及结果1. 在插值结点处函数值与拉格朗日插值多项式值比较插值结点4.548163.77874792.70320411.40866281.416E-15函数值0.04611320

18、.06544960.12037590.33508351多项式值0.04611320.06544960.12037590.33508351插值结点-1.408663-2.703204-3.778748-4.54816-4.949107函数值0.33508350.12037590.06544960.04611320.0392254多项式值0.33508350.12037590.06544960.04611320.0392254通过上面表格可以看见在插值结点捫拉格郎日多项式与原函数值完成一样,因为结点处函数值没有任何误差2. 在不同点处函数值比较题目中要求处值,由于数据量太大,所以下面表格给出处点其

19、函数值与多项式值的对比,在画图时给出处的图形对比,由于函数对称,所以仅给出在-5,0上函数数据值对比x取值-5-4.8-4.6-4.4-4.2-4函数值0.038462 0.0415970.0451260.0491160.0536480.058824多项式值-0.0053270.0870530.0583030.0162310.0023590.021317x取值-3.8-3.6-3.4-3.2-3-2.8函数值0.0647670.0716330.0796180.0889680.1000000.113122多项式值0.060754 0.1039580.1370540.1523080.1487800

20、.131319x取值-2.6-2.4-2.2-2-1.8-1.6函数值0.1288660.1479290.1712330.2000000.2358490.280899多项式值0.108677 0.0913070.0892660.1104860.1595700.237177x取值-1.4-1.2-1-0.8-0.6-0.4函数值0.3378380.4098360.5000000.6097560.7352940.862069多项式值0.3399760.4611070.5910360.7186850.8326860.9226323. 多项式逼近与函数逼近结果上较中蓝色线红函数结果,红色为多项式逼近结

21、果,下较给出在取值不同点数量时其逼近结果曲线,根据原理,其取值点越多,则无误差点则多,函数模拟越精确。从上图也可以看出来,两条曲线交点数量为11,便为无误差点数量。4. 不同插值数比较下图给出了其插值点分别为5点,11点,16点,21点时其曲线拟合情况,可以看见其插值点越多,拟合出来曲线性能越好。 6点插值 11点插值 16点插值 21点插值6 等间距插值切比雪夫是一种比较优化插值方法,对于切比雪夫插值与常规等间距插值进行比较得到下面两图,其插值点分别为11点插值与21点插值,下图为插值法,蓝色为原函数曲线,红色为切比雪夫插值,绿色为等距离插值,从中可以看出切比雪夫与原曲线拟合较好,等距离插值在中心距离有比较好的逼近,但随着曲线变化,边沿部分变得很大,与原函数差别较大,随着插值结点增多,其拟合部分长度增加,但不能拟合部分值更大。距离与切比雪夫11点插值距离与切比雪夫21点插值7 实验总结本课题仿真了对于函数进行多点切比雪夫结点拉格郎日模拟,发觉其插值点越多,其拟合效果越佳,原因是插值结点越多,其无误差点越少,对于其结点也进行了等间距模拟,发觉等间距拟合其中间拟合较好,边沿与实际值相差较远。本程序由于循环较多,其难度高,采用了函数形式,使得编程简单,但程序运行时间长,占用CPU时间较多。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1