插值問題描述:已知
乙個函式上的若干點,但函式具體表示式未知,現在要利用已知的若干點求在其他點處的函式值,這個過程就是插值的過程.
1.一維插值
一維插值就是給出y=f(x)上的點(x1,y1),(x2,y2),…,(xn,yn),由此求出y=f(x)在點xa處的值ya的值.
實現一維插值使用interp1命令,使用引數為interp1(x,y,xa,』method』) ,其中x和y是已知點對應橫縱座標,xa為代求值的橫座標,method引數代表插值型別,引數可以選擇的選項如下表,若預設則為linear.
method 含義 特 點
linear 線性插值 快,精度不高
cubic 三次多項式插值 較慢,精度高,平滑
spline 三次樣條插值 最慢,精度高,最平滑
例如,求y=xln(x)的插值問題,**如下
%為了說明插值問題,根據已知函式構造一組插值點
%而實際問題中,只有這些點,函式是未知的
x = 0.2:0.4:2;
y = x.*log(x);%構造一組插值點
plot(x,y,'o');
xa =0.2:0.1:2;%d代求y值得x值點
ya = interp1(x,y,xa,'cubic');
hold on;
plot(xa,ya,'b-');
box on;
hold on;
fplot(@(x)x*log(x),[0.2,2]);
legend('插值點','三次多項式插值','原圖');%圖例
2.二維插值
二維插值就是給出z=f(x,y)上的點(x1,y1,z1),…,(xn,yn,zn),由此求出在(xa,ya)處求出za的值.
實現一維插值使用interp2命令,使用引數為interp1(x,y,z,xa,ya,』method』),引數含義與interp1類似.
例如,求z = exp(-x^2-y^2)的空間插值問題,**如下
x = linspace(-2,2,10);
y = linspace(-2,2,10);
[x,y] = meshgrid(x,y);
z = exp(-x.^2 - y.^2);
subplot(1,2,1);
surf(x,y,z);
title('插值點曲圖');
hold on;
xa = linspace(-2,2,50);
ya = linspace(-2,2,50);
[xa,ya] = meshgrid(xa,ya);
za = interp2(x,y,z,xa,ya,'cubic');
subplot(1,2,2);
surf(xa,ya,za);
title('三次插值曲面');
MATLAB一維插值和二維插值
插值問題描述 已知 乙個函式上的若干點,但函式具體表示式未知,現在要利用已知的若干點求在其他點處的函式值,這個過程就是插值的過程.1.一維插值 一維插值就是給出y f x 上的點 x1,y1 x2,y2 xn,yn 由此求出y f x 在點xa處的值ya的值.實現一維插值使用interp1命令,使用...
Matlab二維插值
y interp2 x,y,z,xi,yi,method method nearest 最鄰近插值 linear 預設 雙線性插值 cubic 雙三次插值 示例如下 例 已知平板表面3 5的網格處的溫度值為 82 79 84 81 63 84 80 61 82 82 65 85 84 81 86做出...
一維 二維與多維插值
插值就是已知一組離散的資料點集,在集合內部某兩個點之間 函式值的方法。一 一維插值 插值運算是根據資料的分布規律,找到乙個函式表示式可以連線已知的各點,並用此函式表示式 兩點之間任意位置上的函式值。插值運算在訊號處理和影象處理領域應用十分廣泛。1 一維插值函式的使用 若已知的資料集是平面上的一組離散...