亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MATLAB軟件的牛頓插值法理論研究

        2018-10-14 17:52:13周建杰禹仁貴
        河南科技 2018年32期

        周建杰 禹仁貴

        摘 要:牛頓插值法是數(shù)值計算中較為重要的方法之一。本文介紹了牛頓插值法的理論,討論了其優(yōu)缺點及與泰勒展式的關(guān)系。通過一個具體的實例,應(yīng)用MATLAB軟件,直觀地展示了牛頓插值法的實現(xiàn)及其特點。

        關(guān)鍵詞:牛頓插值法;泰勒展式;龍格現(xiàn)象;MATLAB

        中圖分類號:G642文獻標識碼:A文章編號:1003-5168(2018)32-0010-03

        Newton Interpolation Method Theory and MATLAB Realization

        ZHOU Jianjie YU Rengui

        (College of Information and Management Science, Henan Agricultural University,Zhengzhou Henan 450002)

        Abstract: Newton interpolation method is one of the most important methods in numerical calculation. This paper introduced the theory of Newton's interpolation method, discussed its advantages and disadvantages and the relationship with Taylor's expansion.? Through a specific example, the realization and characteristics of Newton's interpolation method were shown intuitively by using MATLAB software.

        Keywords: Newton interpolation method;Taylor expansion;Runge's phenomenon;MATLAB

        1 研究背景

        通常情況下,在科學(xué)研究和生產(chǎn)實踐中都用函數(shù)[y=fx]來表示某種內(nèi)在規(guī)律的數(shù)量關(guān)系。若[fx]在某個區(qū)間[a,b]上是存在的、連續(xù)的,但只能給出[a,b]上一系列點的函數(shù)值表(見表1)時,或者函數(shù)有解析表達式,但計算過于復(fù)雜、使用不方便只給出函數(shù)值表(如三角函數(shù)表、對數(shù)表等)時,為了研究函數(shù)的變化規(guī)律,往往需要求出不在表上點的函數(shù)值。因此,人們希望根據(jù)給定的函數(shù)表做一個既能反映函數(shù)[fx]的特性,又便于計算的簡單函數(shù)[Px],用[Px]近似表示[fx],即[Pxi=fxii=0,1,2,…,n]。這就引出了插值問題[1]。插值問題的幾何意義是:已知平面上n+1個不同的節(jié)點,要尋找一條次數(shù)不超過n的多項式曲線通過這些節(jié)點。

        在我國古代,人們就開始運用插值法的思想來解決問題。隋代天文學(xué)家劉焯創(chuàng)立了用三次差內(nèi)插法來計算日月視差運動速度;唐代杰出天文學(xué)家張遂在《大衍歷》中提出了自變數(shù)不等間距的二次差內(nèi)插法用于編制天文數(shù)表。此外,17世紀之后,西方數(shù)學(xué)家拉格朗日和牛頓分別討論了非等距和等距的一般插值公式。目前,人們常用的插值方法有:拉格朗日插值、牛頓插值、埃爾米特插值、分段低次插值和三次樣條插值。

        理論、試驗、計算是人類進行科學(xué)活動的三大方法,許多實際的科學(xué)與工程問題的解決都離不開科學(xué)計算。牛頓插值法是數(shù)值計算中較為重要的方法之一,在電力、機械、建筑科學(xué)與工程、環(huán)境科學(xué)、電信技術(shù)、計算機等學(xué)科中都有廣泛應(yīng)用。本文著重討論牛頓插值法理論以及MATLAB上機實驗。

        2 牛頓插值法

        在區(qū)間[a,b]上,函數(shù)[fx]關(guān)于一個節(jié)點[xi]的零階差商定義如式(1)所示,[fx]關(guān)于兩個節(jié)點[xi和xj]的一階差商定義見式(2)。一般地,k階差商就是k-1階差商的差商,稱式(3)為[fx]關(guān)于k+1個節(jié)點[x0,x1,…,xk]的k階差商[2]。具體可以按表2的格式有規(guī)律地計算差商。

        [fxi=fxi]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)

        [fxi,xj=fxj-fxixj-xi]? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)

        [fx0,x1,…,xk=fx1,x2,…,xk-fx0,x1,…,xk-1xk-x0]? ? (3)

        借助差商的定義,牛頓插值多項式可以表示為:

        [Nnx=fx0ω0x+fx0,x1ω1x+fx0,x1,x2ω2x+…+fx0,x1,…,xnωnx]? ? ?(4)

        牛頓插值多項式的余項公式可以表示為:

        [Rnx=fx,x0,x1,…,xnωn+1x]? ? ? ? ? ? ? ?(5)

        其中,[ω0x=1],[ωkx=x-x0x-x1…x-xk-1][k=1,2,…,n+1]。對于[a,b]中的任一點[x],則有[fx=Nnx+Rnx]。

        假設(shè)由表1給出的插值問題,已經(jīng)得到牛頓插值多項式,如果所得插值多項式與原函數(shù)在某些點的誤差較大,達不到所要求的精度,一個很自然的想法就是希望通過增加節(jié)點以提高插值多項式的次數(shù),從而提高精度。拉格朗日插值法的基函數(shù)簡單,且公式結(jié)構(gòu)緊湊,如果增加節(jié)點,所有基函數(shù)都需要重新進行計算,牛頓插值法就很好地克服了這一缺陷,在多項式中只需要增加一項即可。根據(jù)差商的性質(zhì),對于在差值節(jié)點[x0,x1,…,xn]中任意位置增加或刪除一個插值節(jié)點的問題,可以設(shè)計牛頓插值多項式的承襲性算法。一般認為,插值節(jié)點越多,插值多項式[Nnx]次數(shù)越高,逼近[fx]的效果就越好,但20世紀初龍格給出一個反例,隨著n的增大,高次多項式插值會出現(xiàn)震蕩現(xiàn)象,即龍格現(xiàn)象。

        設(shè)[fx∈Cna,b],一般稱[fx0]為[fx]在二重節(jié)點([x0,x0])處的一階差商,記作[fx0,x0=fx0],稱[fx02!]為[fx]在三重節(jié)點[x0,x0,x0]處的二階差商,記作[fx0,x0,x0=fx02!],依此類推,[fx]在n重節(jié)點[x0,x0,…,x0]處的n-1階差商記作[fx0,x0,…,x0=fx0n!]。由泰勒定理[3]可知,對[x∈a,b],有

        [fx=fx0+fx0x-x0+fx02!x-x02+…+fnx0n!x-x0n+Rnx]? ?(6)

        其中,[Rnx=fn+1ξn+1!x-x0n+1],[ξ]在[x]與[x0]之間。由[n]重節(jié)點差商的定義和泰勒定理可知:①通過計算點[x0]處的[n]階差商表,可以寫出該點處的[n]階泰勒展式;②通過計算點[x0]處的[n]階導(dǎo)數(shù),可以寫出該點處的[n]階牛頓插值多項式;③牛頓插值余項與泰勒余項相等,即[fx]在[n]重節(jié)點[x0,x0,…,x0]處的牛頓插值多項式與[fx]在點[x0]處的泰勒展式相同。

        3 牛頓插值法的MATLAB實現(xiàn)

        例:設(shè)有函數(shù)[fx=11+x2],在[-5,5]上取等距節(jié)點[xi=-5+ii=0,2,4,…,10]上寫出牛頓插值多項式,在[-5,5]上取等距節(jié)點[xi=-5+ii=0,2,4,…,10]上討論牛頓插值龍格現(xiàn)象。

        解:在MATLAB命令窗口中輸入:

        >>format rat

        x0=-5:2:5; y0=1./(1+x0.^2);

        syms x; n=max(size(x0));

        y=y0(1); disp(y);

        s=1; dx=y0;

        for i=1:n-1

        dx0=dx;

        for j=1:n-i

        dx(j)=(dx0(j+1)-dx0(j))/(x0(i+j)-x0(j));

        end

        df=dx(1); s=s*(x-x0(i)); y=y+s*df;

        disp(y);

        end

        N_n(x)=y

        運行上述程序結(jié)果如下:

        1/26

        (2*x)/65 + 5/26

        (2*x)/65 + (11*(x + 3)*(x + 5))/260 + 5/26

        (2*x)/65 + (11*(x + 3)*(x + 5))/260 - ((x + 1)*(x + 3)*(x + 5))/65 + 5/26

        (2*x)/65 + (11*(x + 3)*(x + 5))/260 - ((x + 1)*(x + 3)*(x + 5))/65 + ((x - 1)*(x + 1)*(x + 3)*(x + 5))/520 + 5/26

        (2*x)/65 + (11*(x + 3)*(x + 5))/260 - ((x + 1)*(x + 3)*(x + 5))/65 + ((x - 1)*(x + 1)*(x + 3)*(x + 5))/520 + 5/26

        N_n(x) =(2*x)/65 + (11*(x + 3)*(x + 5))/260 - ((x + 1)*(x + 3)*(x + 5))/65 + ((x - 1)*(x + 1)*(x + 3)*(x + 5))/520 + 5/26

        在MATLAB命令窗口中輸入:

        >>x0=-5:5; y0=1./(1+x0.^2);

        x1=-5:2:5; y1=1./(1+x1.^2);

        x2=-5:0.02:5; y2=1./(1+x2.^2);

        x=-5:0.05:5;

        m=length(x);

        for k=1:m

        tx=x(k); n=length(x0);

        y=y0(1); s=1; dx=y0;

        for i=1:n-1

        dx0=dx;

        for j=1:n-i

        dx(j)=(dx0(j+1)-dx0(j))/(x0(i+j)-x0(j));

        end

        df=dx(1);

        s=s*(tx-x0(i));

        y=y+s*df;

        end

        yx0(k)=y;

        end

        for k=1:m

        tx=x(k); n=length(x1);

        y=y1(1); s=1; dx=y1;

        for i=1:n-1

        dx1=dx;

        for j=1:n-i

        dx(j)=(dx1(j+1)-dx1(j))/(x1(i+j)-x1(j));

        end

        df=dx(1);

        s=s*(tx-x1(i));

        y=y+s*df;

        end

        yx1(k)=y;

        end

        figure;

        plot(x,yx0,':g','LineWidth',2);

        hold on; plot(x,yx1,'--k','LineWidth',1.5);

        hold on; plot(x2,y2,'-b','LineWidth',1);

        grid on; xlabel('x軸'); ylabel('y軸');

        legend('n=10插值曲線','n=5插值曲線','原曲線');

        運行上述程序結(jié)果如圖1所示。從圖中可以看出,相較于[N5x]在區(qū)間[-3,3]內(nèi),[N10x]與[fx]擬合效果較好,在區(qū)間[-5,3]和[3,5]內(nèi),[N10x]與[fx]偏離較遠,出現(xiàn)龍格現(xiàn)象。

        4 結(jié)語

        牛頓插值法可以通過計算差商表來求出,當插值節(jié)點增加或減少時,不需要像拉格朗日插值法那樣重新計算。牛頓插值法具有承襲性,減少了計算量。當插值節(jié)點增多時,牛頓插值會出現(xiàn)龍格現(xiàn)象。在給定重節(jié)點處的牛頓插值多項式與該點處的泰勒展式相同。

        參考文獻:

        [1]朱建新,李有法.數(shù)值計算方法[M].北京:高等教育出版社,2012.

        [2]甄西豐.差商與牛頓插值多項式的承襲性算法[J].華中理工大學(xué)學(xué)報,2000(4):35-38.

        [3]韓云端.微積分概念解析[M].北京:高等教育出版社,2007.

        国产av大片在线观看| 亚洲a∨国产av综合av下载| 日韩精品无码视频一区二区蜜桃 | 亚洲一区二区三区高清视频| 一区二区三区人妻av| 岳毛多又紧做起爽| 亚洲欧美国产日韩制服bt| 精品久久久无码不卡| 日韩午夜免费视频精品一区| 亚洲av无码久久精品色欲| 精品乱码久久久久久中文字幕| 国产亚洲AV片a区二区| 免费国产一区二区视频| 又色又爽又高潮免费视频国产| 少妇高潮惨叫喷水在线观看| 亚洲色图视频在线播放| 四季极品偷拍一区二区三区视频| 欧美成人aaa片一区国产精品| 亚洲人成网站77777在线观看| 午夜人妻中文字幕福利| 日本av一级片免费看| 免费无遮挡禁18污污网站| 亚洲毛片αv无线播放一区| 国产精品丝袜美腿诱惑| 中文在线中文a| 亚洲欧美日韩综合久久| 久久国产精品岛国搬运工| 日本九州不卡久久精品一区| 无码人妻精品一区二区蜜桃网站| 色综合自拍| 蜜桃视频网站在线免费观看| 激情人妻另类人妻伦| 亚洲乱码av中文一区二区| 亚洲精品综合色区二区| 日本亚洲系列中文字幕| 国产农村乱辈无码| 国产亚洲精品成人无码精品网站| 亚洲av免费看一区二区三区| 亚洲欧美v国产一区二区| 1000部精品久久久久久久久| 精品蜜桃一区二区三区|