1、拉格朗日插值
用多項式函式(10.2)作為插值函式時,希望通過解方程組(10.3)而得到待定係數
function y=lagrange(x0,y0,x);
n=length(x0);m=length(x);
for i=1:m
z=x(i);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j));
endend
s=p*y0(k)+s;
endy(i)=s;
en2、分段線性插值
用matlab實現分段線性插值不需要編制函式程式,matlab中有現成的一維插值函式interp1。
y=interp1(x0,y0,x,'method')
method指定插值的方法,預設為線性插值。其值可為:
'nearest' 最近項插值
'linear' 線性插值
'spline' 立方樣條插值'cubic' 立方插值。
所有的插值方法要求x0是單調的。
當x0為等距時可以用快速插值法,使用快速插值法的格式
為 '*nearest'、'*linear' 、'*spline' 、'*cubic'
3、三次樣條曲線插值
matlab中三次樣條插值也有現成的函式:
y=interp1(x0,y0,x,'spline');
y=spline(x0,y0,x);
pp=csape(x0,y0,conds),
pp=csape(x0,y0,conds,valconds),y=ppval(pp,x)。
其中x0,y0是已知資料點,x是插值點,y是插值點的函式值。
插值技術(或方法)遠不止這裡所介紹的這些,但在解決實際問題時,對於一位插值問題
而言,前面介紹的插值方法已經足夠了。 剩下的問題關鍵在於什麼情況下使用、 怎樣使用和使用
何種插值方法的選擇上。
拉格朗日插值函式在整個插值區間上有統一的解析表示式,其形式關於節點對稱,光滑性
好。但缺點同樣明顯,這主要體現在高次插值收斂性差(龍格現象);增加節點時前期計算作
廢,導致計算量大;乙個節點函式值的微小變化(觀測誤差存在)將導致整個區間上插值函式
都發生改變,因而穩定性差等幾個方面。因此拉格朗日插值法多用於理論分析,在採用拉格朗
日插值方法進行插值計算時通常選取 n < 7 。
分段線性插值函式(僅連續)與三次樣條插值函式(二階導數連續)雖然光滑性差,但他
們都克服了拉格朗日插值函式的缺點,不僅收斂性、 穩定性強,而且方法簡單實用,計算量小。
因而應用十分廣泛。
對一組資料進行排序
如果有這種可能的話,三路快排是最好的選擇。是否大部分資料距離它的正確的位置很近?是否近乎有序?如果這樣,插入排序是很好的選擇。是否資料取值的範圍非常有限?比如對學生的成績排序。如果這樣,計數排序是很好的選擇 對排序有什麼額外的要求?是否需要穩定的排序?如果是的話,歸併排序是更好的選擇,快排就不行了。...
matlab 資料插值
對資料進行加密 疏密程度 滿足繪圖要求 yi interp1 x,y,xi,method yi為插值結果,x,y為插值節點,xi為被插值點 method 插值方法 nearest 最臨近插值 linear 線性插值 spline 三次樣條插值 cubic 立方插值 預設 分段線性插值 tips x必...
MATLAB資料插值
yi interp1 x,y,xi,method 其中,x y為已知的資料點,xi為想要插值資料點的橫座標,返回對應的縱座標yi。method為插值方法,總共有四種。nearest 最近鄰點插值,即若x ix i xi 離x xx最近,則yi yy i y yi y linear 線性插值,即插值的...