補間方法について

18 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)

Categories

Find more on 内挿 in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!