首頁 > 其他

matlab一維插值(interp1)四種方法的比較

2019-12-24 16:02:48

matlab中的一維插值函數為interp1,該函數主要有四種插值方式,線性插值Linear、最鄰近插值Nearest、三次樣條插值Spline和立方插值PCHIP,哪一種插值方式比較好呢?下面一起來看看matlab一維插值(interp1)四種方法的比較吧。


1

在命令列輸入一維插值的一個範例,具體程式碼如下圖所示,首先使用線性插值方法Linear,本範例對餘弦函數值進行插值


2

線性插值的執行結果如下圖所示,綠色為原函數值點,紅色為插值後的點,插值的效果還是可以的,影象比較不平滑


3

最鄰近插值Nearest:把interp1函數中的Linear換為Nearest,即可實現最鄰近插值,程式碼如下圖所示。


4

點選確認鍵,執行結果如下圖所示,可以看到最鄰近插值的效果不太好,結果不準確,不能反映出餘弦函數的特徵


5

三次樣條插值Spline:把interp1函數中的Nearest換為三次樣條插值Spline,即可實現三次樣條插值,程式碼如下圖所示。


6

三次樣條插值的執行結果如下圖所示,執行速度慢,精度高,影象平滑,整體效果還是很好的。


7

立方插值PCHIP:把interp1函數中的Spline換為PCHIP,即可實現立方插值,程式碼如下圖所示。


8

立方插值的執行結果如下圖所示,執行速度較慢,插值結果的精度比較高,影象也更加平滑



IT145.com E-mail:sddin#qq.com