Interpolating data to find the values at NaN locations in the region.
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
waqas
am 18 Nov. 2020
Kommentiert: waqas
am 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
0 Kommentare
Akzeptierte Antwort
Andrei Bobrov
am 19 Nov. 2020
Bearbeitet: Andrei Bobrov
am 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;
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Get Started with Image Processing Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!