二維插值在圖像處理和數(shù)據(jù)可視化方面得到了大量的應(yīng)用,二維插值的基本原理與一維插值一樣,但二維插值是對兩個變量進(jìn)行函數(shù)的插值。在MATLAB中,主要使用interp2()函數(shù)進(jìn)行二維插值的實(shí)現(xiàn),其調(diào)用格式如下,
zi =interp2(z,xi,yi) %表示若 z=mxn,則x=1,y=1:m
zi = interp2(z, ntimes) % 在兩點(diǎn)之間遞歸地插值ntimes次
zi=interp2(x,y,z,xi,yi) % 對原始數(shù)據(jù)x,y ,決定插值函數(shù),返回值z為(x;,y)在函數(shù)f(x,y)上的值
zi= interp2(x,y ,z,xi,yi ,method) % 采用的不同的插值方法進(jìn)行插值
zi= interp2( method,extrapval) % 若數(shù)據(jù)超過原始數(shù)據(jù)的范圍時,則輸入“extrapval”來指定種 %外推方法
在二維插值中,“mtethod”為選取插值的方法。插值的方法有以下4種:鄰近插值、雙線性插值、樣條插值和立方插值。二維插值方法對比見表。
例:不同二維插值方法的結(jié)果圖。
1)創(chuàng)建M文件,輸人以下代碼,實(shí)現(xiàn)原始數(shù)據(jù)圖和二維插值4種
方法的結(jié)果圖,所示。
[x.y] = meshgrid( -2:0.4:2); %原始數(shù)據(jù)
z= peaks(x,y);
[xi,yi] =meshgrid( -2:0.2:2); %設(shè)置插值點(diǎn)
zl = interp2(x,y,z,xi,yi, ' nearest '); %鄰近插值
z2= interp2(x,y,z,xi,yi); %雙線性插值
z3= interp2(x,y,z,xi,yi, 'spline'); %樣條插值
z4= interp2(x,y,z,xi,yi, ' cubic '); %立方插值
hold on;
subplot(2,3,1);
surf(x,y,z);
title( '原始數(shù)據(jù));
subplot(2,3,2);
surf(xi,yi,zl);
title( '鄰近插值');
subplot(2,3,3);
surf(xi,yi,z2);
title( '雙線性插值');
subplot(2,3,4);
surf(xi,yi,z3);
tile( '樣條插值');
subplot(2,3,5);
surf(xi,yi,z4);
title('立方插值');

2)接著輸人以下代碼,實(shí)現(xiàn)插值結(jié)果等高線的繪制,如圖6-11所示。
>>figure;
subplot(2,2,1); %繪制等高線
contour(xi,yi,z1);
tile( '鄰近插值');
subplot(2,2,2);
contour( xi ,yi,z2);
title(’雙線性插值');
subplot(2,2,3);
contour(xi,yi,z3);
title( '樣條插值');
subplot(2,2,4) ;
contour( xi,yi,z4) ;文章來源:http://www.zghlxwxcb.cn/news/detail-445878.html
title('立方插值');文章來源地址http://www.zghlxwxcb.cn/news/detail-445878.html

到了這里,關(guān)于MATLAB-二維線性插值運(yùn)算的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!