资源描述:
《程式设计进阶篇内插法ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、9-1一維內插法一維內插(1-DInterpolation)根據一組已知的資料點(包含輸入及輸出,其中輸入是一維資料,輸出也是一維資料)建立一個連續的函數算出任意輸入資料點所對應的輸出值一維內插的方法很多,MATLAB提供了兩種基本方法:基於多項式的內插法基於FFT(FastFourierTransform,快速傅立葉轉換)的內插法一維內插範例-1(I)interp1指令,其原理是利用多項式來進行內插運算使用語法為yi=interp1(x,y,xi,method)向量x是資料點的x座標(輸入值)向量y是資料點的y座標(輸出值)向量xi是內插點
2、(輸入值,未知其對應輸出值)字串method則指定使用的方法‘nearest’:鄰近點內插法‘linear’:線性內插法‘spline’:片段式的三次Spline內插法‘pchip’:保持形狀的片段式三次內插‘cubic’:和‘pchip’一樣'v5cubic':MATLAB5所用的三次內插法一維內插範例-1(II)範例9-1:interp101.mx=0:1:4*pi;y=sin(x).*exp(-x/5);xi=0:0.1:4*pi;y1=interp1(x,y,xi,'nearest');y2=interp1(x,y,xi,'linea
3、r');y3=interp1(x,y,xi,'spline');y4=interp1(x,y,xi,'cubic');plot(x,y,'o',xi,y1,'g-',xi,y2,'r:',xi,y3,'k-.',xi,y4,'b--');legend('Original','Nearest','Linear','Spline','Cubic');一維內插範例-1(III)由圖可看出,Spline和Cubic所產生的曲線較平滑,但它們所需的計算時間也較久四種內插法比較表NearestLinearCubicCubicSpline執行時間1(短)2
4、34(長)曲線平滑度1(差)234(好)記憶體使用量1(少)24(多)3提示使用interp1指令向量x必須是嚴格遞增或遞減元素之間不必是等間隔xi的範圍必須落在x的範圍之內如果xi的範圍在x的範圍之外,可以使用yi=interp1(x,y,xi,method,‘extrap’)的方式來進行外插(Extrapolation),以求得在範圍外的xi元素所對應的yi值一維內插範例-1(IV)可以讓使用者拖放取樣點,內插曲線就會跟著改變範例interpAnim01.m使用者可以在上述圖形視窗中,拖放每一個取樣點,就可以立刻看到內插曲線的變化,也同時
5、可以知道各種內插方法的特性一維內插範例-2(I)interpft指令,可進行基於FFT(FastFourierTransform,快速傅立葉轉換)的內插法先計算資料點的傅立葉轉換,再用更密集的內插點來進行反傅立葉轉換使用語法為y=interpft(yi,n)向量yi是一個經由等距取點的函數值n則是等距取點的內插點數一維內插範例-2(II)範例9-2:interpft01.mx=linspace(0,2*pi,11);y=sin(x).*exp(-x/5);xi=linspace(0,2*pi,21);yi=interpft(y,21);plo
6、t(x,y,'o',xi,yi);legend('Original','Curvebyinterpft')一維內插範例-2(III)內插曲線必須通過每一個已知的取樣點迴歸曲線則不需要通過取樣點內插法適用於雜訊很少的取樣資料一維內插範例-3(I)根據平面上有限資料點,來描繪出一個物體的外型,可使用一維內插,此時內插資料點會變成兩組X座標對其索引(Index,或稱指標)的內插Y座標對其索引(Index,或稱指標)的內插一維內插範例-3(II)七個資料點,散佈在二度空間,我們可以使用interp1的spline方法,來畫出連續平滑的圖形範例9-3:
7、interp102.mx=[0243121];y=[4114520];index=1:length(x);index2=linspace(1,length(x),101);x2=interp1(index,x,index2,'spline');y2=interp1(index,y,index2,'spline');plot(x,y,'o',x2,y2,'-');legend('Origianldata','Interpolateddata');一維內插範例-3(III)原有的資料七點,使用一維內插後就可以產生平滑連續的圖形在電腦圖學(Comp
8、uterGraphics)中最常見的做法以少數控制點(ControlPoints)來代表一個物件,然後再使用內插來產生整個物件的細緻圖形一維內插範例-4(I)選用不