![2023年數(shù)值實驗報告_第1頁](http://file4.renrendoc.com/view/af3a9366f4f2cac7f29c6ae25867d55e/af3a9366f4f2cac7f29c6ae25867d55e1.gif)
![2023年數(shù)值實驗報告_第2頁](http://file4.renrendoc.com/view/af3a9366f4f2cac7f29c6ae25867d55e/af3a9366f4f2cac7f29c6ae25867d55e2.gif)
![2023年數(shù)值實驗報告_第3頁](http://file4.renrendoc.com/view/af3a9366f4f2cac7f29c6ae25867d55e/af3a9366f4f2cac7f29c6ae25867d55e3.gif)
![2023年數(shù)值實驗報告_第4頁](http://file4.renrendoc.com/view/af3a9366f4f2cac7f29c6ae25867d55e/af3a9366f4f2cac7f29c6ae25867d55e4.gif)
![2023年數(shù)值實驗報告_第5頁](http://file4.renrendoc.com/view/af3a9366f4f2cac7f29c6ae25867d55e/af3a9366f4f2cac7f29c6ae25867d55e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
北京XX大學計算機與通信工程學院實驗報告實驗名稱:《數(shù)值計算方法》課程實驗學生姓名:XX專業(yè):計算機科學與技術(shù)班級:XXXX學號:XXXXXX指導(dǎo)教師:XXXXX實驗成績:實驗地點:XXXXXXX實驗時間:2023年—6—月—6—日endendendfor1=1:6form=:11F(l)=f(X(m),1).*Y(m)+F(1);endenda=D\F%求解end得出的結(jié)果如下:a=-2.00060.0006-1.000000001.0000-5.0008所以,擬合出的復(fù)合函數(shù)應(yīng)為f(x)=-2.0006+0.0006X-lx2+3x3+ex-5.00081n(x)3、實驗3(1)實驗內(nèi)容?選擇一種數(shù)值積分方法求解下列函數(shù)在區(qū)間[0,2]內(nèi)的積分值,規(guī)定精度小于
10-5:f(x)(3x-x2+x3+ex)0.5給出迭代步數(shù)和最終的步長,并分析你所采用方法的優(yōu)缺陷。10-5:f(x)(3x-x2+x3+ex)0.5(2)重要環(huán)節(jié)在積分難求出解析解時通常用數(shù)值解的方法求積分結(jié)果的近似值,在本題的實現(xiàn)方法上選用復(fù)合Simpson公式進行數(shù)值積分的計算,并從步數(shù)n=2,步長1h=2開始逐步細化步長,增大步數(shù),直到精度滿足題目中的規(guī)定10-5。一方面在定義一個題目中給出的待積分的函數(shù),C語言代碼如下:doublefunction(doublex)(doub1es;s=sqrt(3*x-x*x+x*x*x+exp(x))?returns;}然后編寫復(fù)合Simpson公式,將其定義在一個獨立的函數(shù)中,C代碼如下:doubleReiterationOfSimpson(doublea,doub1ebzdoublen,doublef(doublex))(doublehzfa,fb,xk,xj;h=(b-a)/n;fa=f(a);fb=f(b);doublesl=0.0;doubles2=0.0;intk,j;for(k=I;k<n;k++)(xk=a+k*h;s1=sl+f(xk);)for(j=0;j<n;j++)(xj=a+(j+0.5)*h;s2=s2+f(xj);)doublesn;sn=h/6*(fa+fb+2*sl+4*s2);returnsn;最后在主函數(shù)中定義初始步數(shù)n為2,初始步長h為0.5,并通過for循環(huán)逐步增大n,直到相鄰兩次誤差小于1°■工具體的C代碼如下:voidmain()(doublen=2;doub1eh=1/n;inti;doubleS[MAXn];printf("====================復(fù)合Simpson公式法=====================\n\n");Printf("迭代步數(shù)\t步長't\t積分數(shù)值誤差\n”);S[O]=ReiterationOfsimpson(0,2,n,function);printf("%d\t\t%f\t%f\nn,(int)n,h,S[0]);n++;h=i/n;S[1]=ReiterationOfSimpson(0,2zn,function);printf("%d\t\t%f\t%f\t%f\n",(int)n,h,S[1],S[1]-S[0]);for(i=2;S[i-I]-S[i-2]>=Le-5;i++)n=i+2;h=l/n;S[i]=ReiterationOfSimpson(0,2znzfunction);Printf("\t\t%f\t^f\t%f\n",(int)nzh,S[i],S[i]-S[i-1]);}程序執(zhí)行的結(jié)果如下:復(fù)合Simpson公式法=====================迭代步數(shù)步長積分數(shù)值誤差20.5000004.93742530.3333334.9400870.00266240.2500004.9407210.00063450.20OQ0O4.9409340.00021360.1666674.9410220.00008870.1428574.9410630.00004180.1250004.9410850.00002190.1111114.9410970.000012100.1000004.9411040.000007可見,在迭代步數(shù)n為10時,即步長為0.1時,精度達成規(guī)定,且此時的積分數(shù)值約為4.941104o優(yōu)劣性分析見實驗結(jié)果與分析。四:實驗結(jié)果與分析實驗1:通過采用簡樸迭代法和牛頓迭代法解決同一問題,觀測達成指定精度時所需的不同迭代次數(shù),簡樸迭代法通過7步之后誤差小于10-1牛頓迭代法通過6步之后誤差小于1°",所以在收斂速度上來講,牛頓迭代法的性能優(yōu)于簡樸迭代法。實驗2:通過采用最小二乘法擬合一個由不超過3階多項式和指數(shù)、對數(shù)函數(shù)線性組合形成的復(fù)合函數(shù),通過解法方程組求解,在求解過程中熟悉了最小二乘法的求解方法和基本概念,涉及最小二乘法和插值的區(qū)別所在。在計算機中可以通過循環(huán)較容易地求得各個基函數(shù)的內(nèi)積,從而構(gòu)建求解法方程組。實驗3:通過用數(shù)值積分方法求解一個函數(shù)在一個積分區(qū)間的積分值,并根據(jù)具體的精度規(guī)定給出迭代步數(shù)和最終步長。在方法上我選用了復(fù)合Simpson公式法,復(fù)合Simpson公式在Simpson公式的基礎(chǔ)上提高/求積的精度,將[a,b]等提成n個子區(qū)間,在每個子區(qū)間上使用低階求積公式計算,然后把所有子區(qū)間上的計算結(jié)果求和。復(fù)合Simpson公式的優(yōu)點在于通過增長子區(qū)間的個數(shù)可以縮小誤差提高精度,這一點比單純的Simpson公式,梯形公式和Cotes公式要好。但是缺陷在于復(fù)合Simpson公式是4階收斂的,在收斂速度上沒有復(fù)合Cotes公式收斂的快,所以需要n=10時才干達成精度規(guī)定。五:結(jié)論(討論)1、實驗結(jié)論在本次數(shù)值計算實驗課中一共完畢了三個實驗,分別相應(yīng)理論課程中三章的內(nèi)容,分別復(fù)習并實踐了非線性方程的迭代解法,插值與擬合,積分的數(shù)值解法等內(nèi)容。這三個實驗涉及到了數(shù)值計算方法的重要內(nèi)容,熟悉了數(shù)值計算方法的理論知識,并加以應(yīng)用,在有一定創(chuàng)新度并結(jié)合各種具體編程環(huán)境的基礎(chǔ)上,在實踐中體會到了數(shù)值計算方法在實際問題中的作用。在具體實現(xiàn)上,分別用C語言實現(xiàn)了1,3兩個實驗,用MATLAB實現(xiàn)了第2個實驗,鍛煉了把數(shù)值計算方法結(jié)合到不同應(yīng)用場景的能力,為此后在各領(lǐng)域的使用打下基礎(chǔ)。在具體的實驗上,在第一個實驗中,應(yīng)用了簡樸迭代法和牛頓迭代法解常見的非線性方程,熟悉了各種非線性方程的解法,涉及二分法,簡樸迭代法,牛頓迭代法弦截法和牛頓下山法等。其中應(yīng)用簡樸迭代法和牛頓迭代法求解了題目中的問題,理解了兩者的區(qū)別,牛頓迭代法直接通過迭代函數(shù)的一般形式給出具體的迭代函數(shù),且收斂速度比簡樸迭代法要快。在第二個實驗中,應(yīng)用了最小二乘法擬合一個由不超過3階多項式和指數(shù)、對數(shù)函數(shù)線性組合形成的復(fù)合函數(shù),熟悉了最小二乘法的概念及求解方法,通過構(gòu)造法方程組來求解最小二乘法擬合的問題,并在一定限度上了解了最小二乘法擬合后平方誤差的計算方法。在第三個實驗中,應(yīng)用了數(shù)值積分方法中的復(fù)合Simpson公式法解一個函數(shù)在固定區(qū)間中的積分值。由于復(fù)雜的函數(shù)在一定情況下難以找到解析解,所以要通過數(shù)值積分的方法求數(shù)值解。在求數(shù)值解的方法上重要有梯形公式,Simpson公式,Cotes公式,復(fù)合梯形公式,復(fù)合Simps。n公式,復(fù)合Cotes公式等,其中復(fù)合的公式通過在區(qū)間內(nèi)等分子區(qū)間提高數(shù)值積分的精度,子區(qū)間個數(shù)越多,精度越高,直到達成目的的精度為止。在實驗中重要應(yīng)用了復(fù)合Simpson公式求解積分,熟悉并理解了相關(guān)的理論知識并加以實踐,在一定限度上掌握了相關(guān)的方法。2、討論在本次數(shù)值計算實驗課程中,完畢了課程中規(guī)定的實驗,進一步掌握了實驗中涉及的知識點,涉及非線性方程的解法,最小二乘法擬合,數(shù)值積分法等等,但是對于實驗題目中未涉及到的內(nèi)容仍有些掌握不牢,比如說線性方程組的解法,插值,常微分方程的數(shù)值解法等等,所以我認為實驗課中涉及的知識點可以覆蓋到各章最佳,這將在熟悉知識點上提供很大的幫助。六、教師評審教師評語實驗成績署名:日期:一、實驗?zāi)康呐c實驗規(guī)定1、實驗?zāi)康膶嶒?:探究非線性方程的解法,比較不同解法的優(yōu)劣性,針對具體問題對解法進行實踐,并迭代達成指定的精確度。實驗2:探究一般化曲線擬合的方法,采用最小二乘法對具有多項式,指數(shù)和對數(shù)多種形式的函數(shù)進行擬合,擬定擬合結(jié)果中的系數(shù)。實驗3:探究多種積分的數(shù)值解法,根據(jù)給定的精度,選擇恰當?shù)臄?shù)值積分方法,擬定迭代步數(shù)與步長,分析積分數(shù)值解法的優(yōu)劣性。2、實驗規(guī)定實驗1:采用兩種算法求解非線性方程,比較兩種算法的性能。實驗2:用最小二乘法擬合由不超過三階多項式和指數(shù)、對數(shù)函數(shù)線性組合成的符合函數(shù),擬定各個項的系數(shù)實驗3:自選一種數(shù)值積分方法求解積分值,根據(jù)規(guī)定的精度給出最終的迭代步數(shù)和步長,分析優(yōu)缺陷。二、實驗設(shè)備(環(huán)境)及規(guī)定實驗1,3采用C語言編寫,編譯環(huán)境為DEVC++。實驗2涉及矩陣操作,故采用MATLAB編寫。三、實驗內(nèi)容與環(huán)節(jié)1、實驗1(1)實驗內(nèi)容?采用至少兩種不同的算法求解ex+3*x3-x2-2=0在[0,1]范圍內(nèi)的一個根,規(guī)定兩次迭代誤差小于10-4o?根據(jù)實驗結(jié)果,比較分析不同算法的性能。(2)重要環(huán)節(jié)。本實驗由C語言實現(xiàn)。在兩種不同的算法上選用簡樸迭代法和牛頓迭代法。簡樸迭代法是將方程化成一個與原方程同解的方程,方程一端化成自變量x,然后判斷迭代函數(shù)是否收斂,假如收斂的話,不斷地迭代將使x趨于一個定值,這個定值就是原方程的近似解。而牛頓迭代法是直接給出形如1="一府的迭代函數(shù)進行迭代,假如滿足兩個端點異號,f'(x)在[a,b]上不等于零,產(chǎn)(x)在[a,b]上不變號且初值x。滿足條件f(xo)f“(xo)》(),則由牛頓迭代法產(chǎn)生的序列單調(diào)收斂于[a,b]內(nèi)的唯一根。。兩種算法在理論上,牛頓迭代法的收斂速度要大于簡樸迭代法,以下進行迭代解非線性方程組并驗證收斂速度的差異。1.簡樸迭代法:璃爐移項,整理,得到迭代函數(shù)如下:_3卜。'+?+2一3一,選取收斂的初值點無。=0。在實現(xiàn)上運用for循環(huán)進行迭代,直到相鄰兩次的誤差小于C語言代碼如下:簡樸迭代函數(shù):floatSimplelteration(f1oatx)//簡樸迭代(returnpow((x*x+2-exp(x))/3.0,1.0/3);//Pow(doublex,doubley);函數(shù)為求x的y次方)主函數(shù)中簡樸迭代法部分:a[0]=SimpleIteration(0);//簡樸迭代法printf("簡樸迭代法:\n");printf送代俏\t\t相鄰[卜.");Printf("%f\n",a[C]);for(i=1;;i++)(a[i]=Simplelteration(a[i—1]);dl=fabs(a[i]-a[i-1]);printf("%f\t%f\n*\a[i],d1);if(d1<le—4)break;}2.牛頓迭代法:根據(jù)牛頓迭代法迭代函數(shù)的一般形式可以得到具體的迭代函數(shù)如下:ex+3x3-x2-2X-e'+9,_2x,選取與簡樸迭代法相同的初值C語言代碼如下:牛頓迭代函數(shù):floatNewtonlteration(floatx)//牛頓迭代(returnx-(exp(x)+3*x*x*x—x*x-2)/(exp(x)+9*x*x-2*x);主函數(shù)中牛頓迭代法的部分:b[(]=Newtoniteration(C);//牛頓迭代法pri牛頓迭代法:;printf("迭代值't\t相鄰兩次誤差\n");printf(',%f\n"?b[0]);for(j=l?;j++){b[j]=Newtoniteration(b[;d2=fabs(b[j]-b[j-1]);printf(u%f\t%f\n",b[j],d2);if(d2<lc-4)break;)兩個迭代法完整C語言代碼如下:include<stdio.h>inelude<math.h>include<std1ib.h>defineMAXSIZE30floatSimplelteration(floatx)〃簡樸迭代(returnpow((x*x+2-exp(x))/3.0,I.0/3);//pov;(doub1ex,doubley);函數(shù)為求x的y次方)floatNewtonIteration(floatx)//牛頓迭代(returnx-(exp(x)+3*x*x*x—x*x—2)/(exp(x)+9*x*x-2*x);}voidmain()(floata[MAXSIZE];floatb[MAXSIZE];f1oatdl=1;floatd2=1;inti,j;a[0]=Simp1eIteration(0);//簡樸迭代法print£("簡樸迭代法:\n”);printf(“迭代值\E\t相鄰兩次誤差\n;printf("%f\n'\a[0]);for(i=L;;i++)(a[i]=Simplelteration(a[i-1]);dl=fabs(a[i]-a[i-l]);printf("%f\t%f\n",a[i],dl);if(dl<1e-4)break;)b[c]=NewtonIterati0n(0);//牛頓迭代法printf("\n牛頓迭代法:\n");printf("迭代值\t\t相鄰兩次誤差\n");printf("%f\n",b[o]);for(j=l;;j++)(b[j]=Newtonlteration(b[j-1]);d2=fabs(b[j]-b[j-1]);printf("%f\t%f\n",b[j],d2);if(d2<Le-4)break;執(zhí)行程序,結(jié)果如下:簡單迭代法:迭代值相鄰兩次誤差0.6933610.5430050.1503570.5761250.0331210.569G4U0.0070810.5705650.0015210.5702390.0003260.5703090.000070牛頓迭代法:迭代值相鄰兩次誤差1.0000000.7202920.2797080.5958900.1244Q20.5711860.0247040.5702980.0008880.5702970.000001可見,牛頓迭代法的收斂速度大于簡樸迭代法,具體詳見實驗結(jié)果與分析。2、實驗2(1)實驗內(nèi)容?已知如下數(shù)據(jù):x:1.00001.40001.80002.20232.60003.00003.40003.80004.20234.60005.0000y:2.71836.644815.366730.186752.654284.5925128.1972186.2023262.1349360.7020488.3660?數(shù)據(jù)也許來自于不超過3階多項式和指數(shù)、對數(shù)函數(shù)線性組合形成的復(fù)合函數(shù)([1,x,x2,x3,ex,ln(x)]),請采用最小二乘算法擬定復(fù)合函數(shù)中各個函數(shù)項的系數(shù)。(2)重要環(huán)節(jié)最小二乘法是在擬定函數(shù)形式的情況下,找出一條最靠近所有數(shù)據(jù)點的直線,其鑒定規(guī)則是%=。卬,相達成最小。在求解的過程中,用最小二乘法擬合復(fù)合函數(shù)的過程事實上就是求法方程組的過程。分別寫出各項的內(nèi)積(平?jīng)癉和(f?k)(<POAPO)(<POAPO)*
*然后求解方程組如,儀)(<POAPO)*
*然后求解方程組如,儀)(<POAPO)*
*然后求解方程組如,儀)(年0,伙)(<Pn9)(t<Po),(f,(Pn)。根據(jù)題目中給出的數(shù)據(jù)點和復(fù)合函數(shù)形式,可以定義出如下的6種基函數(shù),具體
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代科技助力白水泥行業(yè)財務(wù)風險管理
- 衛(wèi)浴潔具國慶節(jié)活動方案
- 環(huán)境藝術(shù)設(shè)計與室內(nèi)設(shè)計的審美互動
- 生產(chǎn)工藝流程中的質(zhì)量控制與安全管理
- 現(xiàn)代服務(wù)業(yè)在商業(yè)地產(chǎn)中的價值挖掘
- 物流技術(shù)與管理教育的新模式
- Unit 4 Plants around us Lesson 6(說課稿)-2024-2025學年人教PEP版(2024)英語三年級上冊
- 7《可愛的動物》(說課稿)2023-2024學年統(tǒng)編版道德與法治一年級下冊
- Unit 2 Whats your name (Story time)(說課稿)-2024-2025學年譯林版(三起)(2024)英語三年級上冊001
- Unit 4 A glimpse of the future 說課稿-2023-2024學年高二下學期英語外研版(2019)選擇性必修第三冊001
- 輸變電工程監(jiān)督檢查標準化清單-質(zhì)監(jiān)站檢查
- 2024-2025學年北京海淀區(qū)高二(上)期末生物試卷(含答案)
- 【超星學習通】馬克思主義基本原理(南開大學)爾雅章節(jié)測試網(wǎng)課答案
- 人教版八年級上冊地理2024-2025學年八年級上冊地理第一章 從世界看中國 測試卷(一)(含答案)
- 2024年中國工業(yè)涂料行業(yè)發(fā)展現(xiàn)狀、市場前景、投資方向分析報告(智研咨詢發(fā)布)
- 化工企業(yè)重大事故隱患判定標準培訓考試卷(后附答案)
- 工傷賠償授權(quán)委托書范例
- 食堂餐具炊具供貨服務(wù)方案
- 員工安全健康手冊
- 自然科學基礎(chǔ)(小學教育專業(yè))全套教學課件
- 華為客服制度
評論
0/150
提交評論