MATLAB二維插值和三維插值

2022-06-02 03:24:11 字數 1488 閱讀 7572

插值問題描述:已知

乙個函式上的若干點,但函式具體表示式未知,現在要利用已知的若干點求在其他點處的函式值,這個過程就是插值的過程.

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 一維插值函式的使用 若已知的資料集是平面上的一組離散...