Is griddedinterpolant omits NaN?
36 views (last 30 days)
Show older comments
Hey all, I want to know when we using griddedinterpolant while we have some NaN in our data set, are they NaNs fills by griddedinterpolant? Or they remain as NaN?
0 Comments
Accepted Answer
darova
on 27 Mar 2020
You can find out by yourself
[X,Y] = meshgrid(0:10);
Z = 0*X;
Z(5:7,5:7) = nan;
surf(X,Y,Z,'edgecolor','none')
[X1,Y1] = meshgrid(0:0.4:10);
Z1 = griddata(X,Y,Z,X1,Y1);
hold on
surf(X1,Y1,Z1,'facecolor','none')
hold off
1 Comment
Andrey Yatsunenko
on 1 Dec 2024 at 20:35
I'm afraid the answer is incorrect.
Griddata is not a close relative to the griddedInterpolant; griddata (despite its name) deals with scattered data, and only up to 3 dimentions.
More Answers (1)
Stephen23
on 2 Dec 2024 at 5:50
Edited: Stephen23
on 2 Dec 2024 at 8:29
NaN values will propagate from input to output, just as they should in any mathematical calculation.
x = sort(20*rand(100,1));
v = besselj(0,x);
v(23:50) = NaN; % modified
F = griddedInterpolant(x,v)
xq = linspace(0,20,500);
vq = F(xq);
plot(x,v,'ro')
hold on
plot(xq,vq,'.')
legend('Sample Points','Interpolated Values')
If you want to remove NaNs from data then you will need to either:
- pre-process the data to remove the NaNs yourself, or
- use high-level convenience functions e.g. FILLMISSING.
0 Comments
See Also
Categories
Find more on NaNs 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!