Ignoring NaNs for Surface Fit

10 views (last 30 days)
John
John on 13 Aug 2012
Hi,
I have a 2D matrix, with certain values missing - represented by NaNs. I have organised the data into three column vectors (x,y,z) and am able to pass the data through the Surface Fitting tool 'sftool'. This ignores the NaNs and works perfectly, however whenever I try and manually do this fit using the 'fit()' function it won't allow me because of the NaNs.
How can I ignore these NaNs in a similar way for this? All the methods I've come across for ignoring NaNs so far won't work as I have to keep all three vectors the same length and in order.
Any help would be greatly apprecitated.

Accepted Answer

Sean de Wolski
Sean de Wolski on 13 Aug 2012
Edited: Sean de Wolski on 13 Aug 2012
xyz = [x y z]; %x y z are column vextors
xyz_no_nans = xyz(~any(isnan(xyz),2),:); %keep rows which have no nans
x = xyz_no_nans(:,1); %etc.
  3 Comments
Sean de Wolski
Sean de Wolski on 13 Aug 2012
How do you propose to keep a set of xyz pairs if any of them is a NaN?
x = pi,y=17,z = nan;
What useful information can you gather from the above?
John
John on 14 Aug 2012
I'm sorry, I was confusing myself because this didn't work at first. I now understand what it's doing and it's exactly what I want. Have got it all working - many thanks! This has saved me hours of time...

Sign in to comment.

More Answers (0)

Categories

Find more on Get Started with Curve Fitting Toolbox 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!