《計算方法》實驗報告_第1頁
《計算方法》實驗報告_第2頁
《計算方法》實驗報告_第3頁
《計算方法》實驗報告_第4頁
《計算方法》實驗報告_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

《計算方法》實驗報告《計算方法》實驗報告全文共8頁,當前為第1頁?!队嬎惴椒ā穼嶒瀳蟾妗队嬎惴椒ā穼嶒瀳蟾嫒墓?頁,當前為第1頁。學號姓名班級實驗項目名稱計算方法實驗一、實驗名稱實驗一插值與擬合實驗目的:(1)明確插值多項式和分段插值多項式各自的優(yōu)缺點;(2)編程實現(xiàn)拉格朗日插值算法,分析實驗結(jié)果體會高次插值產(chǎn)生的龍格現(xiàn)象;(3)運用牛頓插值方法解決數(shù)學問題。實驗內(nèi)容及要求對于要求選取11個等距插值節(jié)點,分別采用拉格朗日插值和分段線性插值,計算x為0.5,4.5處的函數(shù)值并將結(jié)果與精確值進行比較。輸入:區(qū)間長度,n(即n+1個節(jié)點),預測點輸出:預測點的近似函數(shù)值,精確值,及誤差(2)已知用牛頓插值公式求的近似值。輸入:數(shù)據(jù)點集,預測點。輸出:預測點的近似函數(shù)值實驗原理及算法描述算法基本原理:(1)拉格朗日插值法牛頓插值法《計算方法》實驗報告全文共8頁,當前為第2頁。《計算方法》實驗報告全文共8頁,當前為第2頁。算法流程《計算方法》實驗報告全文共8頁,當前為第3頁?!队嬎惴椒ā穼嶒瀳蟾嫒墓?頁,當前為第3頁。程序代碼及實驗結(jié)果輸出:A.拉格朗日插值法B.分段線性插值X y(精確) y(拉格朗日)y(分段線性)誤差(拉)誤差(分)0.500000 0.800000 0.843407 0.750000 -0.054259 0.0500004.500000 0.047059 1.5787200.0486425-32.547674 -0.033649《計算方法》實驗報告全文共8頁,當前為第4頁。《計算方法》實驗報告全文共8頁,當前為第4頁。輸出:X y(精確) y(牛頓插值)誤差(牛頓插值)5.00000 2.236068 2.266670 -0.013686 源碼:(1)A.拉格朗日插值法#include<iostream>#include<string>#include<vector>usingnamespacestd;doubleLagrange(intN,vector<double>&X,vector<double>&Y,doublex);intmain(){doublep,b,c; chara='n';do{cout<<"請輸入差值次數(shù)n的值:"<<endl;intN;cin>>N;vector<double>X(N,0);vector<double>Y(N,0);cout<<"請輸入?yún)^(qū)間長度(a,b):"<<endl; cin>>p; cin>>b; c=b-p; c=c/(N-1);for(inti=0;i<N;i++){ X[i]=p;Y[i]=1/(1+p*p); p=p+c;}cout<<"請輸入要求值x的值:"<<endl;doublex;《計算方法》實驗報告全文共8頁,當前為第5頁。cin>>x;《計算方法》實驗報告全文共8頁,當前為第5頁。doubleresult=Lagrange(N,X,Y,x);cout<<"由拉格朗日插值法得出結(jié)果:"<<result<<endl;cout<<"是否要繼續(xù)?(y/n):";cin>>a;}while(a=='y');return0;}doubleLagrange(intN,vector<double>&X,vector<double>&Y,doublex){doubleresult=0;for(inti=0;i<N;i++){doubletemp=Y[i];for(intj=0;j<N;j++){if(i!=j){temp=temp*(x-X[j]);temp=temp/(X[i]-X[j]);}}result+=temp;}returnresult;};B:分段線性插值#include<iostream>#include<string>#include<vector>usingnamespacestd;doublefenduan(intN,vector<double>&X,vector<double>&Y,doublex,doublec);intmain(){doublep,b,c; chara='n';do{cout<<"請輸入差值次數(shù)n的值:"<<endl;intN;cin>>N;vector<double>X(N,0);vector<double>Y(N,0);cout<<"請輸入?yún)^(qū)間長度(a,b):"<<endl; cin>>p; cin>>b; c=b-p; c=c/(N-1);for(inti=0;i<N;i++){ X[i]=p;《計算方法》實驗報告全文共8頁,當前為第6頁。Y[i]=1/(1+p*p);《計算方法》實驗報告全文共8頁,當前為第6頁。 p=p+c;}cout<<"請輸入要求值x的值:"<<endl;doublex;cin>>x;doubleresult=fenduan(N,X,Y,x,c);cout<<"由分段線性插值法得出結(jié)果:"<<result<<endl;cout<<"是否要繼續(xù)?(y/n):";cin>>a;}while(a=='y');return0;}doublefenduan(intN,vector<double>&X,vector<double>&Y,doublex,doublec){doubleresult=0;intb;b=0;while(x-X[b]>c){ b=b+1;}result=Y[b]*(1-(x-X[b])/c)+Y[b+1]*((x-X[b])/c);returnresult;};牛頓插值法#include<iostream>#include<string>#include<vector>usingnamespacestd;doubleChaShang(intn,vector<double>&X,vector<double>&Y);doubleNewton(doublex,vector<double>&X,vector<double>&Y);intmain(){chara='n'; do{intn;cout<<"請輸入插值點個數(shù):"<<endl;cin>>n;vector<double>X(n,0);vector<double>Y(n,0);cout<<"請輸入插值點對應的值及函數(shù)值(Xi,Yi):"<<endl;for(inti=0;i<n;i++){cin>>X[i]>>Y[i];}cout<<"請輸入要求值x的值:"<<endl;《計算方法》實驗報告全文共8頁,當前為第7頁。doublex;《計算方法》實驗報告全文共8頁,當前為第7頁。cin>>x;cout<<"由牛頓插值法得出結(jié)果:"<<Newton(x,X,Y)<<endl;cout<<"是否要繼續(xù)?(y/n):";cin>>a;}while(a=='y');return0;}doubleChaShang(intn,vector<double>&X,vector<double>&Y){doublef=0;doubletemp=0;for(inti=0;i<n+1;i++){temp=Y[i];for(intj=0;j<n+1;j++)if(i!=j)temp/=(X[i]-X[j]);f+=temp;}returnf;}doubleNewton(doublex,vector<double>&X,vector<double>&Y){doubleresult=0;for(inti=0;i<X.size();i++){doubletemp=1;doublef=ChaShang(i,X,Y);for(intj=0;j<i;j++){temp=temp*(x-X[j]);}result+=f*temp;}returnresult;}實驗總結(jié)通過實驗一數(shù)據(jù)發(fā)現(xiàn),拉格朗日插值在低次插值時,同源函數(shù)偏差并不大,但在高次插值時同原函數(shù)偏差大、存在明顯的龍格現(xiàn)象,而分段線性插值可以避免出現(xiàn)的龍格現(xiàn)象,與原函數(shù)比較吻合,但是分段線性插值由于其分段屬性,使得插值函數(shù)失去光滑性,可以考慮采用Hermite插值優(yōu)化。通過實驗二計算過程發(fā)現(xiàn),拉格朗日插值法的線性插值的計算過程沒有繼承性,即增加一個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論