




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、牛頓插值法 插值法是利用函數f (x)在某區間中若干點的函數值,作出適當的特定函數,在這些點上取已知值,在區間的其他點上用這特定函數的值作為函數f (x)的近似值。如果這特定函數是多項式,就稱它為插值多項式。當插值節點增減時全部插值基函數均要隨之變化,這在實際計算中很不方便。為了克服這一缺點,提出了牛頓插值。 牛頓插值通過求各階差商,遞推得到的一個公式:f(x)=fx0+fx0,x1(x-x0)+fx0,x1,x2(x-x0)(x-x1)+.fx0,.xn(x-x0).(x-xn-1)+Rn(x)。插值函數 插值函數的概念及相關性質1 定義:設連續函數y-f(x) 在區間
2、a,b上有定義,已知在n+1個互異的點x0,x1,xn上取值分別為y0,y1,yn (設a x1x2xnb)。若在函數類中存在以簡單函數P(x) ,使得P(xi)=yi,則稱P(x) 為f(x)的插值函數.稱x1,x2,xn 為插值節點,稱a,b為插值區間。 定理:n次代數插值問題的解存在且唯一 。牛頓插值法C程序 程序框圖#include<stdio.h>void main() float x11,y1111,xx,temp,newton; int i,j,n;
3、160; printf("Newton插值:n請輸入要運算的值:x="); scanf("%f",&xx); printf("請輸入插值的次數(n<11):n="); scanf("%d",&n); printf("請輸入%d組值:n",n+1); for(i=0;i<n+1;i+)
4、0; printf("x%d=",i); scanf("%f",&xi); printf("y%d=",i); scanf("%f",&y0i);
5、60; for(i=1;i<n+1;i+) for(j=i;j<n+1;j+) if(i>1) yij=(yi-1j-yi-1j-1)/(xj-xj-i);
6、160; else yij=(yi-1j-yi-1j-1)/(xj-xj-1); printf("%fn",yii);
7、160; temp=1;newton=y00; for(i=1;i<n+1;i+) temp=temp*(xx-xi-1); newton=newton+yii*temp; printf("求得的結果為:N(%.4f)=%9fn"
8、,xx,newton);牛頓插值法Matlab程序function f = Newton(x,y,x0) syms t; if(length(x) = length(y) n = length(x); c(1:n) = 0.0; else disp('x和y的維數不相等!'); return; end f = y(1); y1 = 0; l = 1; for(i=1:n-1)
9、; for(j=i+1:n) y1(j) = (y(j)-y(i)/(x(j)-x(i); end c(i) = y1(i+1); l = l*(t-x(i); f = f + c(i)*l; simplify(f);
10、0; y = y1; if(i=n-1) if(nargin = 3) f = subs(f,'t',x0); else &
11、#160; f = collect(f); %將插值多項式展開 f = vpa(f, 6); end end 牛頓插
12、值法摘 要:值法利用函數f (x)在某區間中若干點的函數值,作出適當的特定函數,在這些點上取已知值,在區間的其他點上用這特定函數的值作為函數f (x)的近似值。如果這特定函數是多項式,就稱它為插值多項式。利用插值基函數很容易得到拉格朗日插值多項式,公式結構緊湊,在理論分析中甚為方便,但當插值節點增減時全部插值基函數均要隨之變化,整個公式也將發生變化, 這在實際計算中是很不方便的,為了克服這一缺點,提出了牛頓插值。 牛頓插值通過求各階差商,遞推得到的一個公式: f(x)=fx0+fx0,x1(x-x0)+fx0,x1,x2(x-x0)(x-x1)+.fx0,.xn(x-x0).(x-xn-1)+
13、Rn(x)關鍵詞:牛頓插值法 流程圖 程序實現一、 插值法的由來 在許多實際問題及科學研究中,因素之間往往存在著函數關系,然而,這種關系經常很難有明顯的解析表達,通常只是由觀察與測試得到一些離散數值。有時,即使給出了解析表達式,卻由于表達式過于復雜,不僅使用不便,而且不易于進行計算與理論分析。解決這類問題的方法有兩種:一種是插值法,另一種是擬合法。插值法是一種古老的數學方法,它來自生產實踐,早在一千多年前,我國科學家在研究歷法上就應用了線性插值與二次插值,但它的基本理論卻是在微積分產生之后才逐漸完善的,其應用也日益增多,特別是在計算機軟件中,許多庫函數,如等的計算實際上歸結于它的逼近函數的計算
14、。逼近函數一般為只含有算術運算的簡單函數,如多項式、有理分式(即多項式的商)。在工程實際問題當中,我們也經常會碰到諸如此類的函數值計算問題。被計算的函數有時不容易直接計算,如表達式過于復雜或者只能通過某種手段獲取該函數在某些點處的函數值信息或者導數值信息等。因此,我們希望能用一個“簡單函數”逼近被計算函數,然后用該簡單函數的函數值近似替代被計算函數的函數值。這種方法就叫插值逼近或者插值法。逐次線性插值法優點是能夠最有效地計算任何給定點的函數值,而不需要寫出各步用到的插值多項式的表達式。但如果解決某個問題時需要插值多項式的表達式,那么,它的這個優點就成了它的缺點了。能不能根據插值條件構造一個插值
15、多項式,它既有具體的表達式,又很容易用它計算任何點的函數值呢?牛頓插值法能作到這一點。 2、 牛頓插值法的概念牛頓插值多項式的表達式設問題是如何根據插值條件 ,i=0,1,2n 來計算待定系數?由 知, 。由 知 因而 ,其中 稱為函數f(x)在點的一階商。由 知 因而 其中稱為函數f (x)在點的二階差商。實際上,它是一階差商的差商。一般地,如果已知一階差商,那么就可以計算二階差商 類似于上述過程不斷地推導下去,可得 其中,分別稱為函數f (x)在相應點處的三階差商,四階差商和n 階差商。實際上, 的計算可通過以下簡易地構造函數的差商來完成。 .按上述方式構造插值多項式的方法叫做牛頓插值法。
16、根據插值多項式的惟一性知,其截斷誤差與拉格朗日插值法相同,即: 但也可以表示成差商形式。這是因為以為節點的多項式 從而 于是 的截斷誤差可表為 順便指出,因為牛頓插值多項式具有性質: 所以,類似于逐次線性插值法,也可以把上述和式中的第二項看成是估計 的一種實用誤差估計式。與差商概念密切聯系的另一個概念是差分,它是指在等距節點上函數值的差。所謂等距節點,是指對給定的常數h(稱為步長),節點稱為 處的一階向前差分;稱 為 處的一階向后差分;稱 為 處的中心差分。一階差分的差分稱為二階差分,即 稱為 處的二階向前差分。一般地,m 階向前和向后差分可定義如下:3、 牛頓插值法的實現1、【算法】步驟1:
17、輸入節點(xj,yj),精度,計值點xx,f0p,1T,1i;步驟2:對k=1,2,i依次計算k階均差fxi-k,xi-k+1,xi = (fxi-k+1,xi- fxi-k,xi)/( xi -xi-k )步驟3:(1)、若| fx1,xi- fx0,xi-1|< ,則p為最終結果Ni-1(x),余項Ri-1= fx0,xi(xx-xi-1)T。 (2)、否則(xx-xi-1)*TT,p+ fx0,xi*Tp,轉步驟4。步驟4:若i<n,則i+1i,轉步驟2;否則終止。 2、【流程圖】STOP 1輸出p,r,iqi(xi-xi-1)TRk= 1,2,ik(qk-1gk-1)(xi
18、xi-k)qkf0g0,fiq0輸出,xx,n及(xj,yj)開始 i+1i YES|gi-1-qi-1|< NO(xi-xi-1)TTp+qi*Tp k = 1,2,iqkgkk YESk<n i+1 i qi(xx-xn-1)*TR NO 輸出P,R,nSTOP 2 3、【程序清單】#include"stdio.h"#define n 4/牛頓插值的次數void main() float an+1n+2=0,s=0,t=1,x; int i,j; printf("請輸入xi及yi的值/要求先輸入xi再輸入yi然后輸入下一組n"); for
19、(i=0;i<n+1;i+) for(j=0;j<2;j+) scanf("%f",&aij); for(j=1;j<n+2;j+)/計算各階均差 for(i=j;i<n+1;i+) aij+1=(aij-ai-1j)/(ai0-ai-j0); printf("輸出xi,yi及各階均差n"); for(i=0;i<n+1;i+) for(j=0;j<n+2;j+) printf("%6.5f ",aij); printf("n"); printf("輸出牛頓插值表達式n"); printf("N%d(x)=",n); for(i=0;i<n+1;i+) printf("%6.5f",aii+1); for(j=0;j<i;j+) printf("(x-%3.2f)",aj0); if(i=n) break; printf("+"); printf("n"); printf("輸入插值點x="); scanf("%f",&x); for(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學校生量化管理制度
- 學校誠信社管理制度
- 安全充電樁管理制度
- 安全預評價管理制度
- 實訓室技術管理制度
- 審計局票據管理制度
- 客運站公司管理制度
- 家具廠衛生管理制度
- 應急安全與管理制度
- 錄播室安全管理制度
- 物流倉儲中心項目建設背景和必要性
- 音樂與電影-《功夫》音樂賞析
- 小學科學湘科版六年級下冊全冊同步練習含答案
- (2024年)傳染病培訓課件
- 中藥熏蒸的護理
- 幼兒園大班教案《娃哈哈》含反思
- 中職學校計算機基礎知識復習考試題庫(附答案)
- TIMAAMM 003-2023 蒙醫病證診斷療效標準
- 【特殊兒童融合教育的問題及優化建議分析4900字(論文)】
- 【A幼兒園大班幼兒手機使用情況的調研分析報告(附問卷)14000字(論文)】
- 中建醫院抗浮錨桿施工方案
評論
0/150
提交評論