版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
《函數(shù)插值》學習報告第1章《函數(shù)插值》描述對象描述1、插值:用來填充圖像變換時像間的空隙。其通常的做法是:在事先選定的一個由簡單函數(shù)構成的有n+1《函數(shù)插值》學習報告第1章《函數(shù)插值》描述對象描述1、插值:用來填充圖像變換時像間的空隙。其通常的做法是:在事先選定的一個由簡單函數(shù)構成的有n+1個參數(shù)C0,C1,……Cn的函數(shù)類Φ(C0,C1,……Cn)中求出滿足條件P(xi)=f(xi)(i=0,1,……n)的函數(shù)P(x),并以P()作為f()的估值。此處f(x)稱為被函數(shù)插值,x0,x1,……xn稱為插值結(節(jié))點,Φ(C0,C1,……Cn)稱為函數(shù)插值類,上面等式稱為插值條件,Φ(C0,……Cn)中滿足上式的函數(shù)稱為函數(shù)插值,R(x)=f(x)-P(x)x0,x1……xn的最小閉區(qū)間時,相發(fā)展歷史:無論是科學實驗(Scienceexperiment)或工程試驗(Engineeringtest),進行中多少都升空時,可能少接收一次訊號,土木(如鋼筋混凝土計算)或測量(如日月出沒時刻計算)查表時,表上也可能沒有我們需要的函數(shù)值。凡此我們都可以用一種叫做數(shù)值逼近(Numericalapproximate)或曲線密合(Curvefitting)的方法來加以補救,插值法就是上述方法中最常用和最有效的一種。在古典數(shù)值分析中的插值法(Interpolation),有牛頓(Newton)插值法,拉格朗日(Lagrange)插值法艾特肯(Aitken)插值法赫米特(Hermite)插值法史帝林(Stirling)插值法、法等多種,這些插值方法都可用一條多項式來表示,也都可籍由Basic、Fortran、或影響一項實驗或試驗的因素很多,如與飛彈發(fā)射、 、以及與天文測量等 關的天文年歷就是如此。在地球上某一點要決定某一星體在某時刻的位置至少有經(jīng)度及緯度兩個參數(shù),所以用單一自變量插值法來求“星表”上沒有的某地點(或數(shù)仟點)某時刻(或全年)該星體的位置,不但計算繁雜,而且費時冗長,就是用計算機程序來處理也是一項極為艱困且萬分繁雜的任務。俗語說:窮則變,變則通。當我們研究科學用 法行不通時,就必須變換我們所思考的方向,研討原計算的方法,和檢核曾使用的工具。有創(chuàng)新才有,有才能成功。本文所討論的“多自變量函數(shù)插值公式”就是依據(jù)這項原則經(jīng)不斷研究而發(fā)現(xiàn)的,它的誕生,將原本的工作變成容易,原本復雜的計算變得簡單,為工程減少了大量的工作時間,也為公庫節(jié)省了億萬元的公幣。在學術研究上確是一大,在工程應用上更是一大創(chuàng)舉。《函數(shù)插值》的相關概念插值問題的提法是:假定區(qū)間[a,b]上的實值函數(shù)f(x)在該區(qū)間上n+1個互不相同點x0,x1……xn處的值是f(x0),……f(xn),要求估算f(x)在[a,b]中某點x*的值。基本思路是,找到一個函數(shù)P(x),在x0,x1……xn的節(jié)點上與f(x)函數(shù)值相同(有時,甚至一階導數(shù)值也相同),用P(x*)的值作為函數(shù)f(x*)的近似。應的插值稱為內(nèi)插,否則稱為外插。第2章《函數(shù)插值》的相關概念y=f(x)在區(qū)間[a,b]a≤x0x應的插值稱為內(nèi)插,否則稱為外插。第2章《函數(shù)插值》的相關概念y=f(x)在區(qū)間[a,b]a≤x0x1?xnb上y0,y1,?,ynP(x),使P(xi)=yi(i=0,1,?,n)(1.1)成立,就稱P(x)f(x)的函數(shù)插值x0,x1,?,xn稱為插值節(jié)點,包含插值節(jié)點的區(qū)間a,b]稱為插值區(qū)間P(x)的方法稱為插值法P(x)是次n的代數(shù)多項式,即P(x)=a0+a1x+?+anxn,(1.2)aiP(x)為插值多項式,相應的插值法稱為多項式插值P(x)為分段的多項式,就稱為分段插值Px為三角多項式,就稱為三角插值。y=P(x)n1個點(xi,yi),i=0,1,?,ny=f(x)1。1第3章《函數(shù)插值》的相關理論)多項式插值Φ1第3章《函數(shù)插值》的相關理論)多項式插值Φ為n次多項式類,由插值條件可以唯一確n+1個不同點,要尋找一條n是牛頓插值多項式。埃爾米特插值數(shù)插值P(x),自然不僅要求在這些點等于f(x)的函數(shù)值,而且要求P(x)的導數(shù)在這些點也等于式曲線不僅要通過平面上的已知點組,而且在這些點(或者其中一部分)與原曲線“密切”,即它們有相同的斜率??梢姲柮滋夭逯刀囗検奖绕鹨话愣囗検讲逯涤休^高的光滑逼近要求。)分段插值與樣條插值為了避免高次插值可能出現(xiàn)的大幅度波動現(xiàn)象,在實際應用中通常采用分段低次插值來提高近似程服這一缺點,一種全局化的分段插值方法——三次樣條插值成為比較理想的工具。見樣條函數(shù)。3.1分段插值在每個區(qū)間[xi,xi1上,用1階多項式(直線)逼近f(x):f(x)P(i1yyfor]i11ix xi1f(x)P(i1yyfor]i11ix xi1xi i1i1 i即用折線代替曲線。hmax|xi1xi|易證:當優(yōu)點:計算簡單;h0Ph(x)f(x)1適用于光滑性要求不高的插值問題。分段三次(Hermite)插值插值。(4)三角函數(shù)插值當出。函數(shù)是以2π為周期的函數(shù)時,通常用n階三角多項式作為函數(shù)插值,并通過高斯三角插值表(6)其它提法插值(Interpolation),有時也稱為“重置樣本”,是在不生成像素的情況下增加圖像像素大小的一的分辨率。插值:用來填充圖像變換時像(7)三次樣條插值:間的空隙。上面介紹的分段線性插值,其總體光滑程度不夠.在數(shù)學上,光滑程度的定量描述是:函數(shù)(曲線)的k階導數(shù)存在且連續(xù),則稱該曲線具有k階光滑性.自然,階數(shù)越高光滑程度越好.于是,分段線性插值具有零階光滑性,也就是不光滑;分段三次埃爾米特插值具有一階光滑性.僅有這些光滑程度,在工程設計和機械加工等實際中是不夠的.提高分段函數(shù)如多項式函數(shù)的次數(shù),可望提高整體曲線的光滑程度.但是,是否存在較低次多項式達到較高階光滑性的方法?三次樣條插值就是一個很好的例子.樣條曲線本身就來源于飛機、船舶等外形曲線設計中所用的繪圖工具.在工程實際中,要求這樣的曲線(5) 辛克插值抽樣定理表述,對于正確的抽樣信號s(t),原始信號可以由抽樣值sk進行重建,其公式為:+∞s(t)=∑sksincπ(t-tk)(注:k為下標)k=-∞這里sk代表在時間tk=t0+k*T時的抽樣值,T是抽樣時間,它的倒數(shù)1/T叫做抽樣頻率。此公式表示,已知在規(guī)則分布的區(qū)間中的抽樣值sk,我們就可以根據(jù)辛克函數(shù)先測出抽樣值,然后將它們相加,這樣計算出任意時間t應該具有連續(xù)的曲率,也就是連續(xù)的二階導數(shù).值得注意的是分段插值曲線的光滑性關鍵在于段與段之間的銜接點(節(jié)點)應該具有連續(xù)的曲率,也就是連續(xù)的二階導數(shù).值得注意的是分段插值曲線的光滑性關鍵在于段與段之間的銜接點(節(jié)點)處的光滑性.s(x),它是定義在區(qū)間[a,b]上的函數(shù),滿足:s(x)在每一個小區(qū)間[Xi-1,Xi]上是一個三次多項式函數(shù);[a,b]上,其二階導數(shù)存在且連續(xù).即在每個節(jié)點處的二階導數(shù)連續(xù).三次樣條插值問題的提法:f(x)n+1個節(jié)點x0,x1,...,xny0,y1,...,yn,求一個三次s(x),使其滿足:s(xi)=yi,i=0,1,…,n.如何確定三次樣條函數(shù)在每一個小區(qū)間上的三次多項式函數(shù)的系數(shù)呢?這是一個比較復雜的問題,這里只介紹確定系數(shù)的思想.分段線性插值在每一段的線性函數(shù)的兩個參數(shù),是由兩個方程(兩個端點處的函數(shù)值為給定值)唯一確定;對于三次樣條插值呢,每一個區(qū)間上的三次函數(shù)有四個參數(shù),而在該區(qū)間上由兩個端點的函數(shù)值為給定值只能夠產(chǎn)生兩個方程,僅此不足以唯一確定四個參數(shù).注意到三次樣條函數(shù)對整體光滑性的要求,其二階導數(shù)存在且連續(xù),從全局的角度上考慮參數(shù)個數(shù)與方程個數(shù)的關系如下:4個,n4n個.2個,n2n個;光滑性要求每一個內(nèi)部節(jié)點處的一階、二階導數(shù)連續(xù),得出其左右導數(shù)相等,因此,2個方程,2(n-1)個.現(xiàn)在得到了4n-2個方程,還差兩個.為此,常用的方法是對邊界節(jié)點除函數(shù)值外附加要求.這就是所謂的邊界條件.需要兩個,正好左右兩個端點各一個.常用如下三類邊界條件m邊界條件:s'(X0)=m0,s'(Xn)=mn.即兩個邊界節(jié)點的一階導數(shù)值為給定值:m0,mn.M邊界條件:s''(x0)=m0,s''(xn)=mn.即兩個邊界節(jié)點的二階導數(shù)值為給定值:m0,mn.特別地,當m0和mn都為零時,稱為自然邊界條件.周期性邊界條件:s'(x0)=s'(xns''(x0)=s''(xn).第4章《函數(shù)插值》國內(nèi)研究現(xiàn)狀作者來源時間數(shù)據(jù)庫 被引士基于差值灰色徑向基函數(shù)神白宇太原理工大學經(jīng)網(wǎng)絡的瓦斯涌出量2010-09-13期刊擴展函數(shù)插值及其在圖像運李莉;屈楨深;曾慶雙動估計中的應用吉林大學學報(工學版)2008-07-15期刊最大離差值極小響應面及按宇慧平;隋允康;丁力;葉紅玲科技2010-01-13期Kreisselmerier-Steinhauser函刊數(shù)的擬合差值取樣譜函數(shù)定理及其在許銘真;譚長華;王陽元研究MOS陷阱弛豫效應方面的應用半導體學報1992-01-31期刊2010-01-10中國會議K-S函數(shù)擬合最大差值極小宇慧平;隋允康;丁力響應面的研究北京力學會第十六屆學術年會論2010-01-10中國會議2010-01-10中國會議平函數(shù)插值的權函數(shù)式和未季振邦知數(shù)函數(shù)的權函數(shù)式的轉(zhuǎn)化及其應用工程勘察1984-09-22期刊推算路線不影響平函數(shù)插值蔣德云勘察科學技術2000-04-30期刊的權倒數(shù)平函數(shù)插值的權倒數(shù)與推算華文威路線無關測繪通報1978-03-22期刊基于模態(tài)參數(shù)分析的井架結遲利源大慶石油學院2006-03-15碩士構損傷識別研究杜春清中國局蘭州2007-05-10碩士無失真數(shù)據(jù)壓縮基于非參數(shù)密度估計點樣本牛君山東大學2007-10-26博士分析建模的應用研究重力差值趨勢面分析系統(tǒng)閻漢杰;劉學楨;王捷;鄒傳堂;顏計算機在地學中的應用國際討論1991-09-01國立新作者來源時間數(shù)據(jù)庫 被引士基于差值灰色徑向基函數(shù)神白宇太原理工大學經(jīng)網(wǎng)絡的瓦斯涌出量2010-09-13期刊擴展函數(shù)插值及其在圖像運李莉;屈楨深;曾慶雙動估計中的應用吉林大學學報(工學版)2008-07-15期刊最大離差值極小響應面及按宇慧平;隋允康;丁力;葉紅玲科技2010-01-13期Kreisselmerier-Steinhauser函刊數(shù)的擬合差值取樣譜函數(shù)定理及其在許銘真;譚長華;王陽元研究MOS陷阱弛豫效應方面的應用半導體學報1992-01-31期刊2010-01-10中國會議K-S函數(shù)擬合最大差值極小宇慧平;隋允康;丁力響應面的研究北京力學會第十六屆學術年會論2010-01-10中國會議2010-01-10中國會議平函數(shù)插值的權函數(shù)式和未季振邦知數(shù)函數(shù)的權函數(shù)式的轉(zhuǎn)化及其應用工程勘察1984-09-22期刊推算路線不影響平函數(shù)插值蔣德云勘察科學技術2000-04-30期刊的權倒數(shù)平函數(shù)插值的權倒數(shù)與推算華文威路線無關測繪通報1978-03-22期刊基于模態(tài)參數(shù)分析的井架結遲利源大慶石油學院2006-03-15碩士構損傷識別研究杜春清中國局蘭州2007-05-10碩士無失真數(shù)據(jù)壓縮基于非參數(shù)密度估計點樣本牛君山東大學2007-10-26博士分析建模的應用研究重力差值趨勢面分析系統(tǒng)閻漢杰;劉學楨;王捷;鄒傳堂;顏計算機在地學中的應用國際討論1991-09-01國立新會摘要集際會議最大差值極小化的響應面函鄭小龍;葉紅玲;隋允康;宇慧平 數(shù)擬合方法最大差值最小化方法擬合響鄭小龍;葉紅玲隋允康北京力學會第十六屆學術年會論應面函數(shù)最大差值最小化方法擬合響鄭小龍;葉紅玲隋允康北京力學會第十六屆學術年會論應面函數(shù)的軟件開發(fā)一、《函數(shù)插值》方法一覽表方法名稱經(jīng)典方方法比較法方法的優(yōu)點方法的缺點多項式插值拉格朗牛頓差值法當增加點拉格朗日插值法當點數(shù)增加所日插值時前面的工作依然有有的數(shù)都需要重新計算,計算多項式效計算量較小,拉格量較大牛頓插朗日插值法引起基函值多項數(shù)特點多被廣泛應用式埃爾米特插值比一般多項式插值有不僅要知道它在一些點的函數(shù)較高的光滑逼近要求值,而且還知道它在這些點的導數(shù)值分段插值與樣條插三次樣避免高次插值可能出總體光滑性較差值條差值現(xiàn)的大幅度波動現(xiàn)象,可以提高近似程度三角函數(shù)插值通常只用于插函數(shù)是以2π為周期的函數(shù)辛克差值由樣品值完美地重建原始信號《函數(shù)插值》方法有多少?一、《函數(shù)插值》方法一覽表方法名稱經(jīng)典方方法比較法方法的優(yōu)點方法的缺點多項式插值拉格朗牛頓差值法當增加點拉格朗日插值法當點數(shù)增加所日插值時前面的工作依然有有的數(shù)都需要重新計算,計算多項式效計算量較小,拉格量較大牛頓插朗日插值法引起基函值多項數(shù)特點多被廣泛應用式埃爾米特插值比一般多項式插值有不僅要知道它在一些點的函數(shù)較高的光滑逼近要求值,而且還知道它在這些點的導數(shù)值分段插值與樣條插三次樣避免高次插值可能出總體光滑性較差值條差值現(xiàn)的大幅度波動現(xiàn)象,可以提高近似程度三角函數(shù)插值通常只用于插函數(shù)是以2π為周期的函數(shù)辛克差值由樣品值完美地重建原始信號《函數(shù)插值》方法有多少?第5章1、算法應用《函數(shù)插值》方法怎么用及其程序設計1.《函數(shù)插值》用到的Mathematica函數(shù)Interpolation[data]對數(shù)據(jù)進行差值,另外還可以為{{x1,{f1,df11,df12}},{x2,{f2,.}..}指定各階導數(shù)InterpolationOrder第5章1、算法應用《函數(shù)插值》方法怎么用及其程序設計1.《函數(shù)插值》用到的Mathematica函數(shù)Interpolation[data]對數(shù)據(jù)進行差值,另外還可以為{{x1,{f1,df11,df12}},{x2,{f2,.}..}指定各階導數(shù)InterpolationOrder3次,可修改ListInterpolation[array]對離散數(shù)據(jù)插值,arrayn維FunctionInterpolation[expr,{x,xmin,xmax},{y,ymin,ymax},..]以對應expr[xi,yi]的為數(shù)據(jù)進行插值2.《函數(shù)插值》的Mathematica主程序部分mathematica演示程序如下:函數(shù)的插值L={ListInterpolatingPolynomial[L,x]1兩點線性插值I=InterpolatingPolynomial[L,x]2三點拋物插值保形差值等。綜合以上看來各種方法都各有其優(yōu)缺點,但為了避免高次插值可能出現(xiàn)的大幅度波動現(xiàn)象,在實際應用中通常采用分段低次插值來提高近似程度,比如可用分段線性插值或分段三次埃爾米特插值來逼近已知函數(shù),但它們的總體光滑性較差。為了克服這一缺點,一種全局化的分段插值方法——三次樣條差值,成為比較理想的工具。I1=InterpolatingPolynomial[L1,x]3多點拉格朗日插值{0.52,0.50},{0.64,0.38},{0.7,0.33},{1.0,0.24}}I2=InterpolatingPolynomial[L2,x]Plot[%,{x,-0.25,1.05}]4I1=InterpolatingPolynomial[L1,x]3多點拉格朗日插值{0.52,0.50},{0.64,0.38},{0.7,0.33},{1.0,0.24}}I2=InterpolatingPolynomial[L2,x]Plot[%,{x,-0.25,1.05}]40,Pg0=Plot[Sin[x],{x,0,Pi}]L=Line[Table[{x,Sin[x]},{x,0,Pi,Pi/4}]]g=Graphics[L]Show[g0,g]sinAp[n_]:=Graphics[{Line[Table[{x,Sin[x]},{x,0,Pi,Pi/(n+1)}]]}]sinAp[2]Show[g0,%]二.龍格現(xiàn)像演示a=InterpolatingPolynomial[L,x]b=Plot[1/(1+25*x^2),{x,-1,1},PlotStyle->{RGBColor[1,0,0]}]c=Plot[a,{x,-1,1}]Show[b,c]三.兩點三次Hermite]};h0[x_]:=(1+2*x)*(x-1)^2;h1[x_]=(1-2(x-1))*(x/(x-1))^2H0[x_]=x*(x-1)^2H1[x_]=(x-1)*x^2H[x_]=y1[[1]]*h0[x]+y1[[2]]*h1[x]+m[[1]]*H0[x]+m[[2]]*H1[x]%/.{x->0.55}N+12N+1次Hermite]}y=Table[Log[x],m=Table[1/x,{x,0.40,0.80,0.10}]bb[x_]=InterpolatingPolynomial[y,x]Simplify[bb[x]]bb[0.55]w[x_]=(x-x0[[1]])*(x-x0[[2]])*(x-x0[[3]])*(x-x0[[4]])*(x-x0[[5]])w1[x_]=D[w[x],x];Simplify[w1[x]]w2[x_]=D[w[x],{x,2}];Simplify[w2[x]]For[i=1,i<=5,i++,h[i_,x_]:=(1-w2[x0[[i]]]*(x-x0[[i]])/w1[x0[[i]]])*L[i,x]^2;H[i_,x_]:=L[i,x]^2*(x-x0[[i]]);]Hm[x_]=Sum[y[[i]]*h[i,x]+m[[i]]*H[i,x],{i,1,5,1}];Simplify[Hm[x]]Hm[0.55]五觀察下面的函數(shù)插值。In[1]:=data=Table[Sin[x-2y],{x,-2.,2.},{y,-2.,2.}];f=ListInterpolation[data,{{-2,2},{-2,2}}]Out[2]=InterpolatingFunction[{{-2.,2.},{-2.,2.}},<>]In[3]:=g=FunctionInterpolation[f[Cos[2πt],Sin[2πt]],0,1}]1}},<>]In[4]:=Plot[{g[t],f[Cos[2πt],Sin[2πt]]},{t,0,1},PlotStyle→{RGBColor[1,0,0],RGBColor[0,0PlotStyle→{RGBColor[1,0,0],RGBColor[0,0,1]}]13-48比較兩個函數(shù)差異的圖形Out[4]=-Graphics-說明:上例中第一步生成一個二元近似函數(shù),第二步使用FunctionInterpolation由復合函數(shù)生成一個新13-48所示兩者相差不大。3.2.1實驗目的Lagrange插值多項式和最小二乘擬合多項式的基本語句。2.掌握函數(shù)插值與擬合的有關操作命令。Mathematica軟件對散亂數(shù)據(jù)問題進行分析研究。3.2.2實驗內(nèi)容【基本語句】1.InterpolatingPolynomial[選項x];2.Fit[選項,{1,x,x^2},x];【功 能】插值多項式,選項代表數(shù)據(jù)表;求出最小二乘二次擬合多項式,選項代表數(shù)據(jù)表。值,給出圖形并估計截斷誤差。函數(shù)表:0.4 64640.70.644220.38942解Mathematica程序:0.47943Table[a={{0.4,0.5,0.6,0.7},{0.38942,0.47943,0.56464,0.64422}}];Transpose[a][[{2,3}]];y1=InterpolatingPolynomial[%,x]//ExpandTranspose[a][[{2,3,4}]];y2=InterpolatingPolynomial[%,x]//ExpandTranspose[a][[{1,2,3,4}]];y3=InterpolatingPolynomial[%,x]//Expand<<Graphics`Legend`Transpose[a][[{1,2,3,4}]];y3=InterpolatingPolynomial[%,x]//Expand<<Graphics`Legend`Plot[{y1,y2,y3},{x,0,1.8},->{Thickness[0.01],Thickness[0.008],Thickness[0.005]},PlotLegend->{"y1","y2","y3"},LegendPosition->{1,0}]Map[NumberForm[#,10]&,{Sin[0.57891],y1,y2,y3}/.x->0.57891]運行結果:0.053380.8521x0.031071.16175x0.2815x20.002021.01373插值多項式的圖形如下:一次插值多項式二次插值多項式三次插值多項式31.510.55三種插值曲線由圖形可見,三次插值曲線與sinx曲線最貼近。下面是sin0.57891的真值與三種插值的比較:語句:resError[x_,n_,xp_List,k_]:=D[Sin[t],{t,n+1}]/((n+1)!)*Product[(x-xp)[[j+1]]/.t->k,{j,0,n}]resError[0.57891,1,{0.5,0.6},0.6]/.t->0.6resError[0.57891,2,{0.5,0.6,0.7},0.5]/.t->0.5resError[0.57891,3,{0.4,0.5,0.6,0.7},0.4]/.t->0.4以下是三種插值在計算sin0.57891時的誤差的運行結果0.0004698420.0000294755.850011073.2.23.其他程序設計y11基于插值方法的選擇下的函數(shù)插值423~473K450K時的密度和粘度。density~temperature1基于插值方法的選擇下的函數(shù)插值423~473K450K時的密度和粘度。density~temperature19801975(K)423433443453463473(kg/m3)197619671959195119431934(Pa·S177.58146.51122.79104.690.2678.791970196519601955450460470480viscosity~temperature440450460470480函數(shù)N維插值interp1interpqinterp2interp3interpninterpftHermitepchipsplineinterp1一維插值調(diào)用格式:yi=interp1(x,y,xi)已知數(shù)據(jù)向量(x,y),計算并返回在插值向量xi處的函數(shù)值yi=interp1(x,y,ximethodyi=interp1(x,y,ximethodextrap’)method’用于指定插值算法,其值可以是:‘nearest’——linear’——線性插值(默認值)spline’——pchip’——分Hermitecubic’——與‘pchip’相同注意:向量x注意:向量xyy的每一列進行插值向量xixyiNaN’extrap’xix的范圍內(nèi)時,采用’method’所指定的插值算法進行外插計算與之對應的yi值-0.27940.65700.98940.4121-0.5440];(y=x=0,2,4,…,10,y=sinx,以上方法插值效果。x=0:1:10;y=[00.84150.90930.1411-0.7568-0.9589-0.27940.6570.98940.4121-0.5440];]););線性插值\rightarrow')yi2=interp1(x,y,xi,'nearst');plot(xi,yi2,'c*'),text(3.537,0.1374,'\leftarrow最近插值')yi3=interp1(x,y,xi,'cubic');plot(xi,yi3,'md'),text(2.408,0.8333,'\leftarrow三次插值')yi4=interp1(x,y,xi,'spline');plot(xi,yi4,'kh'),text(4.62,0.8158,'三次樣條插值\rightarrow')初始數(shù)據(jù)對于插值的影響x=0:2:10;y=sin(x);plot(x,y,'go'),holdonezplot(@sin,[010])xi=0:0.15:10;yi=interp1(x,y,xi);plot(xi,yi,'r+'),text(0.5876,0.2537,'\leftarrow線性插值')yi2=interp1(x,y,xi,'nearst');plot(xi,yi2,'c*'),text(6.947,-0.258,'\leftarrow最近插值')yi3=interp1(x,y,xi,‘pchip');plot(xi,yi3,'md'),text(2.408,0.8333,'\leftarrow三次插值')yi4=interp1(x,y,xi,'splineplot(xi,yi4,'kh'),text(1.601,1.138,'\leftarrow')1.510.50-0.5-1012345678910spline與pchipSpline()的調(diào)用格式為:yi=spline(x,y,xi)此函數(shù)等同于yi=interp1(x,y,xi,‘spline’)pp=spline(x,y)返回三次樣條插值的分段多項式形式的向量spline函數(shù)可以保證函數(shù)插值的三階導數(shù)連續(xù)pchip()的調(diào)用格式為:yi=pchip(x,y,xi)此pp=pchip(x,y)返回三次樣條插值的分段多項式形式的向量pchippp=pchip(x,y)返回三次樣條插值的分段多項式形式的向量pchipspline的區(qū)別pchipspline的區(qū)別:三次樣條在相鄰的節(jié)點上并不保證單調(diào)性;而Hermite分段三次樣條則可(x=sin(kπ/6),y=cos(kπ/6)k=[0123]來逼近pchip與spline的差別。1圓的前四分之一圓周。t=linspace(0,pi/2,4)x=cos(t);y=sin(t);xx=linspace(0,1,40);plot(x,y,'s',xx,[pchip(x,y,xx);spline(x,y,xx)])gridon,axisequallegend('Orignaldata','pchip','spline')0Orignaldatapchipspline00.81csapecsape()的調(diào)用格式為:pp=csape(x,y)pp=csape(x,y,conds)conds可為以下字符串:‘complete’指定端點處一階導數(shù)‘second指定端點處二階導數(shù)‘periodic’左右端點處一、二階導數(shù)相等‘not-a-knot第二個和倒數(shù)第二個節(jié)點處三階導數(shù)連續(xù)‘variational’自然邊界條件,即端點二階導數(shù)為零除csape外,csapi,spapi等csape的使用f(x)為區(qū)間[0,3]上的函數(shù),剖分節(jié)點為xi=[0123];節(jié)點上的函數(shù)值為yi=[00.521.5],左右端0.2和-1[0,3]x=[0123];y=[1.5-1];pp=csape(x,y,’complete’)幾個有用的函數(shù)[breakscoffkmn]=unmkpp(pp)命令可以看到樣條函數(shù)的具體信息其中coff是一個矩陣,其第iisi(x)=a0(x?xi?1)3+a1(x?xi?1)2+a2(x?xi?1)+a3fnval或ppval可以計算樣條函數(shù)在指定點的函數(shù)值3.fnder和fnint可分別計算樣條函數(shù)的導數(shù)和4.fnplt可用于繪制樣條函數(shù)的圖形method算法屬性值可以是;‘nearest最近插值‘linear線性插值(默認)‘spline’——三次樣條插值(spline)cubic’——立方插值二維函數(shù)插值的使用randn('state',2);x=-5:5;y=-5:5;[X,Y]=meshgrid(x,y);Z=-500+1.2*exp(-((X-1).^2+(Y-2).^2))-0.7*exp(-(exp(X+2).^2+(Y+1).^2));surf(X,Y,Z),view(-25,25)試由插值方式繪制海底形狀圖。xi=linspace(-5,5,50);yi=linspace(-5,5,50);[XI,YI]=meshgrid(xi,yi);ZI=interp2(X,Y,Z,XI,YI,'*cubic');surf(XI,YI,ZI)view(-25,25)-498.5-499-499.5-500-500.5-50150-498.5-499-499.5-500-500.5-501500-5-5-498.5-499-499.5-500-500.5-501500-5-5552C//求三次樣條函數(shù)插值#include<iostream>#include<iomanip>usingnamespacestd;constintMAX=50;floatx[MAX],y[MAX],h[MAX];//變量設置:x為各點橫坐標;y為各點縱坐標;h為步長floatc[MAX],a[MAX],fxym[MAX];floatf(intx1intx2intx3)/*****************求差分函數(shù)(含三個參數(shù))****************************/{floata=(y[x3]-y[x2])/(x[x3]-x[x2]);floatb=(y[x2]-y[x1])/(x[x2]-x[x1]);return(a-b)/(x[x3]-x[x1]);}voidcal_m(intn)/***********************用追趕法求解出彎矩向量M……***************************/{floatB[MAX];B[0]=c[0]/2;for(inti=1;i<n;i++)B[i]=c[i]/(2-a[i]*B[i-1]);//fxym[0]=fxym[0]/2;for(inti=1;i<=n;i++)fxym[i]=(fxym[i]-a[i]*fxym[i-1])/(2-a[i]*B[i-1]);for(inti=n-1;i>=0;i--)fxym[i]=fxym[i]-B[i]*fxym[i+1];}voidprintout(intn);intmain(){intn,i;charch;do{cin>>n;for(ido{cin>>n;for(i=0;i<=n;i++){cout<<"PleaseputinX"<<i<<':';cin>>x[i]; //cout<<endl;cout<<"PleaseputinY"<<i<<':';cin>>y[i];//cout<<endl;}for(i0;in;ix,y個數(shù)少一h[i]=x[i+1]-x[i];cout<<"Please\n1n2:兩端的二階導數(shù)已知\n邊界條件\n";intt;floatf0,f1;cin>>t;switch(t){case1:cout<<"PleaseputinY0Y"<<n<<"\'\n";//顯示數(shù)據(jù)為Y0'至Yn',即斷點的一階導數(shù)cin>>f0>>f1;c[0]=1;a[n]=1;fxym[0]=6*((y[1]-y[0])/(x[1]-x[0])-f0)/h[0];fxym[n]=6*(f1-(y[n]-y[n-1])/(x[n]-x[n-1]))/h[n-1];break;case2:cout<<"PleaseputinY0Y"<<n<<"\"\n";//顯示數(shù)據(jù)為Y0"至Yn",即斷點的二階導數(shù)cin>>f0>>f1;c[0]=a[n]=0;fxym[0]=2*f0;fxym[n]=2*f1;break;default:cout<<"不可用\n";//待定};//switchfor(i=1;i<n;i++)fxym[i6*f(i-1ii+1);//調(diào)用差分函數(shù)(only!)for(i=1;i<n;i++){a[i]=h[i-1]/(h[i]+h[i-1]);c[i]=1-a[i];}a[n]=h[n-1]/(h[n-1]+h[n]);cal_m(n);//調(diào)用彎矩函數(shù)(only?。┹敵鋈螛訔l函數(shù)插值:\n";printout(n);//調(diào)用求解三次樣條函數(shù)插值;函數(shù)輸出cout<<"Doyoucal_m(n);//調(diào)用彎矩函數(shù)(only?。┹敵鋈螛訔l函數(shù)插值:\n";printout(n);//調(diào)用求解三次樣條函數(shù)插值;函數(shù)輸出cout<<"Doyoutohaveanthertry?y/n:";cin>>ch;}while(ch=='y'||ch=='Y');return0;}voidprintout(intn)/***************求三次樣條函數(shù)插值(因已知斷點個數(shù)而異)***********************/{setprecision()設置有效位數(shù);其為頭文件<iomanip.h>所包含;括號內(nèi)為參數(shù)。for(inti0;in;i++)//所輸出函數(shù)個數(shù)由所設斷點個數(shù)而定{cout<<i+1<<":["<<x[i]<<","<<x[i+1]<<"]\n"<<"\t";floatt=fxym[i]/(6*h[i]);if(t>0)cout<<t<<"*("<<x[i+1]<<"-x)^3";elsecout<<-t<<"*(x-"<<x[i+1]<<")^3";t=fxym[i+1]/(6*h[i]);if(t>0)cout<<"+"<<t<<"*(x-"<<x[i]<<")^3";elsecout<<"-"<<-t<<"*(x-"<<x[i]<<")^3";cout<<"\n\t";t=(y[i]-fxym[i]*h[i]*h[i]/6)/h[i];if(t>0)cout<<"+"<<t<<"*("<<x[i+1]<<"-x)";elsecout<<"-"<<-t<<"*("<<x[i+1]<<"-x)";t=(y[i+1]-fxym[i+1]*h[i]*h[i]/6)/h[i];if(t>0)cout<<"+"<<t<<"*(x-"<<x[i]<<")";elsecout<<"-"<<-t<<"*(x-"<<x[i]<<")";cout<<endl<<endl;}cout<<endl;}/****************提供測試數(shù)據(jù):(來自327.7 4.1頁例《數(shù)值分析》28293013.0-4.0*//*輸出}/****************提供測試數(shù)據(jù):(來自327.7 4.1頁例《數(shù)值分析》28293013.0-4.0*//*輸出1:[27.728]13.07*(x-28)^3+0.22*(x-27.7)^3+14.84*(28-x)+14.31*(x-27.7)2:[28,29]0.066*(29-x)^3+0.1383*(x-28)^3+4.234*(29-x)+3.962*(x-28)3:[29,30]0.1383*(30-x)^3-1.519*(x-29)^3+3.962*(30-x)+4.519*(x-29)*//*利用三次樣條插值法求曲線在某個點處的函數(shù)值(本題用第二個邊界條件)*/#include<stdio.h>#include<math.h>#defineN11voidmain(){//N表示節(jié)點的個數(shù)y[N]={0,57,78,103,135,182,214,244,256,272,275},h[N],a[N],b[N],A[N],B[N],m[N],s[37],xx[37//s[N]表示曲線,其中數(shù)組xx[N]表示自變量x[k]inti,k;h[0]=x[1]-x[0];a[0]=1;//初始化h0,a0,b0,A0,B0b[0]=3*(y[1]-y[0])/h[0];A[0]=-a[0]/2;B[0]=h[0]=x[1]-x[0];a[0]=1;//初始化h0,a0,b0,A0,B0b[0]=3*(y[1]-y[0])/h[0];A[0]=-a[0]/2;B[0]=b[0]/2;for(i=0;i<N;i++)h[i]=x[i+1]-x[i];//求hifor(i=1;i<N-1;i++) a[i]=h[i-1]/(h[i-1]+h[i]);b[i]=3*((1-a[i])*(y[i]-y[i-1])/h[i-1]+a[i]*(y[i+1]-y[i])/h[i]);}for(i=1;i<N-1;i++)Ai,BiA[i]=-a[i]/(2+(1-a[i])*A[i-1]);B[i]=(b[i]-(1-a[i])*B[i-1])/(2+(1-a[i])*A[i-1]);}m[N-1]=(b[N-1]-(1-a[N-1])*B[N-2])/(2+(1-a[N-1])*A[N-2]);//求Mn的值for(i=N-2;i>=0;i--)//求m0,m1, mn-1的值m[i]=A[i]*m[i+1]+B[i];for(k=1;k<=36;k x[k]處的函數(shù)值xx[k]50*k;for(i=0;i<N;i++)//找出x[k]所在的區(qū)間if(xx[k]>=x[i]&&xx[k]<=x[i+1])//s[k]即為x[k]所在區(qū)間的三次樣條函數(shù)插值,以下即為求在x[k]處的函數(shù)值s[k1+2*(xx[k]-x[i])/(x[i+1]-x[i]))*pow((xx[k]-x[i+1])/(x[i]-x[i+1]),2)*y[i(1+2*(xx[k]-x[i+1])/(x[i]-x[i+1]))*pow((xx[k]-x[i])/(x[i+1]-x[i]),2)*y[i+1]+(xx[k]-x[i])*pow((xx[k]-x[i+1])/(x[i]-x[i+1]),2)*m[i]+(xx[k]-x[i+1])*pow((xx[k]-x[i])/(x[i+1]-x[i]),2)*m[i+1];}printf("所求的外形曲線在x[k]=50*k(k=1,2,...,36)處的函數(shù)值分別為:\n");for(k=1;k<=36;k++)//輸出在x[k]處的函數(shù)值printf("s(%4d)=%13.8f\n",50*k,s[k]);printf("\n");的值分別為:\n");for(i=0;i<N;i++)printf("m(%2d)=%8f\n",i,m[i]);printf("\n");}//程序代碼實現(xiàn)2:#include<iomanip>//程序代碼實現(xiàn)2:#include<iomanip>#include<math.h>usingnamespacestd;#definen4//三次樣條插值分段數(shù)=數(shù)據(jù)的組數(shù)減一voidchase(doublea[n-1][n-1],doublef[n-1],doublem[n+1]){//三對角陣的Crout分解doubleL[n-1][n-1];doubleU[n-1][n-1];doubley[n-1];doublex[n-1];intt,r=0;for(inti=0;i<n-1;i++){for(intj=0;j<n-1;j++){L[i][j]=U[i][j]=0;}}for(inti=0;i<n-1;i++)//判斷是否符合Crout分解定理{if(i==0){if(a[i][i]==0||a[i][i+1]==0){cout<<"a["<<n-1<<"]["<<n-1<<"]可約"<<endl;break;}if(fabs(a[i][i])<=fabs(a[i][i+1])){cout<<"a["<<n-1<<"]["<<n-1<<"]強超"<<endl;break;}}elseif(i==n-1-1){if(a[i][i]==0||a[i][i-1]==0){cout<<"a["<<n-1<<"]["<<n-1<<"]可約"<<endl;break;}if(fabs(a[i][i])<=fabs(a[i][i-1])){cout<<"a["<<n-1<<"]["<<n-1<<"]強超"<<endl;{if(a[i][i]==0||a[i][i-1]==0){cout<<"a["<<n-1<<"]["<<n-1<<"]可約"<<endl;break;}if(fabs(a[i][i])<=fabs(a[i][i-1])){cout<<"a["<<n-1<<"]["<<n-1<<"]強超"<<endl;break;}}else{if(a[i][i]==0||a[i][i-1]==0||a[i][i+1]==0){cout<<"a["<<n-1<<"]["<<n-1<<"]可約"<<endl;break;}if(fabs(a[i][i])<fabs(a[i][i-1])+fabs(a[i][i+1])){cout<<"a["<<n-1<<"]["<<n-1<<"]強超"<<endl;break;}}t=i;}if(t==n-1-1){endl;inti=0;for(inti=0;i<n-1;i++){if(i==0){L[i][i]=a[i][i];U[i][i]=1;continue;}if(i==n-1-1){L[i][i-1]=L[i][i]=a[i][i]-a[i][i-1]*U[i-1][i];U[i][i]=1;}else{L[i][i-1]=L[i][i]=a[i][i]-a[i][i-1]*U[i-1][i];U[i][i]=1;}}L[i][i-1]=L[i][i]=a[i][i]-a[i][i-1]*U[i-1][i];U[i][i]=1;}else{L[i][i-1]=L[i][i]=a[i][i]-a[i][i-1]*U[i-1][i];U[i][i]=1;}}L為:"<<endl;for(inti=0;i<n-1;i++){for(intj=0;j<n-1;j++){cout<<setw(10)<<L[i][j];//設定輸出寬度}cout<<endl;}U為:"<<endl;for(inti=0;i<n-1;i++){for(intj=0;j<n-1;j++){cout<<setw(10)<<U[i][j];}cout<<endl;}y[0]=f[0]/a[0][0]; //解下三角方程組for(inti=1;i<n-1;i++){y[i]=(f[i]-a[i][i-1]*y[i-1])/L[i][i];}x[i-1]=y[i-1];//解上三角方程組for(inti=n-1-2;i>=0;i--){x[i]=y[i]-U[i][i+1]*x[i+1];}for(inti=0;i<n-1;i++){m[i+1]=x[i];}}}voidmain(){double}}voidmain(){doublex[n+1]={0.25,0.30,0.39,0.45,0.53};doubledy0=1,dyn=0.6868;doubleh_i[n];doublew[n-1];doublev[n-1];doubled[n-1];doubleA[n-1][n-1];doubleb[n-1];doublem[(n-1)+2];inti,j;for(i=0;i<n-1;i++){b[i]=0;for(j=0;j<n-1;j++){if(i==j){A[i][i]=2;}else{A[i][j]=0;}}}//有n+1個單元<endl;cout<<"插值數(shù)據(jù):"<<endl<<setw(8)<<"xi";for(i=0;i<n+1;i++){cout<<setw(8)<<x[i];}for(i=0;i<n+1;i++){cout<<setw(8)<<y[i];}for(i=0;i<n;i++){h_i[i]=x[i+1]-x[i];}for(i=0;i<n-1;i++){w[i]=h_i[i+1]/(h_i[i]+h_i[i+1]);//miu{h_i[i]=x[i+1]-x[i];}for(i=0;i<n-1;i++){w[i]=h_i[i+1]/(h_i[i]+h_i[i+1]);//miuv[i]=h_i[i]/(h_i[i]+h_i[i+1]);//namdad[i]=3*(w[i]*(y[i+1]-y[i])/h_i[i]+v[i]*(y[i+2]-y[i+1])/h_i[i+1]);}for(i=0;i<n-2;i++){A[i][i+1]=v[i];A[i+1][i]=w[i+1];}for(i=0;i<n-1;i++){b[i]=d[i];if(i==0){b[i]-=w[i]*dy0;}elseif(i==n-2){b[i]-=v[i]*dyn;}}endl<<"A="<<endl;;for(i=0;i<n-1;i++){for(j=0;j<n-1;j++){cout<<setw(10)<<A[i][j];}cout<<endl;}for(i=0;i<n-1;i++){cout<<setw(10)<<b[i];}chase(A,b,m);<endl;for(i=1;i<n;i++){cout<<setw(10)<<"m"<<i<<"="<<m[i]<<endl;}m[0]=dy0;m[n]=dyn;/*for(i=0;i<n+1;i++){cout<<setw(10)<<"m"<<i<<"="<<m[i]<<endl;<endl;for(i=1;i<n;i++){cout<<setw(10)<<"m"<<i<<"="<<m[i]<<endl;}m[0]=dy0;m[n]=dyn;/*for(i=0;i<n+1;i++){cout<<setw(10)<<"m"<<i<<"="<<m[i]<<endl;}*/doubles=0;//分段函數(shù)系數(shù)///具有局限性,分多少段就定義多少個變量doubless[4][n];//第i+1行為-i次方次數(shù),i=0,1,2,3doublexx;intflag=0,tap;charans;//yornfor(i=0;i<n;i++){ss[0][i]=2*(y[i]-y[i+1])/pow((x[i+1]-x[i]),3)+(m[i]+m[i+1])/pow((x[i+1]-x[i]),2);ss[1][i]=3*(x[i+1]+x[i])*(y[i]-y[i+1])/pow((x[i]-x[i+1]),3)-((2*x[i+1]+x[i])*m[i]+(2*x[i]+x[i+1])*m[i+1])/pow((x[i+1]-x[i]),2);(pow(x[i],2)+2*x[i]*x[i+1])*m[i+1])/pow((x[i+1]-x[i]),2);ss[3][i]=(pow(x[i+1],2)*(x[i+1]-3*x[i])*y[i]-pow(x[i],2)*(x[i]-3*x[i+1])*y[i+1])/pow((x[i+1]-x[i]),3)-x[i+1]*x[i]*(x[i+1]*m[i]+x[i]*m[i+1])/pow((x[i]-x[i+1]),2);}<endl;cout<<"s(x)="<<endl;for(i=0;i<n;i++){cout<<"s"<<i+1<<"(x)="<<ss[0][i]<<"x^3";cout.setf(ios::showpos);//強迫顯示正負號cout<<resetiosflags(ios::showpos);//除去正負號格式cout<<"x<-["<<x[i]<<","<<x[i+1]<<"]"<<endl;}loop:cout<<"請輸入x屬于"<<"["<<x[0]<<","<<x[n]<<"]"<<",并在x上插值:"<<endl;cin>>xx;////////////////////////////////////////////////////////////////////////////////注意輸入這個數(shù)據(jù)時不能是字母if({[0]||[n])flag=0;//xx不在定義域內(nèi)}for(i=1;i<n+1;i++){if(xx<=x[i]){flag=0;//xx不在定義域內(nèi)}for(i=1;i<n+1;i++){if(xx<=x[i]){tap=i;break;}}if(flag==1){tap<<"個方程:"<<endl;for(i=0;i<4;i++){s+=ss[i][tap-1]*pow(xx,3-i);//ss[4][n]}s=0;flag=0;}y,否則輸入任意鍵結束:"<<endl;cin>>ans;//字母或數(shù)字都可以if(ans==121||ans==89){gotoloop;}}3線性分段插值代碼實現(xiàn)/*拉格朗日和牛頓插值算法實現(xiàn)*/#include<stdlib.h>#include<iostream>usingnamespacestd;typedefstrUCtdata{floatx;floaty;x和函數(shù)值y的結構Datad[20];//最多二十組數(shù)據(jù)floatf(ints,intt)//牛頓插值法,用以返回插商{if(t==s+1)return(d[t].y-d[s].y)/(d[t].x-d[s].x);else{if(t==s+1)return(d[t].y-d[s].y)/(d[t].x-d[s].x);elsereturn(f(s+1,t)-f(s,t-1))/(d[t].x-d[s].x);}floatNewton(floatx,intcount){intn;while(1){n值(即n次插值):";//獲得插值次數(shù)cin>>n;if(n<=count-1count-次break;elsesystem("cls");}t,y,yt。floatt=1.0;floaty=d[0].y;floatyt=0.0;//計算y值for(intj=1;j<=n;j++){t=(x-d[j-1].x)*t;yt=f(0,j)*t;y=y+yt;}returny;}floatlagrange(floatx,intcount){floaty=0.0;for(intk=0;k<count;k++)//這兒默認為count-次插值{floatp=1.0;//初始化pfor(intj=0;j<count;j++){//計算p的值p=p*(x-d[j].x)/(d[k].x-d[j].x);}y=y+p*d[k].y;//求和}returny;//返回y的值}voidmain(){floatx,y;}y=y+p*d[k].y;//求和}returny;//返回y的值}voidmain(){floatx,y;while(1){x[i],y[i]的組數(shù),不得超過組:";//要求用戶輸入數(shù)據(jù)組數(shù)cin>>count;if(count<=20)system("cls");}//獲得各組數(shù)據(jù)for(inti=0;i<count;i++){i+1<<"組x的值:";cin>>d[i].x;i+1<<"組y的值:";cin>>d[i].y;system("cls");}x的值:";//獲得變量x的值cin>>x;while(1){intchoice=3;cout<<"請您選擇使用哪種插值法計算:"<<endl;(0):"<<endl;(2):Newton"<<endl;cout<<"輸入你的選擇:";if(choice==2){}if(choice==1){cout<<"你選擇了拉格朗日插值計算方法,其結果為:";y=lagrange(x,count);break;//調(diào)用相應的處理函數(shù)}break;system("cls");cout<<"輸入錯誤!!!!"<<endl;}cout<<x<<" ,"<<y<<endl;//輸出最終結果}/*if(choice==1){cout<<"你選擇了拉格朗日插值計算方法,其結果為:";y=lagrange(x,count);break;//調(diào)用相應的處理函數(shù)}break;system("cls");cout<<"輸入錯誤!!!!"<<endl;}cout<<x<<" ,"<<y<<endl;//輸出最終結果}/*牛頓插值算法實現(xiàn)*//*程序測試:輸入:x=6插值節(jié)點組數(shù)4021-12433176*/#include<iostream>usingnamespacestd;intmain(){g[100],a[100],y[100],Newton;doublex;intk,i,j,n;doublet=1.0;x的值:"<<endl;cin>>x;<endl;cin>>n;cout<<"請輸入插值節(jié)點序列(輸出格式:x[1]y[1]x[2]y[2] )"<<endl;for(i=0;i<n;i{cin>>a[i]>>y[i];g[i]=y[i];}for(k=1;k<=n;kfor(j=n;j>=k;jg[j]=(g[j]-g[j-1])/(a[j]-a[j-k]);//for(I=1;I<=N;I++)//for(J=1;J<=I;J++)//Q[I][J]=(Q[I][J-1]-Q[I-1][J-1])/(X[I]-X[I-J]);Newton=g[0];for(i=1;i<n;i{t=t*(x-a[i-1]);{cin>>a[i]>>y[i];g[i]=y[i];}for(k=1;k<=n;kfor(j=n;j>=k;jg[j]=(g[j]-g[j-1])/(a[j]-a[j-k]);//for(I=1;I<=N;I++)//for(J=1;J<=I;J++)//Q[I][J]=(Q[I][J-1]-Q[I-1][J-1])/(X[I]-X[I-J]);Newton=g[0];for(i=1;i<n;i{t=t*(x-a[i-1]);}Newton<<endl;return0;}3.46.3】水供應問題(1991A)一.問題的提出與背景某些州的用水管理機構需估計公眾的用水速度(:G/h)和每天總用水量。許多供水由于沒有測量流入或流出流量的設備,而只能測量中的水位(誤差不超過5%)。當水位低于最低水位L時,水泵開始工作將水灌入 因此,在水泵工作時無法立即將中的水位和水量1~2次,每次約兩小時。試估計在任一時刻(包括水泵灌水期間)t流出的流量f(t,并估計一天的總用水量。容積G(加侖,1G=3.785L)。2】,35.5E時,水泵停止工作。某6.4。6.4某某一天的真實用水數(shù)據(jù)二.問題分析與建立模型假設1.影響流量的惟一因素是該區(qū)公眾對水的普通要求,表6.4中數(shù)據(jù)反映該鎮(zhèn)在通常情況下一天的用水量(不包括任何非常情況,水位高度、大氣情況、溫度變化等物理因素對水的流速均無影響)。2水泵的灌水速度為常數(shù)。3中中流出水的最大流速小于水泵的灌水速度(不讓中的水用盡)。公眾對水的消耗量以全天的活動為基礎,可以認為每天的用水量分布均相似。的水流速度可用光滑曲線來近似。V-水的容積Vi-時刻ti(h)水的容積f(t-流出的水的流速(二.問題分析與建立模型假設1.影響流量的惟一因素是該區(qū)公眾對水的普通要求,表6.4中數(shù)據(jù)反映該鎮(zhèn)在通常情況下一天的用水量(不包括任何非常情況,水位高度、大氣情況、溫度變化等物理因素對水的流速均無影響)。2水泵的灌水速度為常數(shù)。3中中流出水的最大流速小于水泵的灌水速度(不讓中的水用盡)。公眾對水的消耗量以全天的活動為基礎,可以認為每天的用水量分布均相似。的水流速度可用光滑曲線來近似。V-水的容積Vi-時刻ti(h)水的容積f(t-流出的水的流速(G/h)p-水泵的灌水速度(G/h)6.4中數(shù)據(jù)的變換為:時間:h水量:Vr2h,6.5:103G6.5變換結果時間/h水量(103G) 時間/h 水量(103G)00.9211111.843062.949723.871394.97806606.098 12.9544 639.505593.69 13.8758 622.324583 14.9822 604.571571.546 15.9039 589.299562.574 16.8261 574.982552.074 17.9317 558.756時間/s水位/102E 時間/s 水位/102E03316663510619139371792121240252022854332284359323933239435433183175 46636 33503110 49953 32603054 53936 31672994 57254 30872947 60574 30122892 64554 29272850 68535 28422795 71854 27672752 75021 26972697 79254 水泵工作水泵工作 82649 水泵工作水泵工作 85968 34753550 89953 33973445 93270 3340ti1ti為求函數(shù)f(t,先求相鄰時間區(qū)間的中點ti2vi1viti1ti為求函數(shù)f(t,先求相鄰時間區(qū)間的中點ti2vi1vi及在時間區(qū)間內(nèi)中流出的水的平均速度vit ti1 i6.66.6平均水流量表三.計算過程tt0={0,3316,6635,10619,13937,17921,21240,25202,28543,32284,35932,39332,39435,43318,46636,49953,53936,57254,60574,64554,68535,71854,75021,79254,82649,85968,89953,93270};MatrixForm[%];vv0={3175,3110,3054,2994,2947,2892,2850,2795,2752,2697,0,0,3550,3445,3350,3260,3167,3087,3012,2927,2842,2767,2697,0,0,3475,3397,3340};MatrixForm[%]ti平均水流量(G/h t 平均水流量(G/h)) i0.4605551.382092.396393.410554.424735.439036.453197.46758.448199.4744410.453410.939911.493512.493613470.7 13.4151 18646.611595. 14.429 16045.710350.1 15.4431 16569.49734.5 16.365 15524.89487.92 17.3789 14676.28695.79 18.4846 14674.49490.32 19.4984 15529.98900.26 20.3993 15188.710104.2 21.4271 無數(shù)據(jù)無數(shù)據(jù) 22.4866 無數(shù)據(jù)無數(shù)據(jù) 23.419 無數(shù)據(jù)無數(shù)據(jù) 24.4334 13452.18584.3 25.4476 11809.219606397.928618.967789.9811110.925610.954212.0328544.057 19.0375 542.529533.557 19.9594 528.212525.349 20.8392 514.849514.849 22.015 水泵工作水泵工作 22.9581 水泵工作水泵工作 23.88 663.367677.685 24.9869 648.477657.64 25.9083 637.596MatrixForm[%];MatrixForm[%];LL2=Table[{tt2[[k]],vv2[[k]]},{k,1,27}];g1=ListPlot[LL2,Prolog->AbsolutePointSize[10]];tv的散點圖*/ft=Fit[LL2,Table[t^k,{k,0,8}],t]g2=Plot[ft,{t,0,26}]Show[g1,g2]/MatrixForm[%];MatrixForm[%];LL2=Table[{tt2[[k]],vv2[[k]]},{k,1,27}];g1=ListPlot[LL2,Prolog->AbsolutePointSize[10]];tv的散點圖*/ft=Fit[LL2,Table[t^k,{k,0,8}],t]g2=Plot[ft,{t,0,26}]Show[g1,g2]/*求出擬合曲線并觀察擬合效果*/Integrate[ft,{t,0.460556,24.460556}]//N /*一天內(nèi)用水總量近似等于*/tv6.1。6.1tv的散點圖求出擬合曲線并觀察擬合效果14217.2-1881.35t-144.448t2+217.299 0.379256t3-t6+0.0109854t7-0.000123258t86.2擬合曲線并觀察擬合效果由圖可見,將t10.460556小時和t224.460556小入f(t得f(t1)13339,f(t2)f(t1)13339,f(t2)10933.3f(t2)f(t1)2395.3一天內(nèi)用水總量近似等于24.460556Qf(t)dt=2750060.460556若按常規(guī)每四.結果分析100000G/h2780人。函數(shù)逼近是數(shù)學中的經(jīng)典課題,更是數(shù)值分析中最重要的課題之一,它與數(shù)學中的其它分支有十分密切的,是計算數(shù)學的基礎。二、《函數(shù)插值》方法用哪好?1.《函數(shù)插值》方法在我所學專業(yè)(計算機科學與技術專業(yè))的應用2.《函數(shù)插值》方法在我了解的其他領域的應用一、樣條插值用于字體的設計二、辛克函數(shù)在圖像縮放器中的應用CT六圖像插值技術的研究及在醫(yī)學體數(shù)據(jù)場可視化中的應用九三次樣條函數(shù)插值解決了水庫調(diào)度和風洞實驗中的一些實際問題針對計算機生成圖像和拼接圖像 ,提出一種基于網(wǎng)函數(shù)插值法的數(shù)字圖像盲檢測算法.該算法首先利用Coons型分形曲面片對待檢測圖像進行 .然后計算待檢測圖像和 圖像之間的差異,并提取待檢測圖像、 圖像及其差值的統(tǒng)計特征.最后,根據(jù)這些特征利用支持向量機判定待檢測圖像是否為自然圖像.實驗結果表明:與基于高階統(tǒng)計特征
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技賦能如何利用現(xiàn)代技術進行學生體質(zhì)測試數(shù)據(jù)分析
- 二零二五年度生態(tài)旅游區(qū)承包經(jīng)營合同3篇
- 深圳廣東深圳市福田區(qū)審計局選用勞務派遣人員筆試歷年參考題庫附帶答案詳解
- 無錫2025年江蘇無錫市教育局直屬單位選聘事業(yè)單位工作人員筆試歷年參考題庫附帶答案詳解
- 2025年滬教版七年級生物上冊階段測試試卷含答案
- 2025年牛津譯林版九年級地理下冊月考試卷
- 二零二五年度新能源項目融資擔保服務合同集錦3篇
- 二零二五年度誠意金擔保及解除合同4篇
- 2025年蘇教新版九年級歷史上冊階段測試試卷含答案
- 2025年度個人公寓抵押借款合同范例2篇
- 定額〔2025〕1號文-關于發(fā)布2018版電力建設工程概預算定額2024年度價格水平調(diào)整的通知
- 2024年城市軌道交通設備維保及安全檢查合同3篇
- 電力溝施工組織設計-電纜溝
- 單位往個人轉(zhuǎn)賬的合同(2篇)
- 科研倫理審查與違規(guī)處理考核試卷
- GB/T 44101-2024中國式摔跤課程學生運動能力測評規(guī)范
- 鍋爐本體安裝單位工程驗收表格
- 一種基于STM32的智能門鎖系統(tǒng)的設計-畢業(yè)論文
- 高危妊娠的評估和護理
- 妊娠合并強直性脊柱炎的護理查房
- 2024年山東鐵投集團招聘筆試參考題庫含答案解析
評論
0/150
提交評論