Grid Resolution Changing by Bilinear Interpolation

I have a matrix 1x721x1440 double, it has the vertical resolution 0.25x0.25 (in degrees). How can I change the grid resolution to 1x1 (in degrees) by bilinear interpolation method in matlab?

Answers (1)

Let A be your 1X721X1440 data. And X, Y be your respect matrices with resolution 0.25.
A = squeeze(A) ;
xi = min(X(:)):1:max(X(:)) ;
yi = min(Y(:)):1:max(Y(:)) ;
[Xi,Yi] = meshgrid(xi,yi) ;
Ai = interp2(X,Y,A,Xi,Yi) ;
If you don't have respective X, Y; simply use
Ai = imresize(A,180,11) ;
Or
Ai = A(1:4:end,1:4:end) ;

2 Comments

My main data is 744x721x1440 (0.25x0.25 in degrees) double. Where Time = 744x1, Lat = 721x1, Lon = 1400x1. I do time averafe to it I got the resized data as 1 x 721 x 1440 (0.25x0.25 in degrees). So to transform the grid resolution to 1x1 (in degrees) I think second or third method will serve the purpose. Is it Sir ?
Yes...run a loop for each step.

Sign in to comment.

Categories

Find more on Interpolation in Help Center and File Exchange

Asked:

on 13 May 2020

Commented:

on 13 May 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!