補間方法について

조회 수: 14 (최근 30일)
Hiroki Takeda
Hiroki Takeda 2022년 3월 2일
댓글: Hiroki Takeda 2022년 3월 3일
実施したいこと:指定の座標の補間データが欲しいです。
使用するデータ:海面水温の緯度経度のグリッドデータを使用します。
データの概要は以下です。
% 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
Atsushi Ueno
Atsushi Ueno 2022년 3월 3일
グリッド データの内挿 - MATLAB & Simulink - MathWorks 日本グリッドベースの内挿を使用する利点」参照
グリッドデータの素性(単調増加か否か、等間隔か否か)により「どのようにすれば,lon=130.7778,lat=42.3772のSea surface temperatureが返せるか」の答えも異なります。グリッドが等間隔なら下図の赤いクエリ点の緯度・経度とインデックスの関係から緑の近傍点4点を得て、近傍点4点間を線形内挿して目的の値を返せます。グリッドが非等間隔なら2分探索で近傍点を探します。グリッドが単調増加ではなかったり、グリッドではなく散布データだったりする場合はまた別のアルゴリズムが必要です。

댓글을 달려면 로그인하십시오.

채택된 답변

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 内挿에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!