補間方法について

14 vues (au cours des 30 derniers jours)
Hiroki Takeda
Hiroki Takeda le 2 Mar 2022
Commenté : Hiroki Takeda le 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 commentaire
Atsushi Ueno
Atsushi Ueno le 3 Mar 2022
グリッド データの内挿 - MATLAB & Simulink - MathWorks 日本グリッドベースの内挿を使用する利点」参照
グリッドデータの素性(単調増加か否か、等間隔か否か)により「どのようにすれば,lon=130.7778,lat=42.3772のSea surface temperatureが返せるか」の答えも異なります。グリッドが等間隔なら下図の赤いクエリ点の緯度・経度とインデックスの関係から緑の近傍点4点を得て、近傍点4点間を線形内挿して目的の値を返せます。グリッドが非等間隔なら2分探索で近傍点を探します。グリッドが単調増加ではなかったり、グリッドではなく散布データだったりする場合はまた別のアルゴリズムが必要です。

Connectez-vous pour commenter.

Réponse acceptée

Hernia Baby
Hernia Baby le 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 commentaire
Hiroki Takeda
Hiroki Takeda le 3 Mar 2022
早速ありがとうございます。
ご示唆のおかげで実施することができました。
ありがとうございました。
-----
Lat=repmat(lat',size(lon,1),1);
Lon=repmat(lon,1,size(lat,1));
SSTq=interp2(Lat,Lon,sst,latq,lonq);
-----

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 内挿 dans Help Center et File Exchange

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!