FORTRAN数值方法及其在物理学中应用6课件_第1页
FORTRAN数值方法及其在物理学中应用6课件_第2页
FORTRAN数值方法及其在物理学中应用6课件_第3页
FORTRAN数值方法及其在物理学中应用6课件_第4页
FORTRAN数值方法及其在物理学中应用6课件_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章物理学中非线性方程的求根问题§6.1根的搜索和二分法§6.3牛顿迭代法§6.2函数迭代法§6.4非线性方程组的迭代法1FORTRAN数值方法及其在物理学中应用6§6.1根的搜索和二分法

高于四次的代数方程无精确求根公式。一般的超的解称为方程的的零点)根(或称函数

设是代数多项式或超越函数,则称为代数方程或超越方程。

越方程更无法求其精确解,只能求其近似解。2FORTRAN数值方法及其在物理学中应用6由于曲线最低点和最高点相差10m,有这是关于未知数的非线性方程,用解析的方法难以求解,需数值求解。即的参数。例:在相距100m的两个塔(高度相等的点)上悬挂一根电缆,允许电缆中间下垂10m。要计算两个塔之间所用电缆的长度,需确定悬链线方程3FORTRAN数值方法及其在物理学中应用6例:水槽由半圆柱体水平放置而成,如下图所示。圆柱体长L,半径r,当给定水槽内盛水的体积V后,要求计算从水槽边沿到水面的距离H。已知L=25m,r=2m,求V分别为10,50,100m3的H。4FORTRAN数值方法及其在物理学中应用6建立直角坐标系如图所示:可得:x2+(r-y)2=r2又因为:dV=2·x·L·dy所以:积分可得:

注意:上述方程中含有参数r,L均为已知常数,通过上式,当V=10、50、100时,要求变量H,这显然是一个非线性方程。问如何求解?Oyxx

rHdyy5FORTRAN数值方法及其在物理学中应用6例:在我方前沿阵地1000米处有一座高为50米的山丘,山丘上建有敌方一座碉堡,求我方的大炮在什么角度下以最小的速度发射炮弹就能摧毁敌军的这座碉堡?解:由抛体运动的轨道方程可得:整理可得:求v0的极值,只需要计算并将x=1000,y=50代入即可。对上述方程求导以后得到的是一超越方程,可用数值方法求解。6FORTRAN数值方法及其在物理学中应用6例:静电除尘器由半径为ra=0.84m的金属圆筒(阳极)和半径为rb的同轴圆细线(阴极)组成。当它们加上一高电压V=50kv时,圆筒内就产生了一强大电场,圆筒内的空气被电离,混浊的空气通过这个圆筒时灰尘粒子与离子碰撞而带电,于是在电场的作用下奔向电极,并落下沉积在圆筒底部而被扫出,达到了清洁空气的目的。为了在中心轴线处产生6.0MV/m的电场强度而击穿空气,试求静电除尘器中心线的粗细。解:设静电除尘器中心细线上所带电荷线密度为λ,则在距中心轴线r位置处的电场强度为:7FORTRAN数值方法及其在物理学中应用6中心细线与金属圆筒的电势差为:两式联立消去λ可得:令r=rb可得在中心线表面处的电场强度Eb与其半径rb的关系:将△V,Eb,ra的值代入上式,可得关于rb的一超越方程,可用数值方法求解。8FORTRAN数值方法及其在物理学中应用6一、根的搜索1.作图法在内至少有一实根,区间称为有根区间。2.逐步搜索法适当选择某一区间,从出发,按事先选好的步长,逐点计算的函数值,与的值异号时,则就是方程的一个有根区间。对若在上连续,,则],[ba

当9FORTRAN数值方法及其在物理学中应用6例1:找出方程:的有根区间。∵解:设取∴方程在[-1,2]内至少有一个实根。取,步长,从出发,有:在[-1,-0.25],[0.5,1.25],[1.25,2]内各有一个根,逐步搜索,便于计算机实现。10FORTRAN数值方法及其在物理学中应用6定理对次代数方程若事先确定实根上、下界,关于上面方程根的绝对值的(1)若,则方程根的绝对值小于

(2)若,则方程根的绝对值大于

上下界有以下结论:即:

11FORTRAN数值方法及其在物理学中应用6例2:求方程的根的模的上下界。解:∵∴根据定理,上界为:∴下界为:∴即12FORTRAN数值方法及其在物理学中应用6二、二分法

(2)若,则有根区间为之间。取计算。中点设为连续函数,的有根区间为(1)若,则就是方程的根。0)(=xf(3)若,则有根区间为之间。13FORTRAN数值方法及其在物理学中应用6所以的长度为:以上过程,得到一系列有根区间:将新的有根区间记为,再将二分,重复当时,区间的长度为必要趋于零,若事先给定精度要求为:,即可停止计算。误差:

足够大,就有实际计算时,只要二分的次数后一个区间都在前一个区间内,且后一个区间的长度均是

前一个区间长度的一半,14FORTRAN数值方法及其在物理学中应用6

二分法算法实现15FORTRAN数值方法及其在物理学中应用6

编程步骤(1)

计算(2)计算(3)若,则,否则(i),则根在内,以替代(4)若,计算终止,此时,否则转向(2)。(ii),则根在内,以替代16FORTRAN数值方法及其在物理学中应用6例3:设,试用二分法求该方程在区间[0.5,1.25]内根的近似值。解:∵∴[0.5,1.25]为有根区间。取起进行计算:故所求根的近似值为:所产生的误差为:二分法优点:算法简单,收敛性有保障。缺点:收敛速度慢。17FORTRAN数值方法及其在物理学中应用6例4:用二分法编程求方程在附近的一个实根。(要求)real*8x1,x2,x,f,f1,f2open(1,file='root.dat')read(*,*)x1,x2f1=x1**3-6.*x1-1.f2=x2**3-6.*x2-1.10x=(x1+x2)/2.f=x**3-6.*x-1.if(f.eq.0.)goto20

if(sign(f,f1).eq.f)then

(或:if(f2*f.lt.0.)then)

x1=xf1=felsex2=xf2=f

endifif(dabs(x1-x2).gt.1.e-5)goto10 x=(x1+x2)/2.20 write(*,*)x write(1,*)xend输入:1.0,5.0输出结果:2.52891921997070318FORTRAN数值方法及其在物理学中应用6例5:有两个点电荷和(设为同号),相距为,求:连线上电场强度

处的

值。(设

=1m)由图所示以和两个点电荷的连线作为轴,所在位置为坐标原点,两个点电荷在坐标为位置处所产生的电场强度分别为

在处的合场强即为:解:物理分析:19FORTRAN数值方法及其在物理学中应用6程序运行结果如下:(设允许误差参量

)Q1=1.000Q2=4.000x=.33333m按照二分法就可求出的近似值当时,

若,则交点必在的右边,即

若,则交点必在的右边,即20FORTRAN数值方法及其在物理学中应用6例6:水槽由半圆柱体水平放置而成,如下图所示。圆柱体长L,半径r,当给定水槽内盛水的体积V后,要求计算从水槽边沿到水面的距离H。已知L=25m,r=2m,求V分别为10,50,100m3的H。二分法求解本例题由前推导得出的结果:即:将不同的V值代入上述方程,调用二分法程序计算:V=10m3,H=1.730mV=50m3,H=1.305mV=100m3,H=0.57899093627929mH必然在[0,2]区间内输入x1=0,x2=2,可得:21FORTRAN数值方法及其在物理学中应用6

作业EX6-1:用二分法编程求解方程在[1.0,1.5]区间内的一个根。误差(编程中要求采用函数子程序)方程采用二分法求此根。又若要将此根准确到小数点EX6-2:在区间[2,4]内有一实根,后六位,需要进行多少次二分?

22FORTRAN数值方法及其在物理学中应用6§6.2函数迭代法在上任取,带入上式右端,记所得的值为同理得。于是迭代公式为:设,在有根区间上是连续函数。写成等价形式:设计一个迭代公式,将为迭代函数。迭代公式可能收敛,可能发散。

若称次近似值,为第nx23FORTRAN数值方法及其在物理学中应用6例7:用迭代法求方程的根。解:方程曲线如下图从而得迭代公式:将方程改写为24FORTRAN数值方法及其在物理学中应用6取

,迭代结果如表所示相应的迭代公式为:同样取,计算得由于迭代公式是根据方程设计出来的,方法可以有多种,迭代公式可以有多个,如:

迭代发散!将方程改写为25FORTRAN数值方法及其在物理学中应用6若在的某个邻域内有一阶连续导数,且对该邻域内的有则由微分中值定理得反复递推得是收敛的?问题:如何选取迭代函数才能保证迭代序列

分析:,,26FORTRAN数值方法及其在物理学中应用6设是方程根的,若在的某个邻域内有则迭代公式对该邻域内任一初值均收敛。迭代常用条件:定理一阶导,且对该邻域内的一切

有上例中:(的邻域内)(的邻域内)27FORTRAN数值方法及其在物理学中应用6例8:质量为kg的小球,从距水平面AB高处以初速度0沿垂直方向下落,设小球受到的粘滞阻力v为小球下落的速度。

试求小球落到地面时的时间。解:取小球为研究对象,根据已知条件有时:小球垂直向下位移

所满足的微分方程为该微分方程的解为令解以上方程即可求得小球落到地面时所用的时间kvmgykmgym-=¢-=¢¢028FORTRAN数值方法及其在物理学中应用6采用迭代法求解,将把方程化成当其中时,满足。取初值:s,求解区间为[0,3]计算结果:迭代步数:4次。说明迭代法中有些迭代虽收敛,但速度慢!29FORTRAN数值方法及其在物理学中应用6例9:在我方前沿阵地1000米处有一座高为50米的山丘,山丘上建有敌方一座碉堡,求我方的大炮在什么角度下以最小的速度发射炮弹就能摧毁敌军的这座碉堡?解:由前面分析可知:若将方程整理为:将x=1000,y=50代入,计算可得:即:30FORTRAN数值方法及其在物理学中应用6此方程在迭代过程中,θ的取值范围(0,90°),而项在迭代过程中会出现大于1的情况。所以应将方程重新整理为:取初值θ=30°迭代4步后可得:θ=46.4°130.0000246.2420346.431649042200080446.431231FORTRAN数值方法及其在物理学中应用6加速算法-埃特金(Aitken)法方程如图示,由初值出发:计算:32FORTRAN数值方法及其在物理学中应用6连接曲线上两点,与交点为则有不断进行下去,归纳有:

靠近同样:33FORTRAN数值方法及其在物理学中应用6例10:用埃特金法求方程的根。解:将方程改写为:仍取,有不一样对某些发散过程,埃特金法也适用。说明34FORTRAN数值方法及其在物理学中应用6

作业1.EX6-3:能否用迭代法求下列方程根,如不能,试将方程改写能用迭代法求解的形式,并分别用迭代法和埃特金法求根。精度要求:2.3.。取。其中二氧化EX6-4:

用迭代法计算二氧化碳气体分子体积碳气体的状态方程式为410-=e35FORTRAN数值方法及其在物理学中应用6§6.3牛顿迭代法过曲线作为初始近似值,上的点作切线设方程(图形如下)。首先在根的附近取一点

切线方程36FORTRAN数值方法及其在物理学中应用6以上迭代方法-牛顿法(切线法)若切线与轴的交点为

作为根的第二次近似值。上的点作切线,若以切线与轴交点以作为根的第一次近似值,然后又过曲线

仿此不断作下去,得到一般迭代公式:

37FORTRAN数值方法及其在物理学中应用6

由于牛顿法仍是迭代法,其迭代函数为

牛顿法收敛性分析为常数,则牛顿法收敛。若在根的某个邻域内不为零,且存在,上节定理可知,若

问题:如何保证牛顿迭代法收敛?由38FORTRAN数值方法及其在物理学中应用6使在上,上保持严格单调和凹向不变。都不变号,即在用逐步搜索法,找到方程的有根区间

(尽量小)有以下四种情况:39FORTRAN数值方法及其在物理学中应用6可以看出,用牛顿法求得的序列均是单调地趋于故牛顿法是收敛的。均可作为初始值。凡满足关系式,图(2),(3)取例如图(1),(4)取结论40FORTRAN数值方法及其在物理学中应用6定理设函数在

上存在二阶导数,且满足下列条件:(1)(2)在上不为零

(3)在

上不变号

(4)对,有则牛顿法迭代序列收敛于方程在内的唯一根41FORTRAN数值方法及其在物理学中应用6由公式:上式两端同除以得:上,的符号不易判别,如何选取初值使用牛顿法,初始值的选取很重要,若在问题:利用一阶泰勒公式及零阶泰勒公式有:42FORTRAN数值方法及其在物理学中应用6要使牛顿法收敛,误差必须减少,即∴只要满足上式,且,就可将作为牛顿法初值。与。则有近似公式:若在附近相对变化不大,即只要在处可计算的值,但无法计算43FORTRAN数值方法及其在物理学中应用61.选初值(为保证迭代收敛,可用定理或上式选定初值)4.以替代回到2继续,直到(或)为止。

牛顿法编程步骤否则到4。3.若(或

),迭代终止,即为根,计算。2.迭代:按公式,计算。44FORTRAN数值方法及其在物理学中应用6例11:用牛顿迭代法编程求方程在附近的一个实根。解:real*8x0,x1,f,f1open(1,file='nt.dat')read(*,*)x0N=110f=x0**3-2.*x0**2+4.*x0+1f1=3.*x0**2-4.*x0+4.

x1=x0-f/f1write(*,*)N,x0,x1write(1,*)N,x0,x1

If(abs(x1-x0).gt.1e-6)thenx0=x1N=N+1goto10endifend输出结果:11.0000-3.333333333333333E-0012-3.333333333333333E-001-2.287581699346405E-0013-2.287581699346405E-001-2.2252E-0014-2.2252E-001-2.224945143483070E-0015-2.224945143483070E-001-2.224945141207864E-001输入:1.0(经验证满足初值条件)(取初值

也可以,满足条件)45FORTRAN数值方法及其在物理学中应用6例12:用牛顿迭代法求方程

在区间内根的近似值。解:设又为初值。与例7相比,牛顿法比一般的函数迭代法(8次)收敛速度要快。46FORTRAN数值方法及其在物理学中应用6例13:计算在附近的实根。解:∴可取为初值。算得:精确到小数点后四位。

47FORTRAN数值方法及其在物理学中应用6例14:计算的近似值。解:令用牛顿法:,的正根本题中初值的选取!注意说明牛顿迭代法初值选取符合定理或条件之一即可!48FORTRAN数值方法及其在物理学中应用6解:如前推导可知:将ra,Eb,△V等数值代入可得:例15:静电除尘器由半径为ra=0.84m的金属圆筒(阳极)和半径为rb的同轴圆细线(阴极)组成。当它们加上一高电压V=50kv时,为了在中心轴线处产生6.0MV/m的电场强度而击穿空气,试求静电除尘器中心线的粗细。即:49FORTRAN数值方法及其在物理学中应用6中心细线的半径范围应该在(0,ra)区间:选取初值x0=0.1,利用牛顿迭代法程序计算:输入:x0=0.1迭代4次可得:rb=0.00128557m10.10002.114676760452919E-00322.114676760452919E-0031.3411E-00331.3411E-0031.285587117888971E-00341.285587117888971E-0031.285572146069752E-003输出结果:real*8x0,x1,f,f1open(1,file='nt.dat')read(*,*)x0N=110f=1/(-0.1743533-log(x0))-120*x0f1=1/(x0*(-0.1743533-log(x0))**2)-120

x1=x0-f/f1write(*,*)N,x0,x1write(1,*)N,x0,x1

If(abs(x1-x0).gt.1e-6)thenx0=x1N=N+1goto10endifend50FORTRAN数值方法及其在物理学中应用6例16:有若干个有一定摩擦系数(取)的斜面它们有共同的底端和,其顶端都在同一先到达底端?在之间,当竖直线上,如图所示,它们的倾角

从各斜面顶端同时释放,问沿哪个斜面下滑的物体最解:选沿倾角为的斜面下滑的物体来研究。运动。取此斜面顶端为坐标原点,而下滑的加速度轴沿斜面向下。x方向物体沿它的运动是匀加速直线51FORTRAN数值方法及其在物理学中应用6由初始条件:时,,则得物体从顶端下滑到底端经过的距离是:可得下滑所用时间为对求上式求导数,再令其等于零,可求出,即若要时间最小,令取最大值即可。该方程若采用牛顿法计算,选取初值为2。=1.017222弧度,迭代次数4次。运算结果:52FORTRAN数值方法及其在物理学中应用6

迭代按令牛顿法可求方程的实根,也可以求方程的复根。

例17:用牛顿法计算的复根。计算结果为取初值53FORTRAN数值方法及其在物理学中应用6

作业EX6-5:牛顿法计算的正根。(取和分别计算至)。的静止EX6-6:质量为的小球以速度正面撞击质量为利用牛顿法求解相关方程,给出碰撞后两球的速度随两小球质量比的关系。小球,假设碰撞是完全弹性碰撞,没有能量损失,(取)

54FORTRAN数值方法及其在物理学中应用6的方程。

动量守恒:

动能守恒:

,以上两方程变为:

联立求解,得到关于

EX6-7:用牛顿法计算,要求精确到小数点后六位。55FORTRAN数值方法及其在物理学中应用6

弦截法

弦截法(割线法)是它的一种改进,在牛顿迭代公式中,代入牛顿迭代公式可得牛顿法计算时要用到函数的导数,很多情况下难以使用。说明迭代格式中没有用到函数的导数,计算方便,但收敛速度较特点用差商代替导数,即牛顿法要慢,开始时要用到两个不同的根的近似值作初值。56FORTRAN数值方法及其在物理学中应用6例18:在相距100m的两个塔(高度相等的点)上悬挂一根电缆(如下图所示),允许电缆中间下垂10m。试确定悬链线方程中的参数57FORTRAN数值方法及其在物理学中应用6解:由于曲线最低点和最高点相差10m,有,先构造函数要确定参数弦截法计算结果如下表:上表中,所求悬链线方程为根的两个初始值为。由图可知,根的区间在[120,150]范围内,故选取以上方程58FORTRAN数值方法及其在物理学中应用6例19:用弦截法求方程

在区间内根的近似值。解:设,取计算结果如下表所示:方程根的近似值为0.61036。可见弦截法收敛速度也是较快的。59FORTRAN数值方法及其在物理学中应用6

弦截法编程步骤1.选定初始值,计算和;2.按迭代公式,再计算计算3.判定若(为事先给定误差),则迭代终止;重复步骤2,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论