分段插值 1 維
我們將使用以下資料:
x = 1:5:50;
y = randi([-10 10],1,10);
http://i.stack.imgur.com/yNZaj.jpg
因此 x
和 y
是資料點的座標,z
是我們需要資訊的點。
z = 0:0.25:50;
找到 z 的 y 值的一種方法是分段線性插值。
z_y = interp1(x,y,z,'linear');
http://i.stack.imgur.com/EM68o.jpg
因此,計算兩個相鄰點之間的線,並通過假設該點將是這些線的元素來獲得 z_y
。
interp1
提供其他選項,就像最近插值一樣,
z_y = interp1(x,y,z, 'nearest');
http://i.stack.imgur.com/YMwU4.jpg
下一次插值,
z_y = interp1(x,y,z, 'next');
http://i.stack.imgur.com/l4lvh.jpg
先前插值,
z_y = interp1(x,y,z, 'previous');
http://i.stack.imgur.com/V9B3j.jpg
保持形狀的分段三次插值,
z_y = interp1(x,y,z, 'pchip');
http://i.stack.imgur.com/3tEJ3.jpg
三次卷積,z_y = interp1(x,y,z,‘v5cubic’);
http://i.stack.imgur.com/5RQi5.jpg
和樣條插值
z_y = interp1(x,y,z, 'spline');
http://i.stack.imgur.com/MQtBM.jpg
因此是 nearst,next 和之前的插值分段常數插值。