Grid Resolution Changing by Bilinear Interpolation

2 ビュー (過去 30 日間)
Joydeb Saha
Joydeb Saha 2020 年 5 月 13 日
コメント済み: KSSV 2020 年 5 月 13 日
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?

回答 (1 件)

KSSV
KSSV 2020 年 5 月 13 日
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 件のコメント
Joydeb Saha
Joydeb Saha 2020 年 5 月 13 日
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 ?
KSSV
KSSV 2020 年 5 月 13 日
Yes...run a loop for each step.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeInterpolation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by