how to value nan number in a vector? and how to do the same calc in a 2d matrix?

--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.

 Accepted Answer

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)

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.

Categories

Find more on Mathematics 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!