how to value nan number in a vector? and how to do the same calc in a 2d matrix?
1 view (last 30 days)
Show older comments
--I have a vactor where some values are NaN.The results are on the following plot(in the red box the nan) :

--I was wondering if there is a way to assume the values so it will be something like this:

---Also how to do the same procedure if some values of 2d matrix is NaN? Thanks in advance.
0 Comments
Accepted Answer
Andrei Bobrov
on 2 Oct 2014
Edited: Andrei Bobrov
on 2 Oct 2014
Let X your array with NaN's
ii = ~isnan(X);
i0 = reshape(1:numel(X),size(X));
Xout = interp1(i0(ii),X(ii),i0);
More Answers (1)
Iain
on 2 Oct 2014
You've got an x & y vector, so this would remove the NaNs:
nans = isnan(Y) || isnan(X);
Y(nans) = [];
X(nans) = [];
You'll need to interpolate if you want the X & Y for all the values of your original X.
0 Comments
See Also
Categories
Find more on Data Type Identification 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!