径向基函数插值(3)二维数据的插值
生活随笔
收集整理的這篇文章主要介紹了
径向基函数插值(3)二维数据的插值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
二維數據的插值過程跟一維數據的過程一樣,
只不過在顯示二維的數據插值的過程中,需要meshgrid函數產生數據,進行顯示插入數據的輸出值。
產生二維數據:
clear all; figure; %************************************************************************** % 2D Interpolation %************************************************************************** %Matlab standard interpolation using griddata rand('seed',0) x = rand(50,1)*4-2; y = rand(50,1)*4-2; z = x.*exp(-x.^2-y.^2);
ti = -2:.05:2; [XI,YI] = meshgrid(ti,ti); ZI = griddata(x,y,z,XI,YI,'cubic');subplot(2,2,1); mesh(XI,YI,ZI), hold, axis([-2 2 -2 2 -0.5 0.5]); plot3(x,y,z,'.r'), hold off; title('Interpolation using Matlab function griddata(method=cubic)');subplot(2,2,3); pcolor(abs(ZI - XI.*exp(-XI.^2-YI.^2))); colorbar; title('griddata(method=cubic) interpolation error');
過程跟一維的數據一樣
% 2D Interpolation %************************************************************************** %Matlab standard interpolation using griddata rand('seed',0) x = rand(50,1)*4-2; y = rand(50,1)*4-2; z = x.*exp(-x.^2-y.^2);ti = -2:.05:2; [XI,YI] = meshgrid(ti,ti); ZI = griddata(x,y,z,XI,YI,'cubic');subplot(2,2,1); mesh(XI,YI,ZI), hold, axis([-2 2 -2 2 -0.5 0.5]); plot3(x,y,z,'.r'), hold off; title('Interpolation using Matlab function griddata(method=cubic)');subplot(2,2,3); pcolor(abs(ZI - XI.*exp(-XI.^2-YI.^2))); colorbar; title('griddata(method=cubic) interpolation error'); %% %RBF interpolation %op=rbfcreate([X(:)'; Y(:)'], Z(:)','RBFFunction', 'thinplate'); rbfcheck(op); %op=rbfcreate([X(:)'; Y(:)'], Z(:)','RBFFunction', 'linear'); rbfcheck(op); %op=rbfcreate([X(:)'; Y(:)'], Z(:)','RBFFunction', 'cubic'); rbfcheck(op); %op=rbfcreate([X(:)'; Y(:)'], Z(:)','RBFFunction', 'gaussian'); rbfcheck(op); op=rbfcreate([x'; y'], z','RBFFunction', 'multiquadric', 'RBFConstant', 2); rbfcheck(op); %op=rbfcreate(x, y,'RBFFunction', 'gaussian'); %op=rbfcreate(x, y); ZI = rbfinterp([XI(:)'; YI(:)'], op);ZI = reshape(ZI, size(XI)); subplot(2,2,2); mesh(XI,YI,ZI), hold plot3(x,y,z,'.r'), hold off; title('RBF interpolation'); axis([-2 2 -2 2 -0.5 0.5]); subplot(2,2,4); pcolor(abs(ZI - XI.*exp(-XI.^2-YI.^2))); colorbar; title('RBF interpolation error');
代碼下載地址:
點擊打開鏈接
總結
以上是生活随笔為你收集整理的径向基函数插值(3)二维数据的插值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 径向基函数插值(2)一维数据的插值
- 下一篇: 径向基函数插值(4)三维数据的插值