迭代法求解开普列方程

迭代法求解开普列方程
作者:罗波       
学号:200820302008
1 课题题目
开普列方程是天体力学中的一个重要方程,其中,x是某个行星的平均近点角,y是它的偏近点角,ε是它的轨道的偏心率。取ε=0.9,对区间[0,]中30个等分点的x计算出y的数值解。
2 课题背景
开普勒定律是开普勒发现的关于行星运动的定律。他于1609年在他出版的《新天文学》上发表了关于行星运动的两条定律,又于1618年,发现了第三条定律。
开普勒很幸运地能够得到,著名的丹麦天文学家第谷·布拉赫所观察与收集的,非常精确的天文资料。大约于1605年,根据布拉赫的行星位置资料,开普勒发现行星的移动遵守三条相当
简单的定律。
开普勒的定律给予亚里士多德派与托勒密派在天文学与物理学上极大的挑战。他主张地球是不断地移动的;行星轨道不是周转圆的,而是椭圆形的;行星公转的速度不等恒。这些论点,大大地动摇了当时的天文学与物理学。经过了几乎一世纪披星戴月,废寝忘食的研究,物理学家终于能够用物理理论解释其中的道理。牛顿利用他的第二定律万有引力定律,在数学上严格地证明开普勒定律,也让人们了解其中的物理意义。
3 专业背景
迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。牛顿迭代法(Newton's method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻方程的近似根就显得特别重要。方法使用函数f(x)的泰勒级数的前面几项来寻方程f(x)=0的根。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x)=0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。另外该方法广泛用于计算机编程中。对于不动眯迭代法,其迭代格式简单,通过对原方程变形构造通过重复计算能够得到满足一定精度的数值解,但由于其对于函数要求高,迭代次数多,对于牛顿鬼迭代法和不动点迭代法都有改进,得到收敛性较好的迭代格式。
4 问题分析
对于超越方程无法求得其解析解,必须通过数值方法求其解,对于不同x、ε值,会造成方程有不同的收敛速度,经过Plot画图可以得出函数只有一种类型的拐点,对于牛顿迭代法其初值可以随便选择,通过画图选择其初始点为1.0,分别构造不动点格式与牛顿迭代格式,分别进行迭代,得到结构,比较其迭代次数,而得出牛顿迭代法与不动点迭代法其性能上差别。
5 程序及注释
不动点迭代法程序以及程序注释
e=0.9;                  %给变量取值
format long              %设定数据格式
n=29;                  %[0 pi]中取值个数
x=0:pi/n:pi;              %给出向量值
k=0;                    %记录迭代法数
er=1e-8;                %给出误差限
ee=1;           
y0=1.5;                  %给出初值
for i=1:1:30              %设定要计算的X值次数
    while ee>er
      y=x(i)+e*sin(y0);    %不动点迭代格式
      ee=abs(y-y0);        %确定新误差值
      y0=y;
      k=k+1;            %失迭代次数记录
lkj
    end
m(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值,用循环变量i分别对于x值分别进行提取,使之嵌入到for循环中,对于迭代格式用while循环采用标准迭代格式进行,对于while循环的结果用向量m(1:30)、z(1:30)分别记录其迭代格式结果。
牛顿迭代法程序及程序说明
e=0.9;                %给变量取值
format long
n=29;                %[0 pi]中取值个数
x=0:pi/n:pi;            %给出向量值
k=0;                %记录迭代法数
er=1e-8;              %给出误差限
ee=1;           
y0=1;                %给出初值
for i=1:1:30            %设定要计算的X值次数
    while ee>er
      y1=y0-(y0-e*sin(y0)-x(i))/(1-e*cos(y0))    %牛顿迭代格式
      ee=abs(y0-y1);        %确定新误差值
      y0=y1;
      k=k+1;                %失迭代次数记录
    end
m(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
次数
150
48
27
18成长的步伐
13
9
X取值
国际学术会议
0.649985
0.758315
0.866646
0.974977
1.083308
1.191639
结果
1.549786
1.655118
1.751923
1.842065
1.926857
2.007264
次数
6
7
10
13
16
19
X取值
1.299969
1.408300
1.516631
1.624962
1.733292
1.841623
结果
2.084019
2.157696
2.228751
2.297558
2.364428
2.429619
次数
23
27
31
36
42
49
X取值
1.949954
2.058285
2.166616
2.274946
2.383277
2.491608
亲子沟通培训师结果
2.493357
2.555834
2.617219
我是谁 公益广告2.677664
2.737305
2.796264
次数
56
65
75
86
99
113
X取值
2.599939
2.708270
2.816600
2.924931
3.033262
3.141593
结果
2.854654
2.912582
2.970147
3.027443
3.084562
3.141593
次数
128
142
156
168
175
178
以下表格为牛顿失代法生成的数据

本文发布于:2024-09-22 03:59:36,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/536721.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:迭代   方程   格式   迭代法   不动点   行星   方法   计算
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议