How can I find all zeros in a 2d matrix and change those values by interpolating with the closest available values ?
Show older comments
Accepted Answer
More Answers (1)
Walter Roberson
on 7 Jun 2017
[gr, gc, gv] = find(A);
F = scatteredInterpolant(gr, gc, gv);
[br, bc] = find(~A);
replacements = F(br, bc);
A( sub2ind(size(A), br, bc) ) = replacements;
Categories
Find more on Interpolation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!