版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 實(shí)驗(yàn)類別:數(shù)值分析 專 業(yè):信息與計(jì)算科學(xué) 班 級(jí):13080241 學(xué) 號(hào):1308024120 姓 名:楊燕中北大學(xué)理學(xué)院實(shí)驗(yàn)五 線性方程組的迭代解法【實(shí)驗(yàn)內(nèi)容】分別選用Jacobi迭代法,Gauss-Seidol迭代法和SOR方法計(jì)算下列方程組的解。【實(shí)驗(yàn)方法與步驟】1、 用C語(yǔ)言對(duì)Jacobi迭代法編程如下:#include<stdio.h>#include<math.h>#define Max_N 10#define Max_M 100#define epsilon 1e-6main()int i,j,k=0,n; double aMax_NMax_N+1,
2、xMax_N,yMax_N+1; double s,temp; printf("nPlease input n value(dim of Ax=b):"); do scanf("%d",&n); if(n>Max_N) printf("nPlease re-input n value:"); while(n>Max_N|n<=0); /*輸入Ax=b的A|b矩陣*/ printf("Input the A(i,j):n"); for(i=0;i<n;i+) for(j=0;j<
3、n+1;j+) scanf("%lf",&aij); for(i=0;i<n;i+) xi=0; while(1) temp=0.0;k+; for(i=0;i<n;i+)s=0;for(j=0;j<n;j+)if(j=i) continue;s+=aij*xj;yi=(ain-s)/aii;temp+=fabs(yi-xi);if(temp<epsilon)printf("Diedaicishuis:%dn",k);printf("Slove is:");for(i=0;i<n;i+)print
4、f("x%d=%fn",i,xi);break;if(k>=Max_M)printf("The method is disconvergent!");return;for(i=0;i<n;i+) xi=yi; 2、 用C語(yǔ)言對(duì)Gauss-Seidol迭代法編程如下:#include<stdio.h>#include<math.h>#define Max_N 10#define Max_M 100#define epsilon 1e-6main()int i,j,k=0,n;double aMax_NMax_N+1,xM
5、ax_N,yMax_N+1;double s,temp;printf("nPlease input n value(dim of Ax=b):"); do scanf("%d",&n); if(n>Max_N) printf("nPlease re-input n value:"); while(n>Max_N|n<=0); /*輸入Ax=b的A|b矩陣*/ printf("Input the A(i,j):n"); for(i=0;i<n;i+) for(j=0;j<n+1;
6、j+) scanf("%lf",&aij); for(i=0;i<n;i+) xi=0;do for(i=0;i<n;i+)s=0;for(j=0;j<n;j+)s+=aij*xj;temp=(ain-s)/aii;xi+=temp;if(k>=Max_M)printf("The method is disconvergent!");return;k+;while(fabs(temp)>epsilon); printf("Diedaicishuis:%dn",k); printf("Sl
7、ove is:");for(i=0;i<n;i+) printf("x%d=%fn",i,xi);3、 用C語(yǔ)言對(duì)SOR方法編程如下:#include<stdio.h>#include<math.h>#define Max_N 10#define Max_M 100#define epsilon 1e-6#define w 1.2main()int i,j,k=0,n;double aMax_NMax_N+1,xMax_N,yMax_N+1;double s,temp;printf("nPlease input n valu
8、e(dim of Ax=b):"); do scanf("%d",&n); if(n>Max_N) printf("nPlease re-input n value:"); while(n>Max_N|n<=0); /*輸入Ax=b的A|b矩陣*/ printf("Input the A(i,j):n"); for(i=0;i<n;i+) for(j=0;j<n+1;j+) scanf("%lf",&aij); for(i=0;i<n;i+) xi=0;
9、do for(i=0;i<n;i+)s=0;for(j=0;j<n;j+)s+=aij*xj;temp=w*(ain-s)/aii;xi+=temp;if(k>=Max_M)printf("The method is disconvergent!");return;k+;while(fabs(temp)>epsilon); printf("Diedaicishuis:%dn",k); printf("Slove is:");for(i=0;i<n;i+) printf("x%d=%fn"
10、;,i,xi);4、分別對(duì)不同精度要求,如由迭代次數(shù)體會(huì)各個(gè)迭代法的收斂快慢; 5、對(duì)方程組使用SOR方法時(shí),選取松弛因子=0.8,0.9,1,1.1,1.2等,試看對(duì)算法收斂性的影響,并能找出你所選用的松弛因子的最佳者; 6、給出各種算法的設(shè)計(jì)程序和計(jì)算結(jié)果?!緦?shí)驗(yàn)結(jié)果】1、 方程組分別用Jacobi迭代法,Gauss-Seidol迭代法,SOR方法求得的結(jié)果如下:2、 時(shí),方程組用Jacobi迭代法求得的結(jié)果分別如下:由以上可知,當(dāng)時(shí)迭代次數(shù)最少,但是收斂效果沒有的時(shí)候好。3、 時(shí),方程組用Gauss-Seidol迭代法求得的結(jié)果分別如下:由以上可知,當(dāng)時(shí)迭代次數(shù)最少,但是收斂效果沒有的時(shí)
11、候好。4、 時(shí),方程組用SOR法求得的結(jié)果分別如下:由以上可知,當(dāng)時(shí)迭代次數(shù)最少,但是收斂效果沒有的時(shí)候好。5、 =0.8,0.9,1,1.1,1.2時(shí),方程組用SOR方法求得的結(jié)果分別如下:由以上可知,=1時(shí)收斂速度最快,效果也好。【思考】1. Jacobi迭代法與Gauss-Seidol迭代法的聯(lián)系與區(qū)別?Gauss-Seidol迭代法是Jacobi迭代法的改進(jìn)。Gauss-Seidol迭代法在Jacobi迭代法公式的基礎(chǔ)上利用已經(jīng)計(jì)算出來(lái)的最新分量,Gauss-Seidol迭代法每迭代一次只需計(jì)算一次矩陣與向量的乘法,提高了程序的運(yùn)行效率。2. Gauss-Seidol迭代法與SOR法的
12、聯(lián)系與區(qū)別?SOR法是Gauss-Seidol迭代法的改進(jìn)。SOR法是在Gauss-Seidol迭代法公式的基礎(chǔ)上加入了松弛因子,SOR法每迭代一次主要運(yùn)算量是計(jì)算一次矩陣與向量的乘法。3. 三種方法優(yōu)缺點(diǎn)的比較?Jacobi迭代法計(jì)算是三種方法中最簡(jiǎn)單的,但是同時(shí)誤差也是相對(duì)較大的,而且它的收斂性由矩陣決定;Gauss-Seidol迭代法的誤差較Jacobi迭代法來(lái)說(shuō)要小一點(diǎn),同時(shí)收斂性的判定比Jacobi迭代法要容易一點(diǎn),但是計(jì)算量也要比Jacobi迭代法復(fù)雜一些;SOR法是三種方法誤差最小的,而且它的收斂性由松弛因子決定,但是它的計(jì)算過(guò)程也是最復(fù)雜的,而且松弛因子的選取沒有準(zhǔn)確的定理,一
13、般都要靠自己去找哪個(gè)的收斂速度最快。4. 松弛因子怎樣合理選?。坷肧OR方法最佳松弛因子理論。- 11 - 實(shí)驗(yàn)類別:數(shù)值分析 專 業(yè):信息與計(jì)算科學(xué) 班 級(jí):13080241 學(xué) 號(hào):1308024120 姓 名:楊燕中北大學(xué)理學(xué)院實(shí)驗(yàn)六 非線性方程求根【實(shí)驗(yàn)內(nèi)容】設(shè)方程有三個(gè)實(shí)根, ,現(xiàn)采用下面四種不同計(jì)算格式,求的根。1、 2、 3、 4、 【實(shí)驗(yàn)方法與步驟】1、編制一個(gè)程序進(jìn)行運(yùn)算,給出每種迭代格式的斂散情況(1)迭代公式為,用C語(yǔ)言編寫迭代程序如下:#include <stdio.h>#include <math.h>#define e 1e-10doubl
14、e f (double x)return(3*x+1)/(x*x);void main() int i; double x1,x2=-3; for(i=0;fabs(x2-x1)>=e;i+) x1=x2; x2=f(x1); printf("the solve is:n"); printf("x=%20.16lfni=%dn",x2,i);(2)迭代公式為,用C語(yǔ)言編寫迭代程序如下:#include <stdio.h>#include <math.h>#define e 1e-10double f (double x)re
15、turn(x*x*x-1)/3);void main() int i; double x1,x2=1.3; for(i=0;fabs(x2-x1)>=e;i+) x1=x2; x2=f(x1); printf("the solve is:n"); printf("x=%20.16lfni=%dn",x2,i);(3)迭代公式為,用C語(yǔ)言編寫迭代程序如下:#include <stdio.h>#include <math.h>#define e 1e-10double f (double x)return(pow(3*x+1,1
16、.0/3);void main() int i; double x1,x2=1; for(i=0;fabs(x2-x1)>=e;i+) x1=x2; x2=f(x1); printf("the solve is:n"); printf("x=%20.16lfni=%dn",x2,i); #include<stdio.h>#include<math.h>#define e 1e-10double f(double x) return (pow(3*x-1,1.0/3.0);void main() int i; double x
17、1,x2=1.5; for(i=0;fabs(x2-x1)>=e;i+) x1=x2; x2=f(x1); printf("the solve is:n"); printf("x=%20.16lfni=%dn",-x2,i);(4)迭代公式為,用C語(yǔ)言編寫迭代程序如下:#include <stdio.h>#include <math.h>#define e 1e-10double f (double x)return(sqrt(3+1/x);void main()int i;double x1,x2=-3.0;for(i=0
18、;fabs(x2-x1)>=e;i+)x1=x2;x2=f(x1); printf("the solve is:n"); printf("x=%20.16lfni=%dn",x2,i); 2、用事后誤差估計(jì)來(lái)控制迭代次數(shù),并且打印出迭代的次數(shù); 3、分析初始值的選取對(duì)迭代收斂有何影響; 4、分析迭代收斂和發(fā)散的原因。【實(shí)驗(yàn)結(jié)果】1、(1)迭代格式為,用C語(yǔ)言編寫迭代程序結(jié)果如下:又因?yàn)榈降膶?dǎo)數(shù)為,且,則從滿足收斂條件的角度來(lái)說(shuō),則只能求出。 (2)迭代格式為,用C語(yǔ)言編寫迭代程序結(jié)果如下:又因?yàn)榈降膶?dǎo)數(shù)為,且,則從滿足收斂條件的角度來(lái)說(shuō)
19、,則只能求出。(3)迭代格式為,用C語(yǔ)言編寫迭代程序結(jié)果如下: 又因?yàn)榈降膶?dǎo)數(shù)為,且,則從滿足收斂條件的角度來(lái)說(shuō),則能求,。(4)迭代格式為,用C語(yǔ)言編寫迭代程序結(jié)果如下:又因?yàn)榈降膶?dǎo)數(shù)為,且,則從滿足收斂條件的角度來(lái)說(shuō),且,則只能求正根?!舅伎肌?. 什么是函數(shù)的不動(dòng)點(diǎn),如何確定函數(shù)的不動(dòng)點(diǎn)等價(jià)于原函數(shù)的零點(diǎn)?將方程改寫成等價(jià)的形式,若要求滿足,則;反之亦然。稱是的一個(gè)不動(dòng)點(diǎn)。求得零點(diǎn)就等價(jià)與求的不動(dòng)點(diǎn)。2. 牛頓法是否總是收斂,應(yīng)如何選取初始值?當(dāng)時(shí)牛頓迭代法收斂。牛頓法的初始值應(yīng)該與零點(diǎn)靠的很近。3. 為保證迭代法的收斂性應(yīng)如何選擇迭代格式?當(dāng)已知方程的一個(gè)近似根時(shí),一般選用
20、牛頓法進(jìn)行迭代,迭代格式為;當(dāng)方程的一階導(dǎo)數(shù)不存在時(shí),一般選用簡(jiǎn)化牛頓法,迭代格式為,其中;當(dāng)已知方程的兩個(gè)近似根時(shí),一般選用弦截法進(jìn)行迭代,迭代格式為;當(dāng)已知方程的三個(gè)近似根時(shí),一般選用拋物線法,迭代格式為,其中。- 5 - 實(shí)驗(yàn)類別:數(shù)值分析 專 業(yè):信息與計(jì)算科學(xué) 班 級(jí):13080241 學(xué) 號(hào):1308024120 姓 名:楊燕中北大學(xué)理學(xué)院實(shí)驗(yàn)七 矩陣特征值計(jì)算【實(shí)驗(yàn)內(nèi)容】設(shè)矩陣A的特征分布為: 且,利用冪法或反冪法,求方陣的按模最大或按模最小特征值及其對(duì)應(yīng)的特征向量。試求下列矩陣: 求及,取,,結(jié)果, 【實(shí)驗(yàn)方法與步驟】1、用冪法求矩陣部分特征值的算法并給出相關(guān)程序設(shè)計(jì),程序如下
21、: #include <stdio.h>#include <math.h>#define N 3 void main() double aNN,uN;double s,mu0,mu=-1000,vN; double eps=1e-5; int i,j,k;printf("請(qǐng)輸入初始值u0:n");for(i=0;i<N;i+)scanf("%lf",&ui);printf("請(qǐng)輸入矩陣a:n");for(i=0;i<N;i+)for(j=0;j<N;j+)scanf("%lf",&aij);for(k=1;fabs(mu-mu0)>=eps;k+) mu0=mu; for(i=0;i<N;i+) s=0; for(j=0;j<N;j+) s+=aij*uj; vi=s; mu=v0; for(i=0;i<N;i+) if(fabs(mu)<fabs(vi) mu=vi; f
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 深度挖掘文旅業(yè)資源的策略及實(shí)施路徑
- 2025年幼兒園健康教育工作計(jì)劃報(bào)告模板
- 2025年財(cái)務(wù)部工作計(jì)劃報(bào)告格式
- 委托銷售合同范本
- 貸款反擔(dān)保合同范本
- 民間借款還款協(xié)議書范本
- 模具開發(fā)合作協(xié)議
- 二手房融資合作協(xié)議
- 12熱脹冷縮說(shuō)課(說(shuō)課稿)-2023-2024學(xué)年三年級(jí)上冊(cè)科學(xué)冀人版
- 中國(guó)國(guó)家合同示范文本庫(kù)首頁(yè)
- 2024-2025學(xué)年人教版八年級(jí)上冊(cè)地理期末測(cè)試卷(二)(含答案)
- 雙方共同買車合同范例
- 醫(yī)務(wù)從業(yè)人員行為規(guī)范培訓(xùn)
- 中小學(xué)校食品安全管理現(xiàn)狀與膳食經(jīng)費(fèi)優(yōu)化方案
- 中醫(yī)外治法課件
- 第15屆-17屆全國(guó)中學(xué)生物理競(jìng)賽預(yù)賽試卷含答案
- 道路運(yùn)輸企業(yè)主要負(fù)責(zé)人和安全生產(chǎn)管理人員安全考核題(公共部分題+專業(yè)部分題)及答案
- 外研版小學(xué)英語(yǔ)(三起點(diǎn))六年級(jí)上冊(cè)期末測(cè)試題及答案(共3套)
- 月結(jié)合同模板
- 上海市黃浦區(qū)2024年數(shù)學(xué)六年級(jí)第一學(xué)期期末監(jiān)測(cè)試題含解析
- 2023電化學(xué)儲(chǔ)能電站消防安全標(biāo)準(zhǔn)鉛炭電池(鉛酸電池)
評(píng)論
0/150
提交評(píng)論