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

提交評論