補間方法について

25 views (last 30 days)
Hiroki Takeda
Hiroki Takeda on 2 Mar 2022
Commented: Hiroki Takeda on 3 Mar 2022
実施したいこと:指定の座標の補間データが欲しいです。
使用するデータ:海面水温の緯度経度のグリッドデータを使用します。
データの概要は以下です。
% Area:44.0N 130.0E 42.0N 133.0E
% Grid:0.125 x 0.125
% Parameter:Sea surface temperature
補間について
2次元データなので,interp2を用いるのが良いかとも思ったのですが,別に新たな座標間隔でグリッドデータを作りたいわけではありません。
例えば,lon=130.7778,lat=42.3772 における,Sea surface temperatureの値が知りたいということです。
上記のようなgrid dataから,どのようにすれば,lon=130.7778,lat=42.3772のSea surface temperatureが返せるかを知りたいです。
よろしくお願いいたします。
  1 Comment
Atsushi Ueno
Atsushi Ueno on 3 Mar 2022
グリッド データの内挿 - MATLAB & Simulink - MathWorks 日本グリッドベースの内挿を使用する利点」参照
グリッドデータの素性(単調増加か否か、等間隔か否か)により「どのようにすれば,lon=130.7778,lat=42.3772のSea surface temperatureが返せるか」の答えも異なります。グリッドが等間隔なら下図の赤いクエリ点の緯度・経度とインデックスの関係から緑の近傍点4点を得て、近傍点4点間を線形内挿して目的の値を返せます。グリッドが非等間隔なら2分探索で近傍点を探します。グリッドが単調増加ではなかったり、グリッドではなく散布データだったりする場合はまた別のアルゴリズムが必要です。

Sign in to comment.

Accepted Answer

Hernia Baby
Hernia Baby on 3 Mar 2022
書いてある通り、interp2 がいいと思います。
見たい座標を1つ打てばオッケーです。
clear,clc,close all;
[x,y,z] = peaks(50);
xq = 1;
yq = -2;
zq = interp2(x,y,z,xq,yq)
zq = -2.1043
一応図示します
hold on
surf(x,y,z,'FaceAlpha',.4,'EdgeAlpha','.3');
plot3(xq,yq,zq,'o','MarkerEdgeColor','none','MarkerFaceColor','r');
view([40 15])
axis off
  1 Comment
Hiroki Takeda
Hiroki Takeda on 3 Mar 2022
早速ありがとうございます。
ご示唆のおかげで実施することができました。
ありがとうございました。
-----
Lat=repmat(lat',size(lon,1),1);
Lon=repmat(lon,1,size(lat,1));
SSTq=interp2(Lat,Lon,sst,latq,lonq);
-----

Sign in to comment.

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!