版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、姓名:學(xué)號:班級:線性方程組的數(shù)值解法實習(xí)目的(1)通過實習(xí)進(jìn)一步掌握高斯消去法、列主元高斯消去法、柯朗分解法、追趕法以及雅克比迭代法和高斯-賽德爾迭代法的基本思想;(2)通過實習(xí)進(jìn)一步掌握高斯消去法、列主元高斯消去法、柯朗分解法、追趕法以及雅克比迭代法和高斯-賽德爾迭代法的計算步驟,并能靈活應(yīng)用;(3)通過對高斯消去法、列主元高斯消去法、柯朗分解法、追趕法以及雅克比迭代法和高斯-賽德爾迭代法的調(diào)試練習(xí),進(jìn)一步體會各種算法的特點;(4)通過對上機(jī)調(diào)試運行,組不培養(yǎng)解決實際問題的編程能力。實習(xí)要求(1)熟悉Turbo C的編譯環(huán)境;(2)實習(xí)前復(fù)習(xí)高斯消去法、列主元高斯消去法、直接三角分解法、雅
2、克比迭代法、高斯-賽德爾迭代法以及追趕法的基本思想和過程;(3)實習(xí)前復(fù)習(xí)高斯消去法、列主元高斯消去法、直接三角分解法、雅克比迭代法、高斯-賽德爾迭代法以及追趕法的計算步驟。實習(xí)設(shè)備(1)硬件設(shè)備:單機(jī)或網(wǎng)絡(luò)環(huán)境下的微型計算機(jī)一臺;(2)軟件設(shè)備:DOS 3.3以上操作系統(tǒng),Turbo C 2.0編譯器。實習(xí)內(nèi)容實習(xí)一 高斯消去法(1)用高斯消去法求解線性方程組:x1-4x2+6x3-5x4=8-5x1+21x2-33x3+32x4=-326x1-26x2+43x3-48x4=255x1-24x2+45x3-64x4=-10(2)要求:將線性方程組寫成用矩陣表示的形式,即Ax=b的形式。輸出系
3、數(shù)矩陣的原始元素和經(jīng)高斯消去法消去后的矩陣元素。經(jīng)高斯消去法消去后的矩陣是一個什么形式的矩陣?請寫出程序的運行結(jié)果。#include <stdio.h>#define N 4int Gauss(float aNN,float bN)int i,j,k,flag=1;float t;for(i=0;i<N-1;i+)if(aii=0)flag=0;break;elsefor(j=i+1;j<N;j+)t=-aji/aii;bj=bj+t*bi;for(k=i;k<N;k+)ajk=ajk+t*aik;return(flag);void zg_matric(float
4、 aNN,float bN)int i,j;for(i=0;i<N;i+)for(j=0;j<N;j+)printf("%10f",aij);printf("%10f",bi);printf("n");printf("n");void main()static float aNN=1,-4,6,-5,-5,21,-33,32,6,-26,43,-48,5,-24,45,-64;float bN=8,-32,25,-10;float xN=0,0,0,0;int i,j,flag;zg_matric(a,
5、b);flag=Gauss(a,b);if(flag=0)printf("Gauss method does not run.");elsexN-1=bN-1/aN-1N-1;for(i=N-2;i>=0;i-)xi=bi;for(j=i+1;j<N;j+)xi=xi-aij*xi;xi=xi/aii;for(i=0;i<N;i+)printf("x%d=%11.7fn",i+1,xi);(3)思考題:高斯消去法的基本思想是什么?答:高斯消去法是最古老的求解線性代數(shù)方程組的方法之一,是消去法的一種特殊形式。高斯消去法由哪兩個過程組成?答
6、:高斯消去法包括消元與回代兩個過程。實習(xí)二 列主元高斯消去法求解線性方程組(1)用列主元高斯消去法求解線性方程組:0.02x1+4x2+1.38x3=92x2+3.32x2+0.575x3=164x1+5x2+4x3=1(2)要求:輸出系數(shù)矩陣的原始元素和經(jīng)列主高斯消去法消去后的矩陣元素。經(jīng)列主高斯消去法消去后的矩陣是一個什么形式的矩陣?請寫出輸出后的運行結(jié)果。若線性方程組的準(zhǔn)確解為:x1=2,x2=5,x3=-8,請通過計算絕對誤差證明,在一般情況下用經(jīng)列主高斯消去法求解線性方程組是穩(wěn)定的。#include<stdio.h>#include<math.h>#defin
7、e N 3void ColGauss(float aNN,float bN)float t,max_fab;int i,j,k,l;for(i=0;i<N-1;i+)l=i;max_fab=fabs(aii);for(j=i+1;j<N;j+)if(fabs(aji>max_fab)l=j;max_fab=fabs(ali);if(i<1)t=bi;bi=bk;bk=t;for(j=i;j<N;j+)t=aij;aij=alj;alj=t;for (j=i+1;j<N;j+)t=-aji/aii;bj=bj+t*bi;for(k=i;k<N;k+)aj
8、k=ajk+t*aik;void zg_matric(float aNN,float bN)int i,j;for(i=0;i<N;i+)for(j=0;j<N;j+)printf("%10f",aij);printf("%10f",bi);printf("n");printf("n");void main()static float aNN=0.02,4.0,1.38,2.0,3.32,0.575,4.0,5.0,4.0;float bN=9.0,16.0,1.0;float xN=0,0,0;int
9、 i,j;zg_matric(a,b);ColGauss(a,b);xN-1=bN-1/aN-1N-1;for(i=N-2;i>=0;i-)xi=bi;for(j=i+1;j<N;j+)xi=xi-aij*xj;xi=xi/aii;for(i=0;i<N;i+)printf("x%d=%11.6fn",i+1,xi);(3)思考題:列主高斯消去法的基本思想是什么?答:列主高斯消去法在高斯消去法每次進(jìn)行消元之前先選取絕對值最大的元素作為主元素(位于主對角線上的在消去過程中作除數(shù)的元素稱為主元素,簡稱主元)進(jìn)行消去。在高斯消去法的基礎(chǔ)上,引進(jìn)經(jīng)列主高斯消去法的
10、兩個主要原因是什么?答:當(dāng)akk(k-1)=0時,消元過程就無法進(jìn)行。另外,即使akk(k)0,但其絕對值很小時,用它做除數(shù),根據(jù)數(shù)值運算中“用絕對值很小的數(shù)做除數(shù),舍入誤差會增大,而且嚴(yán)重影響計算結(jié)果的精度”的原則,這種方法在一定程度上也具有局限性。為了克服這一局限性,產(chǎn)生了列主高斯消元法。實習(xí)三 柯朗分解法(1)用柯朗分解法求解線性方程組:x1+2x2+3x3+4x4=2x1+3x2+4x3+5x4=32x1+x2+4x3+4x4=32x1+3x2+2x3+5x4=2(2)要求:輸出系數(shù)矩陣的原始元素和經(jīng)柯朗分解法后的L、U矩陣元素。經(jīng)柯朗分解法后的L、U矩陣各是一個什么形式的矩陣?請寫出
11、程序的運行結(jié)果。#include<stdio.h>#define N 4void Lu(float aNN,float LNN,float UNN)int i,j,k;for(k=0;k<N;k+)for(i=k;i<N;i+)Lik=aik;for(j=0;j<=k-1;j+)Lik-=(Lij*Ujk);for(j=k+1;j<N;j+)Ukj=akj;for(i=0;i<=k-1;i+)Ukj-=(Lki*Uij);Ukj/=Lkk;void solve(float bN,float LNN,float UNN,float xN)int j,k;
12、float yN;for(k=0;k<N;k+)yk=bk;for(j=0;j<=k-1;j+)yk=yk-Lkj*yj;yk=yk/Lkk;for(k=N-1;k>=0;k-)xk=yk;for(j=k+1;j<N;j+)xk=xk-Ukj*xj;void zg_matric(float aNN,float bN)int i,j;for(i=0;i<N;i+)for(j=0;j<N;j+)printf("%10f",aij);printf("%10f",bi);printf("n");printf
13、("n");void main()static float aNN=1,2,3,4,1,3,4,5,2,1,4,4,2,3,2,5;float bN=2,3,3,2;float xN=0,0,0,0;float UNN=1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1;float LNN;int i;zg_matric(a,b);Lu(a,L,U);solve(b,L,U,x);for(i=0;i<N;i+)printf("x%d=%11.7fn",i+1,xi);(4)思考題:柯朗分解法的基本思想是什么?答:在柯朗分解法匯中使用主對
14、角線上的元素做分母計算時,如果分母絕對值很小(甚至可能為零),仍用它做除數(shù),就會導(dǎo)致舍入誤差增大(甚至不能保證柯朗分解法順利進(jìn)行),嚴(yán)重影響計算結(jié)果的精度。為解決這一問題,可以采取什么措施?答:實習(xí)四 追趕法(1)用追趕法求解線性方程組Ax=b:A=1327 00 3002 00 7327,b=-2-8-65,(2)要求:請寫出程序的運行結(jié)果。#include<stdio.h>#define N 4void zhuigan(float aNN,float bN,float rN,float yN)float q;int i;r0=a10/a00;y0=b0/a00;for(i=1;
15、i<N;i+)q=aii-ri-1*ai-1i;ri=ai+1i/q;yi=(bi-yi-1*ai-1i)/q;yN-1=(bN-1-yN-2*aN-2N-1)/(aN-1N-1-rN-2*aN-2N-1);void solve(float rN,float yN,float xN)int k;xN-1=yN-1;for(k=N-2;k>=0;k-)xk=yk-rk*xk+1;void main()float aNN=1,3,0,0,2,7,3,0,0,2,7,3,0,0,2,7;float bN=-2,-8,-6,5;float rN,yN;float xN;int i;zhui
16、gan(a,b,r,y);solve(r,y,x);for(i=0;i<N;i+)printf("x%d=%13.6fn",i+1,xi);(3)思考題:追趕法的基本思想是什么?答:追趕法是高斯消去法的一種簡化形式,同樣分為消元和回代兩個過程。追趕法適合怎樣形式的問題?答:系數(shù)矩陣為三對角矩陣的方程組解法。實習(xí)五 雅克比迭代法與高斯-賽德爾迭代法(1)用雅克比迭代法與高斯-賽德爾迭代法求解線性方程組Ax=b:A=62-114-2-314,b1=-324,b2=100-200345(2)要求:請寫出程序的運行結(jié)果。請寫出迭代次數(shù)。雅克比迭代法:#include<s
17、tdio.h>#include<math.h>#define N 3#define MAX_N 100#define eps 1e-6int yacobi(float aNN,float bN,float xN)float d,s,max;float yN;int i,j,k,flag;k=0;for(i=0;i<N;i+)xi=0.0;while(1)max=0.0;k+;for(i=0;i<N;i+)s=0.0;for(j=0;j<N;j+)if(j=i) continue;s=s+aij*xj;yi=(bi-s)/aii;d=fabs(yi-xi);i
18、f(max<d) max=d;if(max<eps)flag=1;break;if(k>=MAX_N)flag=0;break;for(i=0;i<N;i+)xi=yi;return(flag);void zg_matric(float aNN,float bN)int i,j;for(i=0;i<N;i+)for(j=0;j<N;j+)printf("%10f",aij);printf("%12f",bi);printf("n");printf("n");void main()
19、float aNN=6,2,-1,1,4,-2,-3,1,4;float bN=-3,2,4;float xN;int i,k;zg_matric(a,b);k=yacobi(a,b,x);if(k=1)for(i=0;i<N;i+)printf("x%d=%11.7fn",i+1,xi);elseprintf("The Method is disconvergent!n");高斯-賽德爾迭代法:#include<stdio.h>#include<math.h>#define N 3#define MAX_N 100#define eps 1e-6int seidel(float aNN,float bN,float xN)float d,s,max,temp;int i,j,k,flag;k=0;for(i=0;i<N;i+)xi=0.0;while(1)max=0.0;k+;for(i=0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國經(jīng)濟(jì)型酒店行業(yè)全國市場開拓戰(zhàn)略制定與實施研究報告
- 新形勢下人力資源服務(wù)行業(yè)轉(zhuǎn)型升級戰(zhàn)略制定與實施研究報告
- 2025-2030年中國中醫(yī)藥服務(wù)貿(mào)易行業(yè)并購重組擴(kuò)張戰(zhàn)略制定與實施研究報告
- 2025-2030年中國老年護(hù)理服務(wù)行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實施研究報告
- 2025-2030年中國家庭服務(wù)機(jī)器人行業(yè)資本規(guī)劃與股權(quán)融資戰(zhàn)略制定與實施研究報告
- 市政道路工程竣工監(jiān)理質(zhì)量評估報告
- 旅行套裝問卷調(diào)查
- 2025年中國口罩行業(yè)市場調(diào)查研究及投資前景預(yù)測報告
- 白皮紙行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報告
- 母嬰零食知識培訓(xùn)課件
- 微型消防站消防員培訓(xùn)內(nèi)容
- 大一中國近代史綱要期末考試試題及答案
- (完整版)鋼筋加工棚驗算
- 安徽省合肥市廬陽區(qū)2023-2024學(xué)年三年級上學(xué)期期末數(shù)學(xué)試卷
- 概念方案模板
- 西南交大畢業(yè)設(shè)計-地鐵車站主體結(jié)構(gòu)設(shè)計
- 2024年山東傳媒職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 江蘇省南通市崇川區(qū)2023-2024學(xué)年三年級上學(xué)期期末語文試卷
- crtd植入術(shù)護(hù)理查房
- 掃雪鏟冰安全教育培訓(xùn)
- 人教版三年級下冊必讀書目《中國古代寓言故事》
評論
0/150
提交評論