How can I find nearest value in large grid data?

1 回表示 (過去 30 日間)
Zubair Nizamani
Zubair Nizamani 2016 年 7 月 13 日
コメント済み: Chad Greene 2016 年 7 月 14 日
I have a grid having cells 100x60, containing contours data. Some of the cells have filled with whole number from 1 to 15 showing the elevation of contours, now how can I interpolate points between the contours line to fill all empty cells?
Note: Points are not in regular way, these scattered points

回答 (2 件)

Walter Roberson
Walter Roberson 2016 年 7 月 13 日
See John D'Errico's File Exchange contribution "inpaint_nan"
  2 件のコメント
Zubair Nizamani
Zubair Nizamani 2016 年 7 月 13 日
Dear Roberson thank you for your response and guideline. The function you have mentioned above is right now harder for me to understand because I am getting started with MATlab, So can you direct me any simplest way possible?
Chad Greene
Chad Greene 2016 年 7 月 14 日
If you download inpaint_nans, it makes the problem pretty easy. For example, say you have some gridded dataset like this:
Z = peaks(100);
but a few points are NaNs:
Z([423 898 1234] = NaN;
You can fill in the missing values like this:
Z_filled = inpaint_nans(Z);

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


Image Analyst
Image Analyst 2016 年 7 月 13 日
How about scatteredInterpolant()?
  5 件のコメント
Image Analyst
Image Analyst 2016 年 7 月 13 日
I need to leave now, but my first attempt would be to use scatteredInterpolant, like I already suggested. But I'm sure you've tried that by now, so let's see your code - it may speed me up when I return later today. If you didn't try my suggestion, then why not?
Walter Roberson
Walter Roberson 2016 年 7 月 13 日
YourData(YourData == 0) = nan;
Now call the File Exchange contribution inpaint_nan on YourData.

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

カテゴリ

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