Interpolating data to find the values at NaN locations in the region.
5 views (last 30 days)
Show older comments
waqas on 18 Nov 2020
Commented: waqas on 19 Nov 2020
I have a field which, when I plot, results in NaN values in between the known values. I want to interpolate the values on these NaN locations in the (blue) region only and keep rest of the region as NaN. I could not figure how exactly to achieve it.
Attached is .mat file of the field and following is the code to get the same plot.
ax = pcolor((v)); colormap(parula(50)); %caxis([30 50])
axis tight equal;colorbar
ax.LineStyle = 'none';ax.EdgeColor = 'flat';ax.FaceColor = 'flat';
ax.FaceAlpha = 1;
axis ij on equal
Andrei Bobrov on 19 Nov 2020
Edited: Andrei Bobrov on 19 Nov 2020
[m,n] = size(v);
[i,j] = ndgrid(1:m,1:n);
lo = ~isnan(v);
F = scatteredInterpolant(i(lo),j(lo),v(lo));
vout = F(i,j);
lo2 = lo;
lo2(97:132,4:118) = true;
vout(~lo2) = NaN;
More Answers (0)
Find more on Images 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!