計算方法實驗_第1頁
計算方法實驗_第2頁
計算方法實驗_第3頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算方法實驗指導姓名學號院系 專業(yè)哈爾濱工業(yè)大學計算方法實驗指導根據實際問題建立的數學模型,一般不能求出所謂的解析解,必須針對數學模型的特 點確定適當的計算方法,編制出計算機能夠執(zhí)行的計算程序,輸入計算機,進行調試,完 成運算,如果計算結果存在問題或不知是否正確,還需要重新確定新的計算方法,再編制 出計算程序,輸入計算機,重新調試,完成運算,直至獲得正確的計算結果,這就是數值 計算的全部過程。學生在學習“計算方法”和“高級語言”等課程時普遍存在的問題是:只會套用教科 書中的標準程序進行數值計算, 很少有人能夠獨立地將學過的數值算法編制成計算機程序, 至于靈活應用已經掌握的算法求解綜合性較大的課

2、題,則更是困難的事情。編寫計算方法實驗指導的目的是:突出數值計算程序結構化的思想。提高學生的 編程能力,加深對“計算方法”課程內容的理解和掌握,為”計算方法“課程的教學服務, 進一步奠定從事數值計算工作的基礎。具體地1. 根據“計算方法”課程內容的特點,給出五個典型算法的分析流程,學生可以利用 所掌握的“高級語言”順利地編制出計算機程序,上機實習,完成實驗環(huán)節(jié)的教學要求。2. 所有的計算實習題目都經過任課教師逐一檢驗,準確無誤。3. 充分利用循環(huán)的思想、迭代的思想,給出算法結構描述和程序語言的對應關系,有 利于學生編制相應的程序。4. 結合實習題目,提出實驗要求,要求學生按規(guī)范格式寫出相應的實

3、驗報告,實驗報 告成績記入期末總成績。需要提醒學生:不能簡單地套用現成的標準程序完成實驗題目, 應當把重點放在對算法的理解、程序的優(yōu)化設計、上機調試和計算結果分析上,否則就失 去實驗課的目的啦。5. 五個具體的實驗題目是:實驗題目 1 拉格朗日 (Lagrange) 插值實驗題目2龍貝格(Romberg)積分法實驗題目 3 四階龍格庫塔 (RungeKutta) 方法實驗題目 4 牛頓 (Newton) 迭代法實驗題目5高斯(Gauss)列主元消去法要求必須完成其中三個(如果全部完成更好) 。實驗題目 1 拉格朗日 (Lagrange) 插值方法概要:j ;則滿足條件a,b時,有誤差給定平面上

4、n 1個不同的數據點(xk,f(xk) , k 0,1,L ,n ,人Xj , iPn(Xk)f (Xk) , k 0,1 丄,n的n次拉格朗日插值多項式是存在唯一的。若xk a, b, k 0,1,L , n,且函數f (x)充分光滑,則當x估計式f(n 1()f (x) Fn(x)(x xo)(x xJL (x Xn),a,b(n 1)!拉格朗日插值算法實驗實驗目的:利用拉格朗日插值多項式Fn(x)求f (x)的近似值輸 入:n 1個數據點(x-f&k), k 0,1,L , n ;插值點x輸 出:f (x)在插值點x的近似值巳(x)程序流程:1 置 y 0.0 ; k 02 當

5、k n 時,做 2.1 2.42.1 置 I 1.0 ;2.2 對 j 0,1,L ,k 1,k 1,L ,n,置 l l(x 百)/儀 Xj)2.3 置 y y l f (xj2.4 置 k k 13輸出x, y4停機問題1拉格朗日插值多項式的次數n越大越好嗎?考慮下面兩個拉格朗日插值問題:1(1) 設f(x) 二,x 5,5,考慮等距節(jié)點的拉格朗日插值多項式巳(x),即將區(qū)1 x間5,5進行n等分,記h 100, Xk5.0 k h, k 0,1,L , n,構造Pn(x),利用拉格朗n日插值多項式Pn(x)作為f (x)的近似值。分別取n 5,n 10,n 20,同時計算Pn(x)在x

6、0.75,x 1.75,x 2.75,x 3.75,x 4.75處的函數值。(2) 設f (x) ex,x 1,1,考慮等距節(jié)點的拉格朗日插值多項式Pn(x),即將區(qū)間2 01,1進行n等分,記h 一,Xk1.0 k h, k 0,1,L ,n,構造Pn(x),利用拉格朗日插n值多項式Pn(x)作為f(x)的近似值。分別取 n 5, n 10,n 20 ,同時計算Pn(x)在x 0.95,x 0.05,x 0.05,x 0.95處的函數值。問題2插值區(qū)間越小越好嗎?考慮下面兩個拉格朗日插值問題:1(1)設f (x) r,x 1,1,考慮等距節(jié)點的拉格朗日插值多項式R(x),即將區(qū)1 x2 0間

7、1,1進行n等分,記h 2,Xk1.0 k h,k 0,1丄,n,構造Pn(x),利用拉格朗日n插值多項式Pn(x)作為f (x)的近似值。分別取n 5, n 10,n 20 ,同時計算Pn(x)在0.95處的函數值。x 0.95, x 0.05, x 0.05, x(2)設f(x) ex, x 5,5,考慮等距節(jié)點的拉格朗日插值多項式Pn(x),即將區(qū)間一 2 05,5進行n等分,記h ,Xk1.0 k h,k 0,1,L ,n,構造Pn(x),利用拉格朗日n插值多項式Pn(x)作為f (x)的近似值。分別取n 5,n 10,n 20,同時計算Pn(x)在x 4.75,x 0.25,x 0.

8、25,x 4.75處的函數值。問題3在區(qū)間1,1考慮拉格朗日插值問題,為了使得插值誤差較小,應如何選取插值節(jié)點?考慮下面兩個拉格朗日插值問題:(1)設f (x),x 1,1,考慮非等距節(jié)點的拉格朗日插值多項式Pn(x),記1 xXk cos(2k 1),k 0,1,L ,n,構造R(x),利用拉格朗日插值多項式 R(x)作為f(x)的近2(n 1)似值。分別取 n 5 ,n 10, n 20,同時計算 Pn(x)在 x0.95 ,x 0.05 ,x 0.05 ,x 0.95處的函數值。(2)設f(x) ex , x 1,1,考慮非等距節(jié)點的拉格朗日插值多項式R(x),記Xk cos(2k 1)

9、 , k 0,1,L ,n,構造R(x),利用拉格朗日插值多項式 巳(x)作為f(x)的近 2(n 1)似值。分別取 n 5 ,n 10, n 20,同時計算 Pn(x)在 x0.95 ,x 0.05 ,x 0.05 ,x 0.95處的函數值。問題4考慮拉格朗日插值問題,內插比外推更可靠嗎?考慮下面兩個拉格朗日插值問題:(1)設f(x)J,關于以X。1 ,治4 , X2 9為節(jié)點的拉格朗日插值多項式P2(x),利用拉格朗日插值多項式P2(x)作為f(x)的近似值。同時計算F2(X)在x 5 , x 50 ,x 115, x 185處的函數值。(2) 設f(x)浪,關于以X。36,人49,X2

10、64為節(jié)點的拉格朗日插值多項式 F2(x),利用拉格朗日插值多項式P2(x)作為f (x)的近似值。同時計算P2(x)在x 5,x 50, x 115, x 185處的函數值。(3) 設f(x)上,關于以xo 100,為121,X2 144為節(jié)點的拉格朗日插值多項式 F2(x),利用拉格朗日插值多項式P2(x)作為f (x)的近似值。同時計算P2(x)在x 5,x 50, x 115, x 185處的函數值。(4) 設f(x) ,x,關于以xo 169,捲196,X2 225為節(jié)點的拉格朗日插值多項 式P2(x),利用拉格朗日插值多項式 P2(x)作為f(x)的近似值。同時計算 P2(x)在x

11、 5, x 50, x 115, x 185處的函數值。思考題:1. 對實驗1存在的問題,應如何解決?2. 對實驗2存在的問題的回答,試加以說明3. 對實驗3存在的問題的回答,試加以說明4. 如何理解插值問題中的內插和外推?寫出實驗報告實驗題目2龍貝格(Romberg)積分法方法概要:利用復化梯形求積公式、復化辛普生求積公式、復化柯特斯求積公式的誤差估計式計算積分f(x)dx。記h -_-, xk a k h, k 0,1,L ,n,其計算公式:an一般地,利用龍貝格算法計算積分,要輸出所謂的T數表龍貝格(Romberg)積分法實驗b實驗目的:利用龍貝格(Romberg)積分法計算積分f(x)

12、dxa輸入:a,b, N,輸出:龍貝格T數表程序流程:1 置 h 口,m 1n2輸出Ti3對i2,3丄,N,做 3.1 3,53.1置ii21 1置t211 "T1h f (a (k22 k 12)h)輸出T23.2置S21-(4T2 T1)3輸出S23.3對m1,置 C216S2S)輸出C2,轉 3.63.4對m2,置 R2163(64C2G)輸出R2,轉 3.63.5對m3,置 tolR2R如果tol ,則停機,否則轉3.6h3.6RiR2,CiC2 , SS2,TiT2, h , m24停機問題1:利用龍貝格(Romberg)積分法計算積分1 oX2exdx ,103(2)1

13、ex sin xdx ,10(3)011十,101 1(4)0dx,1010問題2:被積函數無界,如何處理?提示:f(0) limsinx 1x 0 X10 6提示:引進變換t/1 X(3)1 COSX ,0.XdX,106提示:利用等式?0SXXdX1 1 dx0-.x1 COSX 10dX,第一個積分值等于2,第二個積分,X利用f(0)lim COS10 ;X 0.X也可以考慮利用分部積分1 COSXcosxdC- x)X,1(4)110 6提示:利用第一類 Gauss-Chebyshev求積公式問題3:積分區(qū)間無限,如何處理?2(1) e x dx,,10 610 2提示:利用weXdx

14、作近似1冷X,106提示:利用變換t .T(3)x236e cos xdx ,10提示:Gauss-Hermite 求積公式(4)e xsin2 xdx,10 60 7提示:Gauss-Lagurre 求積公式思考題:1. 輸入的參數N有什么意義?2. 在實驗1中二分次數和精度的關系如何?3. 在實驗2中給出的提示具有普遍性嗎?存在其它的方法嗎?試加以說明4. 在實驗3中給出的提示具有普遍性嗎?存在其它的方法嗎?試加以說明寫出實驗報告實驗題目3四階龍格一庫塔(Runge Kutta)方法方法概要:給定常微分方程初值問題記Xn a n h, n 0,1 L ,N,利用四階龍格一庫塔方法可逐次求出

15、微分方程初值問題的數值解yn,n 1,2,L ,N四階龍格一庫塔(Runge Kutta)方法實驗實驗目的:利用四階龍格一庫塔(Runge Kutta)方法求解微分方程初值問題輸 入:a,b, ,N輸出:初值問題的數值解xn,yn,n 0,1,2,L ,N程序流程:1 置 xo a,yo,h2 對n 1,2,L ,N,做 2.1 2.42.1 置2.2 置x1x0 h2.3 輸出 x1, y12.4 置 x°X1,y°y13停機問題1(1)準確解準確解問題 2(1)準確解(2)準確解問題 3(1)準確解(2)準確解(3)準確解思考題:1. 對實驗 1,數值解和解析解相同嗎?

16、為什么?試加以說明2. 對實驗 2, N 越大越精確嗎?試加以說明。3. 對實驗 3,N 較小會出現什么現象?試加以說明 寫出實驗報告實驗題目 4 牛頓 (Newton) 迭代法方法概要:求非線性方程 f(x) 0的根 x * ,牛頓迭代法計算公式一般地,牛頓迭代法具有局部收斂性,為保證迭代收斂,要求,對充分小的 0 ,* 2 * *O(x*, )。如果 f(x) C2a,b, f (x*) 0, f (x*) 0 ,那么,對充分小的 0,當O(x*, )時,由牛頓迭代法計算出的xn 收斂于 x* ,且收斂速度是2 階的;如果f(x) Cma,b,f(x*) f (x*) Lf(m1)(x*)

17、 0, f(m)(x*) 0(m 1),那么,對充分小的0,當O(X*,)時,由牛頓迭代法計算出的冷收斂于X*,且收斂速度是1階的;牛頓(Newton)迭代法實驗實驗目的:利用牛頓迭代法求 f (X) 0的根輸 入:初值 ,精度 1, 2 ,最大迭代次數 N輸 出:方程f (x) 0根x*的近似值或計算失敗標志程序流程:1 置 n 12 當 n N 時,做 2.1 2.4如果|F|!,輸出Xo ;停機如果DF2,輸出失敗標志;停機2.2 置 x, x0 F /DF2.3 置 Tolx, x0如果Tol ,,輸出x,;停機2.4 置 n n 1 , x x,3輸出失敗標志4停機問題 1: (1)

18、 cosx x 0, i 10 6, 2 10 4 , N 10, x0.7853981634(2) e x sinx 0 ,1 10 6,2 10 4 , N 10, x0 0.6問題 2: (1) x e x 0, 1 10 6 , 2 10 4 , N 10 , x 0.5(2) x2 2xe x e 2x 0 ,110 6 ,210 4 , N 20 , x 0.5問題3: (1)由下面的遞推公式可以生成勒讓德(Legendre)多項式 試確定 P2(x), F3(x), P4(x)和 F5(x) 確定F6(x),求P6(x)得所有零點,精度 10 60.9324695142,0.66

19、12093865,0.2386191861(2)由下面的遞推公式可以生成切比雪夫勒讓德(Chebyshev)多項式 試確定 T2(x),T3(x),T4(x)和 T5(x) 確定T6(x),求T6(x )得所有零點,精度1062 j 1Xj cos(), j 0,1,L ,nJ 2(n 1)(3) 由下面的遞推公式可以生成拉蓋爾(Laguerre )多項式 試確定 L2(x), L3(x), L4 (x)和 L5(x) 求L5(x)得所有零點,精度 10 60.2635603197,1.4134030591,3.5964257710,7.0858100059,12.6408008443(4)

20、由下面的遞推公式可以生成埃爾米特(Hermite )多項式 試確定 H2(x), H3(x), H4(x)和 H5(x) 確定H6(x),求H6(x)得所有零點,精度10 62.3506049737,1.3358490740,0.4360774119思考題:1. 對實驗1確定初值的原則是什么?實際計算中應如何解決?2. 對實驗 2 如何解釋在計算中出現的現象?試加以說明3. 對實驗 3 存在的問題的回答,試加以說明寫出實驗報告實驗題目 5 相對高斯 (Gauss) 列主元消去法方法概要:高斯(Gauss)列主元消去法:對給定的n階線性方程組Ax b,首先進行列主元消元過程,然后進行回代過程,最

21、后得到解或確定該線性方程組是奇異的。如果系數矩陣的元素按絕對值在數量級方面相差很大,那么,在進行列主元消元過程前,先把系數矩陣的元素進行行平衡:系數矩陣的每行元素和相應的右端向量元素同除以 該行元素絕對值最大的元素。這就是所謂的平衡技術。然后再進行列主元消元過程。如果真正進行運算去確定相對主元,則稱為顯式相對Gauss列主元消去法;如果不進行運算,也能確定相對主元,貝U稱為隱式相對Gauss列主元消去法。顯式相對Gauss列主元消去法:對給定的n階線性方程組Ax b,首先進行列主元消元過程,在消元過程中利用顯式平衡技術,然后進行回代過程,最后得到解或確定該線性 方程組是奇異的。隱式相對Gaus

22、s列主元消去法:對給定的n階線性方程組Ax b,首先進行列主元消元過程,在消元過程中利用隱式平衡技術,然后進行回代過程,最后得到解或確定該線性 方程組是奇異的實驗目的:利用Gauss列主元消去法、顯式相對 Gauss列主元消去法、隱式相對 Gauss列主元消去法求解線性方程組Ax b。輸 入:n ; aij,bi,i, j 1,2,L ,n輸 出:線性方程組Ax b的近似解x,i 1,2丄,n程序流程:一、Gauss列主元消去法1 對k 1,2,L ,n 1,做 1.1 1.3,消元過程1.1尋找最小的正整數p,k p n和apk max ajk。如果apk 0,輸出奇異標 k j n志,停機

23、;1.2如果p k,那么交換p,k兩行;1.3 對 i k 1丄,n,記 mik ai/akk,計算2. 如果ann 0輸出奇異標志,停機;3. 置Xnbn / ann,回代過程n4對k n 1, ,2,1,置 Xk(bkj k 1akjXj)/akk二、顯式相對Gauss列主元消去法1. 對k 1,2丄,n 1,做1.1 1.4,消元過程1.1對i k, k 1丄,n,計算q max%,如果s 0 ,輸出奇異標志,停機;計 k j n J算aij aj /s , j k,k 1,L , n ;1.2尋找最小的正整數p , k p n和apk max ajk ,如果apk 0 ,輸出奇異標 p

24、 k j n 志,停機;1.3如果p k,那么交換p,k兩行;1.4 對 i k 1丄,n,記 mik aik / akk,計算2. 如果ann0輸出奇異標志,停機;3. 置Xn bn / ann,回代過程n4. 對k n 1, ,2,1,置 Xk(bkj k 1akjXj)/akk隱式相對Gauss列主元消去法1. 對k 1,2丄,n 1,做1.1 1.3消元過程1.1對i k,k 1L ,n,計算smax ajk ,如果s 0 ,輸出奇異標志,停機;尋k j n J找最小的正整數p , k p n和apk/sp maxaik/s ;kin1.2如果p k,那么交換p,k兩行;1.3 對 i

25、 k 1,L ,n,記 mik aik/akk,計算2. 如果ann 0輸出奇異標志,停機;nj k 1akjxj)/ akk3. 置 xn bn /ann ,回代過程4. 對 k n 1, ,2,1 ,置 xk (bk問題 1 實驗題目:0.40960.12340.36780.2943x11.29510.22460.38720.40150.1129x21.12620.36450.19200.37810.0643x30.99890.17840.40020.27860.3927x41.24991)136.0190.86000x1226.8790.8602)98.81067.5900x2122.0

26、82)067.590132.0146.260x3110.680046.260177.17x4223.4311/21/31/4x125/121/23)1/31/31/41/5x277/601/41/51/6x357/601/41/51/61/7x4319 / 42010787x1327565x2234)86109x33375910x431實驗題目的準確結果:1) x (x1,x2,x3,x4)T (1,1,1,1)T ;2) x (x1,x2,x3,x4)T (1,1,1,1)T ;3) x (x1,x2,x3,x4)T (1,1,1,1)T ;(4) x (x1,x2,x3,x4)T (1,1

27、,1,1)T 。問題 2197305206804x11361) 46.871.347.452.0x211.71)88.676.410.8802x325.11.455.906.1336.5x46.600.53980.71610.55540.2982x10.20582)0.52570.69240.35650.6255x20.05030.64650.81870.18720.1291x30.10700.58140.94000.77790.4042x40.18591012 x1133)1102 x213115 x37424 x124)21710 x2254109 x315思考題:1. 計算實驗 1、實驗

28、 2 的各個題目說明:對什么類型的線性方程組三種方法是一致的?2. 用三種方法計算實驗 1、實驗 2 的各個題目,哪種方法最好?試加以說明。3. 綜合上述兩種結論,總結三種方法的關系,試加以說明。寫出實驗報告1 本課程給出五類實驗題目,供學生選用,要求必須完成其中三個實驗2 實驗課的目的是為了讓學生深入理解和掌握“計算方法”課程的基本內容,同時有助 于培養(yǎng)學生的上機調試程序進行數值計算的動手能力,進一步提高利用數值方法求解數學 問題、分析計算結果、選擇算法的綜合能力。3 為了順利完成實驗教學的規(guī)定內容,建議學生按下面方法準備實驗、進行實驗、寫出 實驗報告:(1)應明確實驗的目的,清楚實驗的內容

29、,包括算法和誤差分析;(2)寫出內容摘要,包括算法的理論基礎和對算法的初步認識;(3)上機前,編寫好計算程序;(4)上機調試程序要做到快速、準確;(5)記錄計算結果要做到真實、準確;(6)課后,認真寫好實驗報告,包括對算法的新認識和體會,要特別注意對計算結果 的分析和討論,當然包括對計算結果的誤差分析。實驗報告一題目(摘要)Lagrange插值給定平面上n 1個不同的數據點(xk,f(xk) ,k 0,1,L , n , Xi Xj , i j ;則滿足條件Fn(xQf(xQ , k 0,1丄,n的n次拉格朗日插值多項式是存在唯一的。若 Xk a,b,k 0,1,L ,n,且函數f(x)充分光滑,則當x a,b時,有誤差估計式f(n 1)()f (x) Pn(x)(x xo)(x XjL(X Xn),a,b(n 1)!前言:(目的和意義)目的:利用拉格朗日插值多項式 Pn(x)求f (x)的近似值意義:數學原理程序設計流程本實驗采用CodeBlocks的C文件編寫。Lagrange插值源程序:#i nclude?<stdio.h>?#i nclude?<co nio.h>?#in clude?<alloc.h>?float?lagra nge(float?*x,float?*y

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論