Interpolation problem with NaN numbers

8 ビュー (過去 30 日間)
JAYESH RAVAL
JAYESH RAVAL 2016 年 8 月 22 日
コメント済み: Guillaume 2016 年 8 月 23 日
I have emission matrix of 512 x 101 and for that i have corresponding X0 and Y0 value matrix. matrix x contains number varies from (-25 to 25) and along with NaN numbers same with matrix y which varies from (-25 to 25) and having NaN.
now i want to interpolate emission data using interp2 command but i could not perform interpolation. for this i have attached the matfile name inversion0.mat
please help me in this regard.

回答 (1 件)

Guillaume
Guillaume 2016 年 8 月 22 日
Use John D'Errico's excellent inpaint-nans.
  2 件のコメント
JAYESH RAVAL
JAYESH RAVAL 2016 年 8 月 23 日
Dear Guillaume
Thank you for your help
i have tried this option but it is not fulfilling my requirement. since the NaN in x0 and Yo value are the values which are not require to be plot. and i just only want to interpolate the emission data between real points of X0 and Y0 matrix respectively. please suggest another option..
Thank you very much
jayesh
Guillaume
Guillaume 2016 年 8 月 23 日
Having now looked at your mat file, you certainly are not going to be interpolating that with interp2 which requires the x and y to be gridded.
Possibly, this is what you want:
%build interpolant:
tokeep = ~(isnan(X0) | isnan(Y0));
interpolant = scatteredInterpolant(X0(tokeep), Y0(tokeep), Emission(tokeep))
%query interpolant at x = 5.5, y = 25:
interpolant(5.5, 25)

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

カテゴリ

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