Version (2.27 KB) by Ian Howat
FILLNANS replaces all NaNs in array using inverse-distance weighting between non-NaN values.
Updated 18 Jul 2007

View License

FILLNANS replaces all NaNs in array using inverse-distance weighting.
Y = FILLNANS(X) replaces all NaNs in the vector or array X by inverse-distance weighted interpolation:
Y = sum(X/D^3)/sum(1/D^3)
where D is the distance (in pixels) from the NaN node to all non-NaN values X. Values farther from a known non-NaN value will tend toward the average of all the values.

Y = FILLNANS(...,'power',p) uses a power of p in the weighting function. The higher the value of p, the stronger the weighting.

Y = FILLNANS(...,'radius',d) only used pixels < d pixels away for weighted averaging.

NOTE: Use in conjunction with INVDISTGRID to grid and interpolate x,y,z data.


Cite As

Ian Howat (2024). FILLNANS (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2006a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Sparse Matrices in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

Adopted several code efficiency revisions made by Urs, including removing the waitbar.