版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選太原理工大學(xué)數(shù)值計(jì)算實(shí)驗(yàn)報(bào)告本科實(shí)驗(yàn)報(bào)告課程名稱: 計(jì)算機(jī)數(shù)值方法 實(shí)驗(yàn)工程: 方程求根,線性方程組的直接求解, 線性方程組的迭代求解,代數(shù)插值和最小二乘法擬合 實(shí)驗(yàn)地點(diǎn): 軟件樓208 專業(yè)班級(jí): 學(xué)號(hào): 學(xué)生姓名: 指導(dǎo)教師: 李志 崔冬華 2023年6 月 5 日學(xué)生姓名實(shí)驗(yàn)成績(jī)實(shí)驗(yàn)名稱 實(shí)驗(yàn)一 方程求根實(shí)驗(yàn)內(nèi)容和要求必填目的:?數(shù)值計(jì)算方法?是一門實(shí)踐性和實(shí)用性都很強(qiáng)的課程,學(xué)習(xí)的目的在于應(yīng)用已有的理論根底和技術(shù)方法,實(shí)現(xiàn)對(duì)實(shí)際計(jì)算問(wèn)題的計(jì)算機(jī)求解。本實(shí)驗(yàn)配合?計(jì)算數(shù)值方法?課堂教學(xué),通過(guò)上機(jī)實(shí)踐實(shí)驗(yàn)環(huán)節(jié),穩(wěn)固課堂和書本上所學(xué)的知識(shí)、加強(qiáng)實(shí)踐能力、提高解決實(shí)際計(jì)算問(wèn)題的水平、啟發(fā)創(chuàng)
2、新思想。其根本目的是:(1) 培養(yǎng)理論聯(lián)系實(shí)際的思路,訓(xùn)練綜合運(yùn)用已經(jīng)學(xué)過(guò)的理論和實(shí)際知識(shí)去分析和解決實(shí)際問(wèn)題的能力。(2) 幫助學(xué)生全面消化已學(xué)的相關(guān)課程內(nèi)容,深刻理解計(jì)算數(shù)值方法課程的內(nèi)涵,培養(yǎng)使用電子計(jì)算機(jī)進(jìn)行科學(xué)計(jì)算和解決問(wèn)題的能力。(3) 進(jìn)行根本技能訓(xùn)練和穩(wěn)固。使學(xué)生得到選擇算法、編寫程序、分析數(shù)值結(jié)果、寫數(shù)值試驗(yàn)報(bào)告、課堂討論等環(huán)節(jié)的綜合訓(xùn)練。要求:(1) 應(yīng)用結(jié)構(gòu)化程序設(shè)計(jì)編出通用程序,源程序要有詳細(xì)的注釋和說(shuō)明;(2) 比較計(jì)算結(jié)果,分析數(shù)值解誤差的原因;(3) 實(shí)驗(yàn)完成,要求提交實(shí)驗(yàn)結(jié)果并寫出報(bào)告,分析計(jì)算結(jié)果是否符合問(wèn)題的要求,找出計(jì)算成功的原因或計(jì)算失敗的教訓(xùn)。實(shí)驗(yàn)原理
3、必填選擇上述方法中的兩種方法求方程:f(x)=x3+4x2-10=0在1,2內(nèi)的一個(gè)實(shí)根,且要求滿足精度|x*-xn|a; float t, x; x=a; do x=sqrt(10-x*x*x)/4); t=a; a=x; while(fabs(a-t)0.5*1e-5); printf(x=%f,a); system(pause);割線法: #include stdafx.h#includestdio.h#includemath.h#includeiostreamusing namespace std;float main() float c,a=1.0,b=2.0; /cinab; wh
4、ile(1) c=b-(b*b*b+4*b*b-10)*(b-a)/(b*b*b+4*b*b-(a*a*a+4*a*a); if(fabs(b-c)0.5*0.000001) break; b=c; coutc;實(shí)驗(yàn)結(jié)果和分析 實(shí)驗(yàn)結(jié)果:迭代法:割線法:心得體會(huì)遇到的問(wèn)題和解決方法使用不同的方法,可以不同程度的求得方程的解,不同的方法速度不同。實(shí)驗(yàn)名稱 實(shí)驗(yàn)二 線性方程組的直接求解實(shí)驗(yàn)內(nèi)容和要求1了解線性方程組常見(jiàn)的直接解法,如Guass消元法、LU分解法、追趕法。2加深對(duì)線性方程組求解方法的認(rèn)識(shí),掌握算法。3會(huì)進(jìn)行誤差分析,并能對(duì)不同方法進(jìn)行比較。實(shí)驗(yàn)原理合理利用Gauss消元法、LU分解法
5、或追趕法求解以下方程組: 1 、4、n=5,10,100,主要儀器設(shè)備臺(tái)式或筆記本計(jì)算機(jī)實(shí)驗(yàn)記錄(寫出實(shí)驗(yàn)內(nèi)容中的程序代碼和運(yùn)行結(jié)果)(可分欄或加頁(yè)) Gauss消元法:#include stdafx.h#includestdio.h#includeiostreamusing namespace std; float main() float a34=1,2,3,14,0,1,2,8,2,4,1,13; float x3; float sum=0; int k,i,j; for(k=0;k2;k+) for(i=k+1;i3;i+) for(j=k+1;j4;j+)aij=aij-aik/ak
6、k*akj; for(i=0;i3;i+) for(j=0;j4;j+) printf(a%d%d=%f,i,j,aij); cout=0;k-) sum=0; for(j=k+1;j3;j+) sum+=akj*xj; xk=(ak3-sum)/akk; for(i=0;i3;i+)printf (x%d=%f,i+1,xi); LU分解法:#include stdafx.h#include #include #define L 30 double a L L , b L , l L L , u L L , x L , y L ; int main() int n, i, j, k, r;
7、scanf( %d, &n ); for ( i = 1; i = n; +i ) for ( j = 1; j = n; +j ) scanf( %lf, &a i j ); for ( i = 1; i = n; +i ) scanf( %lf, &b i ); for ( i = 1; i = n; +i ) for ( j = 1; j = n; +j ) l i j =0; u i j = 0.0; for ( k = 1; k = n; +k ) for ( j = k; j = n; +j ) u k j = a k j ; for ( r = 1; r k; +r ) u k
8、j -= l k r * u r j ; for ( i = k + 1; i = n; +i ) l i k = a i k ; for ( r = 1; r k; +r ) l i k -= l i r * u r k ; l i k /= u k k ; l k k = 1.0; for ( i = 1; i = n; +i ) y i = b i ; for ( j = 1; j 0; -i ) x i = y i ; for ( j = i + 1; j = n; +j ) x i -= u i j * x j ; x i /= u i i ; for ( i = 1; i = n;
9、 +i ) printf( %0.2lfn, x i ); return 0;追趕法:#include stdafx.h#include stdio.hvoid main() FILE *f; double a15,b15,c15,d15; double t; int i,n; f=fopen(zgf.txt,r); fscanf(f,%d,&n); fscanf(f,%lf%lf%lf,&b1,&c1,&d1); for(i=2;i=n-1;i+) fscanf(f,%lf%lf%lf%lf,&ai,&bi,&ci,&di); fscanf(f,%lf%lf%lf,&an,&bn,&dn);
10、 fclose(f); c1=c1/b1; d1=d1/b1; for(i=2;i=1;i-) di=di-ci*di+1; printf(n*n); for(i=1;i=n;i+) printf(d%2d=%lfn,i,di);Zgf.txt文件中的內(nèi)容是:52 1 -71 2 1 -5 1 2 1 -5 1 2 1 -5 1 2 -5實(shí)驗(yàn)結(jié)果和分析Gauss消元法:心得體會(huì)遇到的問(wèn)題和解決方法在調(diào)試過(guò)程中發(fā)現(xiàn)自己還是很粗心,容易犯簡(jiǎn)單錯(cuò)誤,在今后應(yīng)該多編寫程序。實(shí)驗(yàn)名稱 實(shí)驗(yàn)三 線性方程組的迭代求解實(shí)驗(yàn)內(nèi)容和要求學(xué)習(xí)使用雅可比迭代法或高斯-賽德?tīng)柕▽?shí)驗(yàn)原理主要儀器設(shè)備臺(tái)式或筆記本計(jì)算機(jī)
11、實(shí)驗(yàn)記錄(寫出實(shí)驗(yàn)內(nèi)容中的程序代碼和運(yùn)行結(jié)果)(可分欄或加頁(yè))高斯-賽德?tīng)柕ǎ?include stdafx.h#include stdio.h#include math.hvoid main() float a33=10,-1,-2,-1,10,-2,-1,-1,5,b3=7.2,8.3,4.2;float x3=0,0,0,sum1,sum2;int i,j,k,n=3;for (k=0;k10;k+) for(i=0;in;i+) sum1=0; sum2=0;for(j=0;ji;j+) sum1=sum1+aij*xj; for(j=i+1;j3;j+) sum2=sum2+ai
12、j*xj; xi=(bi-sum1-sum2)/aii; for(i=0;in;i+) printf(x%d=%f,i+1,xi); printf(n); 雅克比迭代:#include stdafx.h#include #include void main() float a33=10,-1,-2,-1,10,-2,-1,-1,5,b3=7.2,8.3,4.2;float x3=0,0,0,sum1;int i,j,k,n=3;for (k=0;k10;k+) for(i=0;i3;i+) sum1=0; for(j=0;jn;j+) if(i=j) continue; sum1=sum1+a
13、ij*xj; xi=(bi-sum1)/aii; for(i=0;in;i+) printf(x%d=%f,i+1,xi);printf(n); 實(shí)驗(yàn)結(jié)果和分析結(jié)果:高斯-賽德?tīng)柕ǎ貉趴吮鹊悍治觯菏褂酶咚?賽德?tīng)柡脱趴吮鹊伎梢郧蟪龇匠探M的解,但是利用高斯-賽德?tīng)柕ㄋ璧牡螖?shù)比雅克比迭代少,能夠更早的到達(dá)精度要求。心得體會(huì)遇到的問(wèn)題和解決方法高斯迭代法比雅克比迭代迭代速度快,所以在編程時(shí)選擇了高斯迭代法。實(shí)驗(yàn)名稱 實(shí)驗(yàn)四 代數(shù)插值和最小二乘法擬合實(shí)驗(yàn)內(nèi)容和要求 實(shí)驗(yàn)內(nèi)容:使用拉格朗日插值法求解:f(x)在6個(gè)點(diǎn)的函數(shù)值如下表所示,運(yùn)用插值方法,求f(0.596)的近似值。x0
14、.400.550.650.800.901.05f(x)0.410750.578150.696750.888111.026521.25386實(shí)驗(yàn)要求:1了解拉格朗日插值法的根本方法、根本原理。 2通過(guò)編寫程序,進(jìn)行算法設(shè)計(jì)和數(shù)值求解。實(shí)驗(yàn)原理拉格朗日基函數(shù)為:拉格朗日插值多項(xiàng)式為:主要儀器設(shè)備臺(tái)式或筆記本計(jì)算機(jī)實(shí)驗(yàn)記錄(寫出實(shí)驗(yàn)內(nèi)容中的程序代碼和運(yùn)行結(jié)果)(可分欄或加頁(yè))#include#include#includetypedef struct data float x; float y;Data; Data d20; float f(int s,int t) if(t=s+1) return
15、 (dt.y-ds.y)/(dt.x-ds.x); else return (f(s+1,t)-f(s,t-1)/(dt.x-ds.x); float Newton(float x,int count) int n; while(1) coutn; if(n=count-1) break; else system(cls); float t=1.0; float y=d0.y; float yt=0.0; for(int j=1;j=n;j+) t=(x-dj-1.x)*t; yt=f(0,j)*t; y=y+yt; return y;float lagrange(float x,int co
16、unt) float y=0.0; for(int k=0;kcount;k+) float p=1.0; for(int j=0;jcount;j+) if(k=j)continue; p=p*(x-dj.x)/(dk.x-dj.x); y=y+p*dk.y; return y;void main() float x,y; int count; while(1) coutcount; if(count=20) break; system(cls); for(int i=0;icount;i+) cout請(qǐng)輸入第i+1di.x; cout請(qǐng)輸入第i+1di.y; system(cls); coutx; while(1) int choice=3; cout請(qǐng)您選擇使用哪種插值法計(jì)算:endl; cout (0):退出endl; cout (1):Lagrangeendl; cout (2):Newtonendl; coutchoice; if(choice=2) cout你選擇了牛頓插值計(jì)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑龍江省哈爾濱市2025-2026學(xué)年六年級(jí)上學(xué)期期中語(yǔ)文試題(含答案)(含解析)
- 2026年員工敬業(yè)度調(diào)研分析技巧
- 2026黑龍江哈爾濱啟航勞務(wù)派遣有限公司派遣到哈工大航天學(xué)院衛(wèi)星技術(shù)研究所招聘?jìng)淇碱}庫(kù)及完整答案詳解1套
- 2026年農(nóng)村集體產(chǎn)權(quán)制度改革實(shí)務(wù)
- 機(jī)械設(shè)備液壓氣動(dòng)系統(tǒng)檢修手冊(cè)
- 2026湖南長(zhǎng)沙市長(zhǎng)郡雨花外國(guó)語(yǔ)第二附屬小學(xué)春季合同制教師招聘?jìng)淇碱}庫(kù)及答案詳解一套
- 2026年渠道經(jīng)銷商賦能管理培訓(xùn)
- 2026年私人銀行財(cái)富規(guī)劃策略課程
- 職業(yè)共病管理的分級(jí)診療路徑優(yōu)化
- 2022年年春六年級(jí)下冊(cè)數(shù)學(xué)期末測(cè)試卷加答案下載
- dbj41河南省城市地下綜合管廊施工與驗(yàn)收標(biāo)準(zhǔn)
- 2026屆新高考語(yǔ)文三輪沖刺復(fù)習(xí):二元思辨作文審題構(gòu)思寫作
- 行業(yè)背景分析報(bào)告
- 2025中國(guó)農(nóng)業(yè)大學(xué)管理服務(wù)崗位(非事業(yè)編)招聘1人筆試備考試題附答案解析
- 2025福建省融資擔(dān)保有限責(zé)任公司招聘4人筆試試題附答案解析
- 工程管理費(fèi)合同協(xié)議
- 協(xié)助審計(jì)協(xié)議書范本
- GB/T 13471-2025節(jié)能項(xiàng)目經(jīng)濟(jì)效益計(jì)算與評(píng)價(jià)方法
- 2025年小學(xué)一年級(jí)語(yǔ)文拼音測(cè)試試卷(含答案)
- 電力公司安全第一課課件
- 2025年征兵心理模擬測(cè)試試題及答案
評(píng)論
0/150
提交評(píng)論