注:本文面向應(yīng)用,參考了清風(fēng)大大的資料以及司守奎老師的《數(shù)學(xué)建模算法與應(yīng)用》,屬作者的個(gè)人學(xué)習(xí)總結(jié)。
一.算法應(yīng)用背景
當(dāng)已知函數(shù)點(diǎn)非常少的時(shí)候,我們經(jīng)常要模擬產(chǎn)生一些新的函數(shù)值來(lái)支撐后續(xù)數(shù)據(jù)分析。這就是插值算法的應(yīng)用目的。*插值算法還可以用來(lái)實(shí)現(xiàn)短期預(yù)測(cè),但我們往往使用擬合算法以及時(shí)間序列算法來(lái)實(shí)現(xiàn)預(yù)測(cè)。
二.插值問(wèn)題的分類(lèi)
插值問(wèn)題一般分為一維插值問(wèn)題和多維插值問(wèn)題。
三.插值法
(一)數(shù)學(xué)定義
設(shè)函數(shù)f(x)在區(qū)間[a,b]上有定義,且已知在點(diǎn)a≤x0<x1<x2<······<xn≤b上的值分別為y0,y1,y2······,yn,若存在一簡(jiǎn)單函數(shù)P(xi)=yi(i=0,1,2···,n),則稱(chēng)P(x)是f(x)的插值函數(shù),點(diǎn)x0,x1,x2···,xn稱(chēng)為插值節(jié)點(diǎn),包含插值節(jié)點(diǎn)的區(qū)間[a,b]稱(chēng)為插值區(qū)間。而求P(x)的方法被稱(chēng)為插值法。*這里我們僅僅介紹簡(jiǎn)單概念,對(duì)推導(dǎo)過(guò)程不作說(shuō)明。感興趣請(qǐng)參考《數(shù)值計(jì)算方法》課程。
(二)分類(lèi)
1分段插值:P(x)為分段多項(xiàng)式的插值方法;
2插值多項(xiàng)式:P(x)是次數(shù)不超過(guò)n的代數(shù)多項(xiàng)式的插值方法,也就是:
3三角插值:需要結(jié)合傅里葉變換,因此不常用。*非數(shù)學(xué)專(zhuān)業(yè)想學(xué)習(xí)傅里葉變換(主要是電子,電氣,通信類(lèi))可以參考華中科技大學(xué)李紅老師主講的《復(fù)變函數(shù)與積分變換》,文末附有鏈接。
(三)建模中常用的插值方法
實(shí)際上會(huì)用到:拉格朗日插值法、牛頓插值法、分段三次埃爾米特插值法以及三次埃爾米特插值法等。前兩種都存在龍格現(xiàn)象,而且并不可以全面呈現(xiàn)被插值函數(shù)的性態(tài),因此不做介紹。(當(dāng)然也是因?yàn)槲夜Φ撞粔?,后期有機(jī)會(huì)細(xì)學(xué)的話再來(lái)介紹這部分內(nèi)容)
1.分段三次埃爾米特插值法
2.三次樣條插值
(四)基于分段三次埃爾米特插值法和三次樣條插值法的matlab實(shí)現(xiàn)
1.一維角度
我們通過(guò)繪制y =?在[0,+2pi]上的插值來(lái)做練習(xí)。
% 分段三次埃爾米特插值pchip(x,y,new_x),x是已知的原樣本點(diǎn)的橫坐標(biāo),y是對(duì)應(yīng)的縱坐標(biāo)。new_x是指所插入的橫坐標(biāo),p指對(duì)應(yīng)的所插入點(diǎn)的縱坐標(biāo)。
% 三次樣條插值spline(x,y,new_x)
% legend(str1,str2,···),把str1,str2,······標(biāo)注到圖中
clear;clc
x = 0:1:2*pi;
y = sin(x);
new_x = 0:0.01:2*pi;
p1 = pchip(x,y,new_x);
p2 = spline(x,y,new_x);
figure;
plot(x,y,':*m')
figure;
plot(new_x,p1,':*b')
結(jié)果:



2.多維角度
先來(lái)一個(gè)簡(jiǎn)單點(diǎn)的:
% p1 = interpn(x1,x2,...xn,y,new_x1,new_x2...,new_xn,method)
% x1,x2,...xn是指原先樣本點(diǎn)的橫坐標(biāo),y是已知樣本點(diǎn)的縱坐標(biāo);
% new_x1,new_x2...,new_xn則是指所插入的點(diǎn)的橫坐標(biāo);
% method是要插值的方法,通常包括:'linear':線性插值
% 'cubic':三次插值
% 'spline':三次樣條插值
% 'nearest':最鄰近插值算法
clear;clc
x = -5:1:5;
y = x;
new_x = -5:0.5:5
p1 = interpn(x,y,new_x,'pchip'); %三次埃爾米特插值
figure;
plot(x,y,'*:')
figure;
plot(new_x,p1,'*:')
補(bǔ)充說(shuō)明:1.為什么出現(xiàn)P(x)是次數(shù)不超過(guò)n的代數(shù)多項(xiàng)式?
答:對(duì)插值多項(xiàng)式而言,并非n越大誤差越小。在高次插值過(guò)程中,會(huì)發(fā)生Runge(龍格現(xiàn)象):兩端處波動(dòng)極大,產(chǎn)生明顯震蕩。因此在不熟悉曲線運(yùn)動(dòng)趨勢(shì)的前提下,不建議使用高次插值。
2.數(shù)學(xué)推導(dǎo)在哪里看?
幾種插值算法對(duì)比_插值方式最優(yōu)越的是-CSDN博客
線性插值、拋物插值、Lagrange插值 | Lagrange拉格朗日插值法(一)-CSDN博客
我一個(gè)學(xué)工科的,行行好別太為難我,請(qǐng)參考這兩篇文章(反正我這個(gè)小趴菜做不出厲害的數(shù)學(xué)推導(dǎo)哈哈哈哈)
行至文末,感謝看完我這個(gè)小水貨的文章。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-821100.html
復(fù)變函數(shù)與積分變換 56集 李紅 華中科技大學(xué)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-821100.html
到了這里,關(guān)于數(shù)學(xué)建模之插值算法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!