(西南交大)數值分析上機作業(yè)_第1頁
(西南交大)數值分析上機作業(yè)_第2頁
(西南交大)數值分析上機作業(yè)_第3頁
(西南交大)數值分析上機作業(yè)_第4頁
(西南交大)數值分析上機作業(yè)_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數值分析作業(yè)專業(yè)班級:14級隧道1班姓 名: 戴龍欽 學 號: 2014200095 指導老師: 趙海良 2014年12月 成都序 言 通過數值分析的理論知識的學習,此次實驗將我們學過的理論知識運用于實踐之中。本次實驗,我選用的計算機語言為MATLAB,其主要有一下幾個特點。1編程效率高MATLAB是一種面向科學與工程計算的高級語言,允許使用數學形式的語言編寫程序,且比BASIC、FORTRAN和C等語言更加接近我們書寫計算公式的思維方式,用MATLAB編寫程序猶如在演算紙上排列出公式與求解問題。因此,MATLAB語言也可通俗地稱為演算紙式科學算法語言。由于它編寫簡單,所以編程效率高,易學易懂

2、2. 用戶使用方便MATLAB語言與其他語言相比,較好的解決了上述問題,把編輯、編譯、鏈接和執(zhí)行融為一體。它能在同一畫面上進行靈活操作,快速排除輸入程序中的書寫錯誤、語法錯誤以至語義錯誤,從而加快了用戶編寫、修改和調試程序的速度,可以說在編程和調試過程中它是一種比VB還要簡單的語言。3. 方便的繪圖功能MATLAB的繪圖是十分方便的,它有一系列繪圖函數(命令),例如線性坐標、對數坐標、半對數坐標及極坐標,均只需調用不同的繪圖函數(命令),在圖上標出圖題、XY軸標注,格(柵)繪制也只需調用相應的命令,簡單易行。另外,在調用繪圖函數時調整自變量可繪出不變顏色的點、線、復線或多重線。這種為科學研究著

3、想的設計是通用的編程語言所不能及的。I目 錄1 必做題11.1 題目111.1.1 題目11.1.2 計算原理11.1.2.1 多項式擬合11.1.2.2 插值多項式31.1.3 計算過程及結果41.1.3.1 多項式擬合41.1.3.2 插值多項式41.1.4 結果分析41.2 題目341.2.1 題目41.2.2 計算原理51.2.2.1 Jacobi迭代法51.2.2.2 Gauss-Seidel迭代法61.2.3 計算過程及結果71.2.4 結果分析82 選做題102.1 題目2102.1.1 題目102.1.2 計算原理102.1.2.1 Euler算法102.1.2.2 4階Run

4、ge-Kutta算法112.1.2.3 方法的穩(wěn)定性122.1.3 計算過程及結果132.1.4 結果分析143總結154附件164.1 必做第1題程序16附錄1.116附錄1.2164.2 必做第1題結果16附錄2.116附錄2.2164.3 必做第3題程序17附錄1.317附錄1.417附錄1.518附錄1.619附錄1.719附錄1.819附錄1.920附錄1.1020附錄1.1120附錄1.1221附錄1.1321附錄1.14214.4 必做第3題結果22附錄2.322附錄2.422附錄2.522附錄2.623附錄2.723附錄2.823附錄2.924附錄2.1024附錄2.1124附

5、錄2.12254.5 選做第2題程序25附錄1.1525附錄1.1626附錄1.1726附錄1.1826附錄1.1927附錄1.20274.6 選做第2題結果27附錄2.1327附錄2.1427附錄2.1527附錄2.1627附錄2.1728附錄2.1828附錄2.1928附錄2.2028II2014級學碩隧道1班 戴龍欽 20142000951 必做題1.1 題目11.1.1 題目某過程涉及兩變量x 和y,擬分別用插值多項式和多項式擬合給出其對應規(guī)律的近似多項式,已知xi與yi之間的對應數據如下,xi=1,2,10yi = 34.6588 40.3719 14.6448 -14.2721 -

6、13.357024.8234 75.2795 103.5743 97.4847 78.2392(1)請用次數分別為3,4,5,6的多項式擬合并給出最好近似結果f(x)。(2)請用插值多項式給出最好近似結果下列數據為另外的對照記錄,它們可以作為近似函數的評價參考數據。xi =Columns 1 through 7 1.5000 1.9000 2.3000 2.7000 3.1000 3.5000 3.9000Columns 8 through 14 4.3000 4.7000 5.1000 5.5000 5.9000 6.3000 6.7000Columns 15 through 17 7.10

7、00 7.5000 7.9000yi =Columns 1 through 7 42.1498 41.4620 35.1182 24.3852 11.2732 -1.7813 -12.3006Columns 8 through 14 -18.1566 -17.9069 -11.0226 2.0284 19.8549 40.3626 61.0840Columns 15 through 17 79.5688 93.7700 102.36771.1.2 計算原理1.1.2.1 多項式擬合假設給定數據點 (i=0,1,m),為所有次數不超過的多項式構成的函數類,現求一,使得 (1-1)當擬合函數為多項

8、式時,稱為多項式擬合,滿足式(1-1)的稱為最小二乘擬合多項式。特別地,當n=1時,稱為線性擬合或直線擬合。顯然 為的多元函數,因此上述問題即為求的極值 問題。由多元函數求極值的必要條件,得 (1-2)即 (1-3)(3)是關于的線性方程組,用矩陣表示為 (1-4)式(1-3)或式(1-4)稱為正規(guī)方程組或法方程組??梢宰C明,方程組(1-4)的系數矩陣是一個對稱正定矩陣,故存在唯一解。從式(1-4)中解出 (k=0,1,,n),從而可得多項式 (1-5)可以證明,式(1-5)中的滿足式(1-1),即為所求的擬合多項式。我們把稱為最小二乘擬合多項式的平方誤差,記作由式(1-2)可得 (1-6)多

9、項式擬合的一般方法可歸納為以下幾步:1) 由已知數據畫出函數粗略的圖形散點圖,確定擬合多項式的次數n;2) 列表計算和;3) 寫出正規(guī)方程組,求出;4) 寫出擬合多項式。在實際應用中,或;當時所得的擬合多項式就是拉格朗日或牛頓插值多項式。 1.1.2.2 插值多項式在眾多函數中,多項式最簡單、最易計算,已知函數 在n+1個互不相同的點處的函數值,為求的近似式,自然應當選n次多項式 (1-7)使?jié)M足條件, (1-8)稱為被插函數,城插值多項式,式(1-8)稱為插值條件,稱插值節(jié)點。這種求函數近似式的方法稱為插值法。幾何上,其實質是用通過n+1個點的多項式由曲線,當做曲線的近似曲線,如圖1-1所示

10、。圖1-1 插值多項式的幾何意義1.1.3 計算過程及結果1.1.3.1 多項式擬合設擬合模型為利用matlab編程,程序見附錄1.1最終計算機運行結果見附錄2.1。由于多項式擬合中,多項式的階數越大,擬合的精度越高,但是在超過7階會產生龍格現象,所以,6次多項式為最好的近似結果為:1.1.3.2 插值多項式由題意知,x,y的十個已知點,現給出另外17個x值,利用編程求出對應這17個點的y值。本文采用三次樣條插值法,Matlab編程見附錄1.2最終計算結果見附錄2.2。通過與題中所給數據對比來看,所得結果計算差別不大。1.1.4 結果分析通過與題中所給數據對比來看,兩種方法所得結果計算差別不大

11、。1.2 題目31.2.1 題目用雅格比法與高斯賽德爾迭代法解下列方程組Ax=b1或Ax=b2,研究其收斂性。上機驗證理論分析是否正確,比較它們的收斂速度,觀察右端項對迭代收斂有無影響。(1) A行分別為:A1=6,2,-1,A2=1,4,-2,A3=-3,1,4;b1=-3,2,4T;b2=100,-200,345T(2) A行分別為:A1=1,0,8,0.8,A2=0.8,1,0.8,A3=0.8,0.8,1;b1=3,2,1 T;b2=5,0,-10T(3) A行分別為:A1=1,3,A2=-7,1;b1=4,6T1.2.2 計算原理1.2.2.1 Jacobi迭代法設有n階方程組Ax=

12、b,若系數矩陣非奇異,且 (i = 1, 2, n),將方程組改寫成同解方程組:然后寫成迭代格式:上式也可以簡單地寫為:對以上兩式給定一組任意初值后,經反復迭代可得到一向量序列,如果x (k)收斂于,則就是方程組Ax=b的解,該方法稱為雅克比(Jacobi)迭代法。程序實現雅克比(Jacobi)迭代法據體流程如圖1-1所示。 設D = diag (a11, a22, , ann),將Ax=b改寫為:AX = (D (D - A) x = b,DX = (D - A) x + b,X = (I D-1A) x + D-1b。記B = I D-1A,g = D-1 b。則迭代格式的向量表示為BJ

13、= I D-1A稱為雅克比迭代矩陣。Jacobi迭代收斂的充要條件:迭代矩陣BJ的譜半徑。特別地,若系數矩陣A滿足以下特征中的任意一條,則Jacobi迭代法收斂:A為行對角占優(yōu)陣,即;A為列對角占優(yōu)陣,即;A的元素滿足。 圖1-1 Jacobi迭代法流程圖 圖1-2 Gauss-Seidel迭代法流程圖1.2.2.2 Gauss-Seidel迭代法在雅可比迭代中,每次迭代時只用到前一次的迭代值,而在高斯-塞德爾迭代中,每次迭代時充分利用最新的迭代值。一旦一個分量的新值被求出,就立即用于后續(xù)分量的迭代計算,而不必等到所有分量的新值被求出以后。如果迭代收斂,應該比更接近于原方程的解(i = 1,

14、2, n),因此在迭代過程中及時地以代替(i = 1, 2, n-1),可得到更快的收斂效果。這樣可將迭代格式寫成:上式可簡寫為: (i = 1, 2, n)該式稱為Gauss-Seidel迭代格式。程序實現Gauss-Seidel迭代法據體流程如圖1-2所示。對于上述Gauss-Seidel迭代式,如寫成矩陣形式為:= D-1+ D-1b, =。其中,L和U分別為:則Gauss-Seidel迭代法的迭代矩陣為。其收斂的充要條件為譜半徑。特別地,若系數矩陣A滿足Jacobi迭代法三條特征中的任意一條,則Gauss-Seidel迭代法收斂。1.2.3 計算過程及結果當b1=時,用雅閣比法結合ma

15、tlab編程計算。首先要編寫雅閣比與高斯-賽德爾迭代法的自定義函數,然后通過調用此函數來解題。雅閣比自定義函數程序見附錄1.3。高斯-賽德爾迭代法自定義函數見附錄1.4。完成后,把以上程序保存成m文件,以備調用?,F對本題中的三個小題分別利用雅閣比法進行計算, 選取x(0) =,迭代10 次。精度選。(1) 首先用雅閣比法進行計算,當b1=時,程序見附錄1.5。當b2=時,程序見附錄1.6。通過計算機計算,當為b1時,見附錄2.3,當為b2時,見附錄2.4?,F在用高斯-賽德爾法進行計算:當b1=時,程序見附錄1.7,當b2=時,程序見附錄1.8。通過計算,當b1=時,計算結果見附錄2.5,當為b

16、2時,所得結果見附錄2.6。通過以上對比,為表達清楚,現將總結如下:用雅閣比法計算b1、b2結果如下:=-0.726719 0.809460 0.251958=36.426331 -2.015201 114.049096用高斯-賽德爾法計算結果如下:=-0.727247 0.808074 0.252546=36.363673 -2.075136 114.041539(2) 仿照(1)中的計算步驟,先對其進行雅閣比法計算,b1=時,程序見附錄1.9,b2=時,程序見附錄1.10。運算結果,當為b1時,見附錄2.7,當為b2時,見附錄2.8?,F對其進行高斯-賽德爾迭代法計算,當b1=3,2,1時,

17、程序見附錄1.11,當b2=5,0,-10時,程序見附錄1.12。運算結果,當為b1時,見附錄2.9,當為b2時,見附錄2.10。(3) 同樣,由(1)題的計算方法,先用雅閣比進行計算,程序見附錄1.13,運行結果見附錄2.11。再用高斯-賽德爾迭代法進行計算,程序見附錄1.14,運行結果見附錄2.12。 1.2.4 結果分析(1) 通過以上計算分析,由結果來看,他們的收斂性都比較好,理論分析正確,但是從過程來看,通過對b1、b2本身的對比,高斯-賽德爾法的收斂速度要快于雅閣比法,基本上在第五六次迭代過程中,高斯-賽德爾法就已經很接近真實值,而雅閣比法在第七八次迭代過程中才基本接近真實值。將b

18、1與b2進行對比后得出,在相同計算方法的前提下,右端項對迭代收斂有一定的影響,b2的收斂性要差于b1的收斂性。(2) 由以上方法得出,當用雅閣比法進行計算時,無論取b1還是b2,都沒有收斂性,所得數據過于離散。雅閣比法在本題失效(原因是本題給出的行列式無法滿足雅閣比迭代收斂的條件:A既不是行對角占優(yōu)矩陣也不是列對角占優(yōu)矩陣,同時)。但是用高斯-賽德爾法可以取得較好的收斂性。等式右端項對迭代收斂性沒有什么明顯的影響。(3) 由此可得,對于本小題而言,無論是雅閣比法還是高斯-賽德爾法都已經失效,無法得到收斂的數列。因為此題給出的行列式無法滿足雅閣比法與高斯-賽德爾迭代法所給出的收斂條件。A既不是行

19、對角占優(yōu)矩陣,也不是列對角占優(yōu)矩陣,且。不滿足其充要條件。所以不能用這兩種方法計算。2 選做題2.1 題目22.1.1 題目給定初值問題y/=-1000(y-x2)+2x , 0£x£1。y(0)=1,請分別用Euler和4階Runge-Kutta算法按步長h=0.1,0.01,0.001,0.0001計算其數值解,分析其中遇到的現象及問題。2.1.2 計算原理2.1.2.1 Euler算法一階常微分方程初值問題 (2-1)第一步,對式2-1的求解區(qū)域作一致網格剖分,得到一致網格節(jié)點。第二步,對連續(xù)方程作節(jié)點離散,得到節(jié)點離散方程。 (2-2)第三步,由泰勒公式改寫上式為同

20、樣地,有由離散節(jié)點方程得 (2-3)忽略高階項, 并用作為真解的近似值,得差分方程:即 (2-4)總的, (2-5)開始輸入x0,y0,h,nX1=x0+hy1=y0+h*f(x0,y0);i=1輸出x1,y1i=n?結束i=i+1x0=x1,y0=y1否圖2-1 Euler算法流程圖這就是著名的歐拉(Euler)公式。以上方法稱為歐拉方法或歐拉折線法。程序實現雅克比(Jacobi)迭代法據體流程如圖1-1所示。2.1.2.2 4階Runge-Kutta算法一階常微分方程初值問題如式2-1所示,常微分方程初值問題的數值解法是求方程(2-1)的解在點列上的近似值,這里是到的步長,一般略去下標記為

21、。常微分方程初值問題的數值解法一般分為兩大類:(1)單步法:這類方法在計算時,只用到、和,即前一步的值。因此,在有了初值以后就可以逐步往下計算。典型方法如龍格庫塔方法。(2)多步法:這類方法在計算時,除用到、和以外,還要用,即前面步的值。典型方法如Adams方法。經典的方法是一個四階的方法,它的計算公式是: (2.6)開始輸入x0,y0,h,Nx1=x0+hk1=f(x0,y0),k2=f(x0+h/2,y0+hk1/2)k3=f(x0+h/2,y0+hk2/2),k4=f(x1,y0+hk3)y1=y0+h(k1+2k2+2k3+k4)/6i=1輸出x1,y1i=n?結束i=i+1x0=x1

22、,y0=y1否是圖2-2 4階Runge-Kutta算法流程圖方法的優(yōu)點是:單步法、精度高,計算過程便于改變步長,缺點是計算量較大,每前進一步需要計算四次函數值。程序實現Runge-Kutta算法據體流程如圖2-2所示。2.1.2.3 方法的穩(wěn)定性粗略的說:如果是某方法第k步的精確值,為其近似值,其絕對誤差為,即。假設第k步后的計算中不再有舍入誤差,只是由引起的擾動(,),都有,則稱此方法是絕對穩(wěn)定的。因此,對于此題,根據絕對穩(wěn)定的定義,對于Euler算法設有一擾動,此時故。如果,則必有,即時,Euler法是絕對穩(wěn)定的,稱為Euler法的絕對穩(wěn)定區(qū)間。同理,可得4階Runge-Kutta算法的

23、絕對穩(wěn)定區(qū)間為。2.1.3 計算過程及結果用matlab編程計算方程初值Euler和4階Runge-Kutta算法時,首先要編寫Euler和4階Runge-Kutta算法的自定義函數,然后通過調用此函數來解題。Euler算法自定義函數程序見附錄1.15。4階Runge-Kutta算法自定義函數見附錄1.16。完成后,把以上程序保存成m文件,以備調用?,F對本題中按步長h=0.1,0.01,0.001,0.0001計算其數值解分別利用Euler和4階Runge-Kutta算法進行計算。根據式y(tǒng)/=-1000(y-x2)+2x,以及初始條件y(0)=1,可以得到實際的方程,取絕對誤差小于最為計算停止

24、條件。(1) 當h=0.1時,a=0,b=1,y(0)=1,即分段數n=10時,Euler算法程序見附錄1.17。4階Runge-Kutta算法程序見附錄1.17。通過計算機計算,Euler算法結果見附錄2.13,4階Runge-Kutta算法結果見附錄2.14。通過對兩種算法結果對比,為表達清楚,現將結果列出如下:用Euler算法計算結果如下:ix(i)y(i)yx(i)wucha(i)00.00001.00001.00000.000010.1000-99.00000.010099.010020.20009802.02000.04009801.980030.3000-970395.94000

25、.0900970396.0300用4階Runge-Kutta算法計算結果如下:ix(i)y(i)yx(i)wucha(i)00.00001.00001.00000.000010.100016174067.26330.010016174067.2533(2) 當h=0.01時,即分段數n=100時,Euler算法程序見附錄1.18。4階Runge-Kutta算法程序見附錄1.17。通過計算機計算,Euler算法結果見附錄2.15,4階Runge-Kutta算法結果見附錄2.16。(3) 當h=0.001時,即分段數n=1000時,Euler算法程序見附錄1.19。4階Runge-Kutta算法程

26、序見附錄1.17。通過計算機計算,Euler算法結果見附錄2.17,4階Runge-Kutta算法結果見附錄2.18。(4) 當h=0.0001時,即分段數n=10000時,Euler算法程序見附錄1.20。4階Runge-Kutta算法程序見附錄1.19。通過計算機計算,Euler算法結果見附錄2.13,4階Runge-Kutta算法結果見附錄2.20。2.1.4 結果分析(1) 當h=0.1時,h在絕對穩(wěn)定區(qū)間之外,故結果應該是不穩(wěn)定的,從結果可以看見,不論Euler還是4階Runge-Kutta算法,結果失去穩(wěn)定性,而且還可以看出,收斂階數越大,結果在是穩(wěn)定情況下,精度越差。(2) 當h

27、=0.01時,h在絕對穩(wěn)定區(qū)間之外,結果失穩(wěn),從附錄2.15和2.16可以看出,結果失穩(wěn)。(3) 當h=0.001與0.0001時,h在絕對穩(wěn)定區(qū)間之內,兩種算法均收斂,而且從附錄2.17與2.18的對比,附錄2.19與2.20的對比可以看出,4階Runge-Kutta算法精度高于Euler算法。但是并不是步長h越大越好,從結果可以看出,h=0.001與h=0.0001在達到相同的精度時,h=0.0001的計算步遠大于h=0.001的計算步。3 總結本報告系西南交通大學2014級碩士研究生數值分析課程的上機實習報告,由本人嚴格按照實習要求獨立完成。完成必做第一題(插值多項式和多項式擬合)、必做

28、第三題(雅格比迭代法、高斯賽德爾迭代法求解方程組的問題)和選做第二題(利用四階Runge-Kutta算法求解微分方程的初值問題)。我分別利用C語言和Matlab完成了程序的編寫,并從中感受到了兩種編程語言的特點。本次實習總共經歷了六個步驟,分別是:選題;學習相關知識(尤其是C語言基礎知識的回顧);分析解題思路;編寫程序代碼;驗證實驗數據;編寫實習報告。通過使用C語言和Matlab編寫數值計算的程序,讓我加深了對數學編程軟件的使用,同時也使我對各種算法的原理有了更深一層的理解。這是我第一次獨立使用數學編程工具,在編程之前首先務必要詳細了解其基本原理,然后設計好算法流程,最終完成源程序的編寫。由于

29、平時接觸的很少,在編寫程序的時候往往顯得力不從心,很多東西都需要重新學習并向師兄師姐請教,在編寫過程中也遇到了許多困難。通過本次實習,算是對C語言和MATLAB進行了一次全面而系統(tǒng)的復習,也對其有了進一步的深入了解,尤其是對其基本結構、優(yōu)特點和使用方法。這其中的苦與樂是值得回味的,這個過程也是讓我受益匪淺的。通過此次數值分析上機實習,認識到了計算機編程在數值分析課程中的重要性。也讓我意識到了學習編程語言的重要性。要想要將數學應用于實際工程中,特別是對于工科的學生來講,這是一門非常重要的實踐課程。在此次報告中,首次接觸了Matlab這門軟件,之所以選這門,是因為很多工程中對數據的處理需要使用,這

30、對我本身的專業(yè)是非常重要的。本學期學習的數值分析方法,讓我在對數學的理解上又有了新的認識。在一連串看似雜亂無章的數據中,用數值分析進行處理,有了很多的收獲。在學習的過程中,意識到了這門課對我專業(yè)的重要性,讓我對自己的專業(yè)有了更好的發(fā)揮。對我寫論文以及解決實際工程問題有很大的幫助。最后,感謝老師給我這樣的機會去接觸這門語言,雖然只了解了皮毛,可是仍然收獲頗多。由于初次接觸這門軟件,在報告中仍難免會有不完善甚至錯誤的地方,望諒解!4 附件4.1 必做第1題程序附錄1.1X=1 2 3 4 5 6 7 8 9 10Y=34.6588 40.3719 14.6448 -14.2721 -13.3570

31、 24.8234 75.2795 103.5743 97.4847 78.2392P3=polyfit(X, Y,3)P4=polyfit(X, Y,4)P5=polyfit(X, Y,5)P6=polyfit(X, Y,6)附錄1.2X=1 2 3 4 5 6 7 8 9 10Y=34.6588 40.3719 14.6448 -14.2721 -13.3570 24.8234 75.2795 103.5743 97.4847 78.2392Xi=1.5 1.9 2.3 2.7 3.1 3.5 3.9 4.3 4.7 5.1 5.5 5.9 6.3 6.7 7.1 7.5 7.9Yi= in

32、terp1(X, Y, Xi,'spline')4.2 必做第1題結果附錄2.1P3 = -1.0326 19.3339 -94.4787 131.7944P4 = -0.3818 7.3680 -42.1433 73.5334 0.7450P5 = 0.0981 -3.0789 34.5020 -163.5107 304.7282 -139.5019P6 = 0.0194 -0.5408 5.1137 -16.8973 -0.8670 66.3750 -18.6991附錄2.2Yi = Columns 1 through 11 43.0510 41.6393 34.7861

33、24.1356 11.3345 -1.6605 -12.2916 -18.0792 -17.8286 -11.0129 2.1296 Columns 12 through 17 19.8846 40.3192 61.0680 79.5479 93.6798 102.36804.3 必做第3題程序附錄1.3function tx=jacobi(A,b,imax,x0,tol) del=10-6;tx=x0 ; n=length(x0);for i=1:ndg=A(i,i);if abs(dg)< deldisp('diagonal element is too small'

34、);returnendendfor k = 1:imax for i = 1:nsm=b(i) ;for j = 1:nif j=ism = sm -A(i,j)*x0(j) ;endend %for jx(i)=sm/A(i,i) ; endtx=tx ;x ; if norm(x-x0)<tolreturnelsex0=x ;endend附錄1.4function tx= gseidel( A,b,imax,x0,tol)del=10-6;tx=x0; n=length(x0);for i=1:ndg=A(i,i);if abs(dg)< deldisp('diagon

35、al element is too small');returnendendfor k = 1:imax x=x0;for i = 1:nsm=b(i);for j = 1:nif j=ism = sm -A(i,j)*x(j);endendx(i)=sm/A(i,i);endtx=tx;x; if norm(x-x0)<tolreturnelsex0=x;endend附錄1.5A=6 2 -1;1 4 -2;-3 1 4;b=-3 2 4;tol=1.0*10-6 ; imax =10; x0= zeros(1,3); tx=jacobi(A,b,imax,x0,tol) ;f

36、or j=1:size(tx,1)fprintf('%d %f %f %fn', j, tx(j,1),tx(j,2),tx(j,3)end附錄1.6A=6 2 -1;1 4 -2;-3 1 4;b=100,-200,345;tol=1.0*10-6 ; imax =10; x0= zeros(1,3); tx=jacobi(A,b,imax,x0,tol) ;for j=1:size(tx,1)fprintf('%d %f %f %fn', j, tx(j,1),tx(j,2),tx(j,3)end附錄1.7A=6 2 -1;1 4 -2;-3 1 4;b=-

37、3 2 4;tol=1.0*10-6 ; imax =10; x0= zeros(1,3); tx= gseidel (A,b,imax,x0,tol) ;for j=1:size(tx,1)fprintf('%d %f %f %fn', j, tx(j,1),tx(j,2),tx(j,3)end附錄1.8A=6 2 -1;1 4 -2;-3 1 4;b=100,-200,345;tol=1.0*10-6 ; imax =10; x0= zeros(1,3); tx= gseidel (A,b,imax,x0,tol) ;for j=1:size(tx,1)fprintf(&#

38、39;%d %f %f %fn', j, tx(j,1),tx(j,2),tx(j,3)end附錄1.9A=1 0.8 0.8;0.8 1 0.8;0.8 0.8 1;b=3 2 1;tol=1.0*10-6 ; imax =10; x0= zeros(1,3); tx=jacobi(A,b,imax,x0,tol) ;for j=1:size(tx,1)fprintf('%d %f %f %fn', j, tx(j,1),tx(j,2),tx(j,3)end附錄1.10A=1 0.8 0.8;0.8 1 0.8;0.8 0.8 1;b=5 0 -10;tol=1.0*

39、10-6 ; imax =10; x0= zeros(1,3); tx=jacobi(A,b,imax,x0,tol) ;for j=1:size(tx,1)fprintf('%d %f %f %fn', j, tx(j,1),tx(j,2),tx(j,3)end附錄1.11A=1 0.8 0.8;0.8 1 0.8;0.8 0.8 1;b=3 2 1;tol=1.0*10-6 ; imax =10; x0= zeros(1,3); tx= gseidel (A,b,imax,x0,tol) ;for j=1:size(tx,1)fprintf('%d %f %f %f

40、n', j, tx(j,1),tx(j,2),tx(j,3)end附錄1.12A=1 0.8 0.8;0.8 1 0.8;0.8 0.8 1;b=5 0 -10;tol=1.0*10-6 ; imax =10; x0= zeros(1,3); tx= gseidel (A,b,imax,x0,tol) ;for j=1:size(tx,1)fprintf('%d %f %f %fn', j, tx(j,1),tx(j,2),tx(j,3)end附錄1.13A=1 3;-7 1;b=4 6;tol=1.0*10-6 ; imax =10; x0= zeros(1,2);

41、tx=jacobi(A,b,imax,x0,tol) ;for j=1:size(tx,1)fprintf('%d %f %fn', j, tx(j,1),tx(j,2)end附錄1.14A=1 3;-7 1;b=4 6;tol=1.0*10-6 ; imax =10; x0= zeros(1,2); tx= gseidel (A,b,imax,x0,tol) ;for j=1:size(tx,1)fprintf('%d %f %fn', j, tx(j,1),tx(j,2)end4.4 必做第3題結果附錄2.3迭代次數ix1x2x310.000000 0.00

42、0000 0.000000 2-0.500000 0.500000 1.000000 3-0.500000 1.125000 0.500000 4-0.791667 0.875000 0.343750 5-0.734375 0.869792 0.187500 6-0.758681 0.777344 0.231771 7-0.720486 0.805556 0.236654 8-0.729076 0.798448 0.258247 9-0.723108 0.811392 0.253581 10-0.728201 0.807567 0.254821 11-0.726719 0.809460 0.2

43、51958 附錄2.4迭代次數ix1x2x310.000000 0.000000 0.000000 216.666667 -50.000000 86.250000 347.708333 -11.041667 111.250000 438.888889 -6.302083 124.791667 539.565972 2.673611 116.992187 635.274161 -1.395399 115.256076 736.341146 -1.190502 113.054470 835.905912 -2.558051 113.803485 936.486598 -2.074736 113.8

44、18947 1036.328070 -2.212176 114.133632 1136.426331 -2.015201 114.049096 附錄2.5迭代次數ix1x2x310.000000 0.000000 0.000000 2-0.500000 0.625000 0.468750 3-0.630208 0.891927 0.304362 4-0.746582 0.838826 0.230357 5-0.741216 0.800482 0.243967 6-0.726166 0.803525 0.254494 7-0.725426 0.808604 0.253780 8-0.727238

45、 0.808699 0.252397 9-0.727500 0.808073 0.252356 10-0.727298 0.808003 0.252525 11-0.727247 0.808074 0.252546 附錄2.6迭代次數ix1x2x310.000000 0.000000 0.000000 216.666667 -54.166667 112.291667 353.437500 -7.213542 128.131510 440.426432 3.959147 115.580037 534.610291 -0.862554 112.423356 635.691411 -2.711174

46、 113.696352 736.519783 -2.281770 114.210280 836.462303 -2.010436 114.099336 936.353368 -2.038674 114.024694 1036.350340 -2.075238 114.031565 1136.363673 -2.075136 114.041539 附錄2.7迭代次數ix1x2x310.000000 0.000000 0.000000 23.000000 2.000000 1.000000 30.600000 -1.200000 -3.000000 46.360000 3.920000 1.480

47、000 5-1.320000 -4.272000 -7.224000 612.196800 8.835200 5.473600 7-8.447040 -12.136320 -15.825600 825.369536 21.418112 17.466688 9-28.107840 -32.268979 -36.430118 1057.959278 53.630367 49.301455 11-79.345458 -83.808587 -88.271716 附錄2.8迭代次數ix1x2x310.000000 0.000000 0.000000 25.000000 0.000000 -10.0000

48、00 313.000000 4.000000 -14.000000 413.000000 0.800000 -23.600000 523.240000 8.480000 -21.040000 615.048000 -1.760000 -35.376000 734.708800 16.262400 -20.630400 88.494400 -11.262720 -50.776960 954.631744 33.826048 -7.785344 10-15.832563 -37.477120 -80.766234 1199.594683 77.279037 32.647747 附錄2.9迭代次數i

49、x1x2x310.000000 0.000000 0.000000 23.000000 -0.400000 -1.080000 34.184000 -0.483200 -1.960640 44.955072 -0.395546 -2.647621 55.434533 -0.229530 -3.164003 65.714826 -0.040659 -3.539334 75.863994 0.140272 -3.803413 85.930513 0.298320 -3.983066 95.947797 0.428215 -4.100810 105.938076 0.530187 -4.174610

50、 115.915538 0.607258 -4.218237 附錄2.10迭代次數ix1x2x310.000000 0.000000 0.000000 25.000000 -4.000000 -10.800000 316.840000 -4.832000 -19.606400 424.550720 -3.955456 -26.476211 529.345334 -2.295298 -31.640029 632.148261 -0.406586 -35.393340 733.639941 1.402719 -38.034128 834.305127 2.983201 -39.830662 934

51、.477969 4.282155 -41.008099 1034.380756 5.301875 -41.746104 1134.155384 6.072577 -42.182368 附錄2.11迭代次數ix1x210.000000 0.000000 24.000000 6.000000 3-14.000000 34.000000 4-98.000000 -92.000000 5280.000000 -680.000000 62044.000000 1966.000000 7-5894.000000 14314.000000 8-42938.000000 -41252.000000 91237

52、60.000000 -300560.000000 10901684.000000 866326.000000 11-2598974.000000 6311794.000000 附錄2.12迭代次數ix1x210.000000 0.000000 24.000000 34.000000 3-98.000000 -680.000000 42044.000000 14314.000000 5-42938.000000 -300560.000000 6901684.000000 6311794.000000 7-18935378.000000 -132547640.000000 8397642924.000000 2783500474.000000 9-8350501418.000000 -58453509920.000000 10175360529764.000000 1227523708354.000000 11-3682571125058.000000 -25777997875400.000000 4.5 選做第2題程序附錄1.15function e

溫馨提示

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

最新文檔

評論

0/150

提交評論