matlab求插值多項(xiàng)式 如何用MATLAB求出插值后的具體函數(shù)?
如何用MATLAB求出插值后的具體函數(shù)?樣條函數(shù)插值。對(duì)于此方法,命令interp1調(diào)用函數(shù)spline、ppval、mkpp、umkpp。這些命令為分段多項(xiàng)式運(yùn)算生成一系列函數(shù)。命令spline使用
如何用MATLAB求出插值后的具體函數(shù)?
樣條函數(shù)插值。對(duì)于此方法,命令interp1調(diào)用函數(shù)spline、ppval、mkpp、umkpp。這些命令為分段多項(xiàng)式運(yùn)算生成一系列函數(shù)。命令spline使用它們執(zhí)行三次樣條插值;
y=樣條曲線(x,y,插值點(diǎn))
例如,在2.5處找到y(tǒng)的值。
&Gt>X=[012345678910
]&Gt>y=[00.791.532.192.713.033.272.893.063.193.29
]&Gt>A=spline(x,y,2.5)
a==1.8715
還可以一次獲得多個(gè)值,例如:
&Gt>xx=1:0.1:10
&Gt>yy=spline(x,y,XX)
這樣,您可以得到每個(gè)XX
繪圖(x,y)
你可以看到圖片
]但是根據(jù)我目前的知識(shí),我無法得到這個(gè)函數(shù)。
我們只能使用擬合方法
>>P=polyfit(x,y,2)%二項(xiàng)式擬合,其中二次P的三個(gè)值是系數(shù)
>>yy=polyval(P,x)]>>plot(x,YY)
擬合函數(shù)是-0.0536x^20.832x[0.0738
擬合度0.9717非常高
一般來說,我們還沒見過用插值法找表達(dá)式,一般是擬合或回歸
求解方法:[1。使用三次樣條函數(shù)插值()來插值席席=1:0.1:15yI= IpP1(x,y,Xi,“樣條”)!2!用最小二乘函數(shù)nlinfit()擬合插值函數(shù)模型,y=A/(1)Exp(B-C*x))3。繪圖比較和擬合效果
這個(gè)題目看起來很簡(jiǎn)單,但是我在分析過程中遇到了問題。
請(qǐng)看下圖1。圖中藍(lán)色為實(shí)測(cè)離散數(shù)據(jù),用MATLAB的plot命令繪制。紅線是detrend命令導(dǎo)出的趨勢(shì)曲線與原始曲線(此處不繪制趨勢(shì)曲線)之間差異的結(jié)果。必須說趨勢(shì)曲線與原始曲線相似。)綠線是通過插值函數(shù)interp1得到的曲線。我的想法是得到一條類似綠色曲線的趨勢(shì)曲線,而不是一條有很多拐點(diǎn)的曲線。紅線過于平滑,無法反映科學(xué)問題,綠線因人工調(diào)整而不穩(wěn)定。對(duì)于圖1中的示例,讓我們看看下面的簡(jiǎn)單示例。圖2。數(shù)據(jù)是正弦函數(shù),干擾很小。我們的目標(biāo)是在下圖中畫一條綠色的正弦趨勢(shì)線,而不是一條紅線或它自己的藍(lán)線。我的問題是:如何在不受離散數(shù)據(jù)干擾的情況下得到平滑穩(wěn)定的趨勢(shì)曲線?