




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)支擋建筑設(shè)計(jì)方程求解1 1、 通用函數(shù)的程序編寫(xiě)通用函數(shù)的程序編寫(xiě)v問(wèn)題:如何求一個(gè)函數(shù)的解,而函數(shù)是可以隨時(shí)問(wèn)題:如何求一個(gè)函數(shù)的解,而函數(shù)是可以隨時(shí)替換的。替換的。v例如:例如:vF(x)=xF(x)=x3 3+4x+4x2 2+5+5vF(x)=eF(x)=ex x-5-5實(shí)現(xiàn)步驟:實(shí)現(xiàn)步驟:v1 1在窗體上加一個(gè)在窗體上加一個(gè)ScriptcontrolScriptcontrol控件控件v2 2 在工程中添加一個(gè)類模塊在工程中添加一個(gè)類模塊class1.class1.v 類模塊中的代碼:類模塊中的代碼:v Public K1 As Double Public K1 As Doubl
2、e1 1、 通用函數(shù)的程序編寫(xiě)通用函數(shù)的程序編寫(xiě)v Private Function Hanshu(X As Double, Str1 As String) As Private Function Hanshu(X As Double, Str1 As String) As DoubleDoublev On Error Resume Next On Error Resume Next v Dim shar As New Class1 Dim shar As New Class1v ScriptControl1.AddObject sh, shar ScriptControl1.AddObjec
3、t sh, sharv ScriptControl1.AddCode Function F(x) & ScriptControl1.AddCode Function F(x) & vbCrLf & kk= & Str1 & vbCrLf & sh.k1 = kk & vbCrLf & kk= & Str1 & vbCrLf & sh.k1 = kk & vbCrLf & End FunctionvbCrLf & End Functionv v ScriptControl1.Run ScriptControl1.Run “F, XF, Xv Hanshu = shar.K1 Hanshu = s
4、har.K1v ScriptControl1.Reset ScriptControl1.Reset v End FunctionEnd Function1 1、 通用函數(shù)的程序編寫(xiě)通用函數(shù)的程序編寫(xiě)作業(yè)作業(yè)1 1:試設(shè)計(jì)一個(gè)工程,可以計(jì)算函數(shù)的值。試設(shè)計(jì)一個(gè)工程,可以計(jì)算函數(shù)的值。2 2 分別輸出分別輸出x x1,2,3101,2,310函數(shù)的值。函數(shù)的值。3 3 測(cè)試替換了函數(shù)表達(dá)式后,你編寫(xiě)的程測(cè)試替換了函數(shù)表達(dá)式后,你編寫(xiě)的程序是否有效。序是否有效。1 1、 通用函數(shù)的程序編寫(xiě)通用函數(shù)的程序編寫(xiě)課題課題2 2 :高次方程求解:高次方程求解:v 在解決科學(xué)研究和工程領(lǐng)域中的實(shí)際問(wèn)題時(shí),往在
5、解決科學(xué)研究和工程領(lǐng)域中的實(shí)際問(wèn)題時(shí),往往涉及到高次方程。高次方程解的個(gè)數(shù)和方程的往涉及到高次方程。高次方程解的個(gè)數(shù)和方程的次數(shù)相對(duì)應(yīng),即使只在實(shí)數(shù)范圍內(nèi)考慮,大多也次數(shù)相對(duì)應(yīng),即使只在實(shí)數(shù)范圍內(nèi)考慮,大多也有幾個(gè)解。但是,對(duì)于從解決土木工程問(wèn)題歸納有幾個(gè)解。但是,對(duì)于從解決土木工程問(wèn)題歸納得到的高次方程,其有意義的解大多僅有一個(gè),得到的高次方程,其有意義的解大多僅有一個(gè),并且是正數(shù)解。并且是正數(shù)解。2.1 2.1 高次方程求解原理高次方程求解原理v計(jì)算機(jī)解高次方程的基本過(guò)程大致如計(jì)算機(jī)解高次方程的基本過(guò)程大致如下下: :v以以x x2 2-2=0-2=0為例,令為例,令y=xy=x2 2-2
6、-2v其函數(shù)圖像如圖。其函數(shù)圖像如圖。y=0y=0時(shí)的時(shí)的x x值值(x=(x=土土2 20.50.5) )即為原方程的解。在即為原方程的解。在x =2x =20.50.5附近附近y y值由負(fù)變正。由于函數(shù)是連續(xù)的,所值由負(fù)變正。由于函數(shù)是連續(xù)的,所以必定存在以必定存在y=0y=0對(duì)應(yīng)的點(diǎn),該點(diǎn)即為原對(duì)應(yīng)的點(diǎn),該點(diǎn)即為原方程的一個(gè)解。其他方程也是如此,方程的一個(gè)解。其他方程也是如此,如果知道了一個(gè)解的區(qū)間,就可以通如果知道了一個(gè)解的區(qū)間,就可以通過(guò)代人不同的過(guò)代人不同的x x值觀察值觀察y y的變化,從而的變化,從而逐次逼近該解。逐次逼近該解。高次方程求解常用方法高次方程求解常用方法v高次方程
7、的常用解法有掃描法、對(duì)分法、優(yōu)選法、高次方程的常用解法有掃描法、對(duì)分法、優(yōu)選法、迭代法、牛頓法等。迭代法、牛頓法等。2.2 2.2 掃描法求解方程的根掃描法求解方程的根v 掃描法的主要過(guò)程是掃描法的主要過(guò)程是: :v 1. 1.尋找方程解所在的區(qū)域?qū)ふ曳匠探馑诘膮^(qū)域a,ba,b。由初始點(diǎn)。由初始點(diǎn)a a出發(fā),根據(jù)步長(zhǎng)出發(fā),根據(jù)步長(zhǎng)h h逐次迭代找到逐次迭代找到b b點(diǎn),使點(diǎn),使f (a ) X f (a ) X (b) = 0 ,(b) = 0 ,前一點(diǎn)即為前一點(diǎn)即為a,f(a)a,f(a)與與f(b)f(b)的值為一正一的值為一正一負(fù)。由于從實(shí)際土木問(wèn)題中提煉出的函數(shù)負(fù)。由于從實(shí)際土木問(wèn)題
8、中提煉出的函數(shù)f(x)f(x)在在a,ba,b連續(xù),所以在連續(xù),所以在a,ba,b內(nèi)必有一解內(nèi)必有一解x0 x0,使,使f(x0)=0f(x0)=0。該過(guò)程也可固定。該過(guò)程也可固定a a點(diǎn)不變,單純擴(kuò)大區(qū)點(diǎn)不變,單純擴(kuò)大區(qū)域找域找b b點(diǎn)點(diǎn).2.2 2.2 掃描法求解方程的根掃描法求解方程的根 2. 2.縮小解所在的區(qū)域縮小解所在的區(qū)域a,ba,b。十等分。十等分a,ba,b,逐點(diǎn)求,逐點(diǎn)求f(xi)f(xi)值,直至相鄰兩點(diǎn)的值符號(hào)相反,這兩點(diǎn)即值,直至相鄰兩點(diǎn)的值符號(hào)相反,這兩點(diǎn)即為新的區(qū)域?yàn)樾碌膮^(qū)域a,ba,b。3.3.重復(fù)上述過(guò)程直至收斂,達(dá)到一定精度為止。重復(fù)上述過(guò)程直至收斂,達(dá)到一
9、定精度為止。2.2 2.2 掃描法求解方程的根掃描法求解方程的根v 注意,求實(shí)際土木工程問(wèn)題的解時(shí),起始點(diǎn)注意,求實(shí)際土木工程問(wèn)題的解時(shí),起始點(diǎn)a a應(yīng)應(yīng)取足夠小取足夠小( (小于解小于解) )或干脆取或干脆取a =0a =0。由于其有意義。由于其有意義的解是一個(gè)正數(shù)解,搜索方向只要向正向進(jìn)行,的解是一個(gè)正數(shù)解,搜索方向只要向正向進(jìn)行,甚至根據(jù)實(shí)際情況,直接選取適當(dāng)區(qū)域甚至根據(jù)實(shí)際情況,直接選取適當(dāng)區(qū)域a,ba,b,然,然后從步驟后從步驟2 2開(kāi)始求解。而一般的高次方程則要復(fù)雜開(kāi)始求解。而一般的高次方程則要復(fù)雜些,解不一定比些,解不一定比a a值大,因此解的區(qū)域也可能在初值大,因此解的區(qū)域也可
10、能在初始點(diǎn)的另一邊,搜索方向需先判別。始點(diǎn)的另一邊,搜索方向需先判別。2.2 2.2 掃描法求解方程的根掃描法求解方程的根v掃描法程序流程圖見(jiàn)圖掃描法程序流程圖見(jiàn)圖2-22-2,圖中,圖中h h為步長(zhǎng),為步長(zhǎng),e e為要為要求的精度。求的精度。v掃描法程序中,因?yàn)橐袛嗟氖莾珊瘮?shù)的符號(hào),掃描法程序中,因?yàn)橐袛嗟氖莾珊瘮?shù)的符號(hào),而不是它們的大小,利用符號(hào)函數(shù)可使計(jì)算量減而不是它們的大小,利用符號(hào)函數(shù)可使計(jì)算量減少,即用少,即用m msgn(f(a),n=sgn(f(b)sgn(f(a),n=sgn(f(b)替代原來(lái)的替代原來(lái)的計(jì)算更合理。計(jì)算更合理。掃描法求方程根的流程圖掃描法求方程根的流程圖
11、2.2 2.2 掃描法求解方程的根掃描法求解方程的根用掃描法求方程用掃描法求方程x2-2=0 x2-2=0的正數(shù)解,的正數(shù)解,其計(jì)算結(jié)果見(jiàn)表其計(jì)算結(jié)果見(jiàn)表2-12-12.2 2.2 掃描法求解方程的根掃描法求解方程的根v由計(jì)算結(jié)果知,方程由計(jì)算結(jié)果知,方程x x2 2-2=0-2=0的一個(gè)解在的一個(gè)解在1. 4141. 414至至1. 1. 415415之間,只要進(jìn)一步縮小步長(zhǎng)之間,只要進(jìn)一步縮小步長(zhǎng). .重復(fù)上述過(guò)程,重復(fù)上述過(guò)程,可獲得更高精度??色@得更高精度。2.2 2.2 掃描法求解方程的根掃描法求解方程的根v Dim M%, N%, i As Double Dim M%, N%, i
12、 As Doublev Dim A#, B#, H#, E#, X#, Str2$ Dim A#, B#, H#, E#, X#, Str2$v Dim Str1$ Dim Str1$v i = 1 i = 1v Str1 = Str1 = “計(jì)算次數(shù)計(jì)算次數(shù) a= b= m a= b= mn n & vbCrLf & vbCrLfv A = Val(Text2) A = Val(Text2)初始值初始值v H = Val(Text3) H = Val(Text3)求解步長(zhǎng)求解步長(zhǎng)v E = Val(Text4) E = Val(Text4)求解精度求解精度v Str2 = Text1.Tex
13、t Str2 = Text1.Text函數(shù)表達(dá)式函數(shù)表達(dá)式v M = Sgn(Hanshu(A, Str2) M = Sgn(Hanshu(A, Str2)2.2 2.2 掃描法求解方程的根掃描法求解方程的根v Do Dov B = A + H B = A + Hv N = Sgn(Hanshu(B, Str2) N = Sgn(Hanshu(B, Str2)v Str1 = Str1 & i & Space(3) & Str1 = Str1 & i & Space(3) & A & Space(3) & B & Space(3) & M A & Space(3) & B & Space(3)
14、 & M * * N & vbCrLf N & vbCrLfv If M If M * * N 0 Then N 0 Thenv A = B A = Bv M = N M = Nv i = i + 1 i = i + 1v ElseIf M = 0 Then ElseIf M = 0 Thenv X = A X = Av Exit Do Exit Dov ElseIf N = 0 Then ElseIf N = 0 Thenv X = B X = Bv Exit Do Exit Dov v ElseIf H = E Then ElseIf H 5000 Then If i 5000 Thenv
15、 GoTo err1: GoTo err1:v End If End Ifv v Loop Until H = E Loop Until H 0 Then Fb 0 Thenv Text4 = Text4 = “方程根不在你方程根不在你規(guī)定的區(qū)間規(guī)定的區(qū)間 v Exit Sub Exit Subv End If End Ifv If (Fa = 0 Or Fb = 0) Then If (Fa = 0 Or Fb = 0) Then 如果如果FaFa,F(xiàn)bFb0,0,則就是方程的則就是方程的根根v If (Fa = 0) Then If (Fa = 0) Thenv X = A X = Av
16、GoTo 20 GoTo 20v Else Elsev X = B X = Bv GoTo 20 GoTo 20結(jié)束程序結(jié)束程序v End If End Ifv End IfEnd If2.3 2.3 對(duì)分法優(yōu)選法求解對(duì)分法優(yōu)選法求解v Strtmp = “計(jì)算次數(shù)I= A= B= 中點(diǎn)X= 函數(shù)值 & vbCrLfv i = 1vDo Until Abs(A - B) = Epsv v X = (A + B) / 2v v If Abs(Hanshu(X, Str1) = 0 Then GoTo 20 如果Hanshu(X, Str1)=0,說(shuō)明此時(shí)的x已經(jīng)是方程的解v If Hanshu(
17、X, Str1) * Hanshu(A, Str1) 0 Thenv B = (A + B) / 2v ElseIf Hanshu(X, Str1) * Hanshu(B, Str1) 5000 Then If i 5000 Thenv Text4 = Text4 =“達(dá)不到你達(dá)不到你所要求的精度,已經(jīng)累加所要求的精度,已經(jīng)累加計(jì)算了計(jì)算了50005000次次 v Exit Do Exit Dov End If End Ifv LoopLoop2.3.4 2.3.4 對(duì)分法關(guān)鍵程序?qū)Ψ址P(guān)鍵程序2.3 2.3 對(duì)分法優(yōu)選法求解對(duì)分法優(yōu)選法求解2.3.5 2.3.5 程序界面程序界面2.3 2.
18、3 對(duì)分法優(yōu)選法求解對(duì)分法優(yōu)選法求解2.3.6 2.3.6 作業(yè)作業(yè)3 3:v本節(jié)已經(jīng)給出了對(duì)分的調(diào)用程序,請(qǐng)編寫(xiě)程序界本節(jié)已經(jīng)給出了對(duì)分的調(diào)用程序,請(qǐng)編寫(xiě)程序界面,完成輸入和輸出。面,完成輸入和輸出。v要求求解時(shí),列出每次求解時(shí)的中間過(guò)程。要求求解時(shí),列出每次求解時(shí)的中間過(guò)程。2.3 2.3 對(duì)分法優(yōu)選法求解對(duì)分法優(yōu)選法求解2.4 2.4 優(yōu)選法優(yōu)選法v 優(yōu)選法又叫優(yōu)選法又叫 0. 618 0. 618法,與對(duì)分法流程基本相同,法,與對(duì)分法流程基本相同,但每次插人點(diǎn)。不是區(qū)域的中點(diǎn),而是在區(qū)域的但每次插人點(diǎn)。不是區(qū)域的中點(diǎn),而是在區(qū)域的0. 0. 618618處,即處,即c=a+0.618(
19、b-a)c=a+0.618(b-a)或或c=b-0.618(b-a),c=b-0.618(b-a),一一般收斂速率更快。般收斂速率更快。v用對(duì)分法求解方程用對(duì)分法求解方程x x2 2-2=0-2=0時(shí)的計(jì)算結(jié)果見(jiàn)表時(shí)的計(jì)算結(jié)果見(jiàn)表2 22 22.4.1 2.4.1 優(yōu)選法計(jì)算表優(yōu)選法計(jì)算表2.4 2.4 優(yōu)選法優(yōu)選法2.4.2 2.4.2 作業(yè)作業(yè)v按照對(duì)分法求解方法,編寫(xiě)優(yōu)化法求解方程根的按照對(duì)分法求解方法,編寫(xiě)優(yōu)化法求解方程根的程序,程序,v要求:每一個(gè)循環(huán)中間步驟要輸出。要求:每一個(gè)循環(huán)中間步驟要輸出。2.4 2.4 優(yōu)選法優(yōu)選法2.5 2.5 迭代法迭代法v 高次方程也可利用迭代方法求
20、解。把原方程高次方程也可利用迭代方法求解。把原方程f(x)f(x)0 0。進(jìn)行適當(dāng)變換,建立迭代方程進(jìn)行適當(dāng)變換,建立迭代方程xixi1=G(x)1=G(x)依次迭代,依次迭代,直至收斂。直至收斂。v 例例2-12-1求方程求方程x x3 3-x-1 =0-x-1 =0在在x=1.5x=1.5附近的根。附近的根。v 方程由方程由f(x)=0f(x)=0形式改寫(xiě)成迭代方程形式改寫(xiě)成迭代方程: :311iixxv 以以1.51.5作作x x的初值的初值x x0 0, ,代入上式求出代入上式求出x x1 11.3572,1.3572,再以再以x x1 1代入,進(jìn)一步求出代入,進(jìn)一步求出x x2 2.
21、,直到,直到v 計(jì)算結(jié)果見(jiàn)下表計(jì)算結(jié)果見(jiàn)下表(0.00001)0.00001)iiixxx12.5 2.5 迭代法迭代法( (原理)原理)2.5 2.5 迭代法迭代法( (原理)原理)2.5.1 2.5.1 注意事項(xiàng)注意事項(xiàng)v迭代法的關(guān)鍵在于選定合適的迭代方程,要求迭迭代法的關(guān)鍵在于選定合適的迭代方程,要求迭代方程收斂,否則,因發(fā)散而得不到方程的解。代方程收斂,否則,因發(fā)散而得不到方程的解。如上例,若用如上例,若用x=xx=x3 3-1-1為迭代方程,同樣取為迭代方程,同樣取x0=1.5x0=1.5,則則x1= 2. 375x1= 2. 375,x2= 12.3965.x2= 12.3965.
22、顯然顯然xkxk的值越來(lái)的值越來(lái)越大,即迭代方程發(fā)散,正因?yàn)榈ㄓ写巳毕菰酱螅吹匠贪l(fā)散,正因?yàn)榈ㄓ写巳毕荻拗屏怂氖褂谩4_定迭代方程是否收斂,可而限制了它的使用。確定迭代方程是否收斂,可以用以用|G(x)|1|G(x)|1進(jìn)行判別,當(dāng)進(jìn)行判別,當(dāng)x x滿足此式時(shí)一般收滿足此式時(shí)一般收斂,否則發(fā)散。斂,否則發(fā)散。2.6 2.6 牛頓法牛頓法v 牛頓法又稱弦切法,也是迭代法的一種。牛頓法又稱弦切法,也是迭代法的一種。v 求求f(x) = 0f(x) = 0的解,即求曲線的解,即求曲線f(x)f(x)與橫坐標(biāo)的交與橫坐標(biāo)的交點(diǎn)點(diǎn)a(a(如圖如圖2-52-5所示所示) ),在,在a a點(diǎn)
23、附近點(diǎn)附近x x0 0處的斜率處的斜率0100)(0)( xxxfxydxdyxf所以所以)( )(0001xfxfxx)( )(111iiiixfxfxx所以迭代方程為:所以迭代方程為:2.62.6牛頓法牛頓法v結(jié)束條件:結(jié)束條件:v直到直到f(xf(xi i)=0,)=0,即即x xi i+1=x+1=xi i或或|x|xi+1i+1-x-xi i|為止。為止。2.6.1 2.6.1 牛頓法舉例牛頓法舉例v思考題思考題1 1:v用牛頓迭代法求解用牛頓迭代法求解x x2 2-25=0-25=0的正數(shù)解。的正數(shù)解。v自己用筆先計(jì)算。自己用筆先計(jì)算。2.6.1 2.6.1 牛頓法舉例牛頓法舉例v
24、 牛頓迭代收斂快,尤其是土木方程,總有一實(shí)數(shù)牛頓迭代收斂快,尤其是土木方程,總有一實(shí)數(shù)解,且知道解的基本范圍,故使用很方便。解,且知道解的基本范圍,故使用很方便。2.6.3 2.6.3 牛頓迭代法的近似解法牛頓迭代法的近似解法v有時(shí),有時(shí),f(x)f(x)的表達(dá)式很復(fù)雜或無(wú)法求時(shí)的表達(dá)式很復(fù)雜或無(wú)法求時(shí)v怎么辦呢?怎么辦呢?2.6.3 2.6.3 牛頓迭代法的近似解法牛頓迭代法的近似解法可用數(shù)值近似法替代可用數(shù)值近似法替代: :式中,式中,為遠(yuǎn)小于為遠(yuǎn)小于xixi的一個(gè)小數(shù)。的一個(gè)小數(shù)。)()()( iiixfxfxf本節(jié)本節(jié) 上機(jī)作業(yè)上機(jī)作業(yè)v 4. 4.寫(xiě)出用寫(xiě)出用0.6180.618法求
25、解一元三次方程的程序框圖。法求解一元三次方程的程序框圖。按流程求出方程按流程求出方程2 2x3 3+3+3x2 2-17-17x-30=0-30=0在在1,101,10區(qū)域的區(qū)域的解,精度為解,精度為0.01.0.01.v5 5,用迭代法解方程,用迭代法解方程f(x)x-sinx-0.5=0。精度。精度0. 0. 001001v6.6.用牛頓近似迭代法求用牛頓近似迭代法求x2 2+10cos+10cosx=0=0的根的根要求能夠輸出每一步計(jì)算的結(jié)果。要求能夠輸出每一步計(jì)算的結(jié)果。本節(jié)本節(jié) 上機(jī)作業(yè)上機(jī)作業(yè)v牛頓迭代法求解時(shí)應(yīng)注意:作業(yè)牛頓迭代法求解時(shí)應(yīng)注意:作業(yè)7 7v給的初值不同時(shí),求解的解
26、并不同,這時(shí)因?yàn)槿缃o的初值不同時(shí),求解的解并不同,這時(shí)因?yàn)槿绻匠逃卸鄠€(gè)解,它是趨于最近的解。例如作業(yè)果方程有多個(gè)解,它是趨于最近的解。例如作業(yè)中中2 2x3 3+3+3x2 2-17-17x-30=0 -30=0 ,分別初值代入,分別初值代入-4,-3,-4,-3,-2,0.1,22,0.1,2分別代入,找到方程的解。分別代入,找到方程的解。思考題思考題v本節(jié)講的掃描法,對(duì)分法,優(yōu)選法及迭代法,當(dāng)本節(jié)講的掃描法,對(duì)分法,優(yōu)選法及迭代法,當(dāng)求到一個(gè)合適的解后,程序就自動(dòng)完成了,求到一個(gè)合適的解后,程序就自動(dòng)完成了,v問(wèn)題提出,如何求出方程所有的解:?jiǎn)栴}提出,如何求出方程所有的解:數(shù)值積分?jǐn)?shù)值積
27、分1 1 定積分的求解定積分的求解v在高等數(shù)學(xué)中,對(duì)一個(gè)定積分在高等數(shù)學(xué)中,對(duì)一個(gè)定積分v的求解,可以利用牛頓一萊布尼茲的求解,可以利用牛頓一萊布尼茲(Newton-(Newton-Leibniz)Leibniz)公式,即公式,即v這里這里F(x)F(x)是是f(x)f(x)的一個(gè)原函數(shù)。的一個(gè)原函數(shù)。 badxxfI)()()()()(aFbFxFdxxfIbabav 但是,在科學(xué)研究和工程技術(shù)中常會(huì)遇到下述幾種情況,但是,在科學(xué)研究和工程技術(shù)中常會(huì)遇到下述幾種情況,v 如:如:v 1.1.被積函數(shù)的結(jié)構(gòu)復(fù)雜,求原函數(shù)困難被積函數(shù)的結(jié)構(gòu)復(fù)雜,求原函數(shù)困難v 2.2.原函數(shù)不能用初等函數(shù)表示原
28、函數(shù)不能用初等函數(shù)表示; ;v 3.3.被積函數(shù)不存在原函數(shù)。被積函數(shù)不存在原函數(shù)。v 這時(shí)用牛頓一萊布尼茲公式精確計(jì)算積分值相當(dāng)困難,需要這時(shí)用牛頓一萊布尼茲公式精確計(jì)算積分值相當(dāng)困難,需要建立積分的近似計(jì)算方法。數(shù)值積分就是一種常用的近似計(jì)建立積分的近似計(jì)算方法。數(shù)值積分就是一種常用的近似計(jì)算方法。數(shù)值積分不受被積函數(shù)有無(wú)解析解的限制,土木工算方法。數(shù)值積分不受被積函數(shù)有無(wú)解析解的限制,土木工程中都可用數(shù)值積分解決。程中都可用數(shù)值積分解決。v 本章介紹最基本的數(shù)值積分法,它們是矩形法、梯形法、辛普森法。本章介紹最基本的數(shù)值積分法,它們是矩形法、梯形法、辛普森法。2 2 矩形積分法矩形積分法
29、v4-14-1矩形矩形v在滿足一定精度的范圍內(nèi)在滿足一定精度的范圍內(nèi). .數(shù)值積分可以只利用被數(shù)值積分可以只利用被積函數(shù)來(lái)求得積分值,為什么可以這樣進(jìn)行呢積函數(shù)來(lái)求得積分值,為什么可以這樣進(jìn)行呢? ?v我們知道,函數(shù)我們知道,函數(shù)f(x)f(x)在區(qū)間在區(qū)間a,ba,b之間求積,就是之間求積,就是求圖求圖4-14-1中的中的f(x)f(x)曲線與曲線與x x軸以及兩直線軸以及兩直線x=a , x x=a , x = b= b所圍成的幾何圖形的面積。所圍成的幾何圖形的面積。2.1 2.1 基本原理基本原理v如圖如圖4-24-2所示,我們把區(qū)間所示,我們把區(qū)間a,ba,b分為分為n n個(gè)等分,每個(gè)
30、等分,每等分長(zhǎng)為等分長(zhǎng)為x x,那么其面積,那么其面積10)(niixxfSv作業(yè)作業(yè)1 1:v試編程實(shí)現(xiàn)上述矩形積分試編程實(shí)現(xiàn)上述矩形積分v要求是個(gè)通用程序要求是個(gè)通用程序v通過(guò)傳遞參數(shù)計(jì)算通過(guò)傳遞參數(shù)計(jì)算2.2 2.2 關(guān)鍵程序代碼關(guān)鍵程序代碼v Public Function Public Function JuxingJifen(Str1 As String, A JuxingJifen(Str1 As String, A As Double, B As Double, As Double, B As Double, DengFen As Integer) As DoubleDengF
31、en As Integer) As Doublev Dim Sum1 As Double, i As Dim Sum1 As Double, i As Long, H As Double Long, H As Double v H = Abs(B - A) / DengFen H = Abs(B - A) / DengFenv Sum1 = 0 Sum1 = 0v For i = 1 To DengFen For i = 1 To DengFenv Sum1 = Sum1 + Sum1 = Sum1 + Hanshu(A + i Hanshu(A + i * * H, Str1) H, Str
32、1) * * H H v Next Nextv JuxingJifen = Sum1 JuxingJifen = Sum1 v End FunctionEnd FunctionvStr1 Str1 函數(shù)表達(dá)式,但必函數(shù)表達(dá)式,但必須符合須符合VBVB的表示方法。的表示方法。v A A,B B 積分的上下限積分的上下限vDengfenDengfen積分區(qū)間的等分積分區(qū)間的等分份數(shù)份數(shù)2.3 2.3 精度控制精度控制v在計(jì)算時(shí),曲線以下、矩形以上形如三角形的面在計(jì)算時(shí),曲線以下、矩形以上形如三角形的面積都未被考慮,故有一定的誤差。當(dāng)然,若將積都未被考慮,故有一定的誤差。當(dāng)然,若將x x取得小一些,
33、誤差就可減小,不過(guò)計(jì)算量卻要大取得小一些,誤差就可減小,不過(guò)計(jì)算量卻要大大增加,從而也增大了誤差的積累。大增加,從而也增大了誤差的積累。3 3 梯形積分法梯形積分法v減少誤差的一種方法是,將每個(gè)等分用梯形代替減少誤差的一種方法是,將每個(gè)等分用梯形代替矩形,如圖矩形,如圖4 4 3 3所示。計(jì)算方法相應(yīng)地改為:所示。計(jì)算方法相應(yīng)地改為:xxxfxfSniii02)()(3.1 3.1 梯形積分法舉例梯形積分法舉例v 例例4-14-1利用梯形法求積分利用梯形法求積分的近似解。102dxxv 解解: :該積分的解析解是該積分的解析解是0.333.0.333.。按梯形法,將積。按梯形法,將積分區(qū)間二等
34、分(分區(qū)間二等分(n = 2 ),n = 2 ),5 . 0201x375. 02) 1 ()21(212)21()0(21ffffS3.1 3.1 梯形積分法舉例梯形積分法舉例v隨隨n n增大,增大,x x減小,近似結(jié)果趨近于解析解,見(jiàn)減小,近似結(jié)果趨近于解析解,見(jiàn)表表xSxS40.250.344160.06250.33480.1260.334640.01560.3333.2 3.2 程序關(guān)鍵代碼程序關(guān)鍵代碼v但是梯形法以直線但是梯形法以直線來(lái)代替曲線仍有誤來(lái)代替曲線仍有誤差,如果用某種曲差,如果用某種曲線來(lái)代替,就能進(jìn)線來(lái)代替,就能進(jìn)一步減少誤差,為一步減少誤差,為此而發(fā)展了辛普森此而發(fā)展
35、了辛普森求積方法。求積方法。v Public Function Public Function TixingJifen(Str1 As String, TixingJifen(Str1 As String, A As Double, B As Double, A As Double, B As Double, DengFen As Integer) As DengFen As Integer) As DoubleDoublev Dim Sum1 As Double, i As Dim Sum1 As Double, i As Long, H As Double Long, H As Doubl
36、e v H = Abs(B - A) / DengFen H = Abs(B - A) / DengFenv Sum1 = 0 Sum1 = 0v For i = 1 To DengFen For i = 1 To DengFen v Sum1 = Sum1 + (Hanshu(A Sum1 = Sum1 + (Hanshu(A + (i - 1) + (i - 1) * * H, Str1) + Hanshu(A H, Str1) + Hanshu(A + i + i * * H, Str1) / 2 H, Str1) / 2 * * H Hv Next Nextv TixingJifen = Sum1 TixingJifen = Sum1 v End FunctionEnd Function4 4辛普森法求積辛普森法求積 v辛普森求積公式又叫做三點(diǎn)求積公式,或叫做拋辛普森求積公式又叫做三點(diǎn)求積公式,或叫做拋物線求積公式。如圖所示,將曲線物線求積公式。如圖所示,將曲線f(x)f(x)視為拋物視為拋物線,表示為線,表示為rqxpxxf2)()()22(.)4()2( 2) 12(.)5()3()( 4)(3bfhnafhafhafhnafhafha
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 記賬實(shí)操-新入職一家公司會(huì)計(jì)遇到財(cái)務(wù)做賬問(wèn)題的解決方案
- 設(shè)備維修工作個(gè)人總結(jié)(二篇)
- 遼寧省丹東市九校聯(lián)考2024-2025學(xué)年七年級(jí)下學(xué)期5月期中考試英語(yǔ)試題(含筆試答案無(wú)聽(tīng)力答案、原文及音頻)
- 河南省開(kāi)封市蘭考縣2024-2025學(xué)年八年級(jí)下學(xué)期期末學(xué)情分析道德與法治試卷(B)(含答案)
- 2025年遼寧省中考英語(yǔ)模擬試題(二)含答案
- 幼兒園《圖形王國(guó)》公開(kāi)課教案
- 部編版四年級(jí)下冊(cè)第四單元《貓》教案
- 容錯(cuò)糾錯(cuò)調(diào)研題目及答案
- 2 8 函數(shù)的零點(diǎn)與方程的根-2026版53高考數(shù)學(xué)總復(fù)習(xí)A版精煉
- 2025屆廣東省汕頭市高三二模語(yǔ)文試題(解析版)
- 郴州云湘礦冶有限責(zé)任公司10000ta錫精煉智能化升級(jí)技改項(xiàng)目報(bào)告書(shū)
- GB∕T 31564-2015 熱噴涂 熱噴涂沉積效率的測(cè)定
- 施工管理人員年度安全培訓(xùn)考核記錄表格
- 小型農(nóng)田水利灌溉工程施工組織設(shè)計(jì)(word共114頁(yè))
- 于新華中考專題2018
- 江蘇自考精密加工與特種加工復(fù)習(xí)大全
- 公司發(fā)生火災(zāi)應(yīng)急流程圖
- 通信電源施工方案
- 薊中上元古界剖面研究生地質(zhì)實(shí)習(xí)-中國(guó)科學(xué)院地質(zhì)與地球物理研究所
- 管式加熱爐溫度控制系統(tǒng)設(shè)計(jì)++
- 幀成形及其傳輸實(shí)驗(yàn)報(bào)告
評(píng)論
0/150
提交評(píng)論