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

1 vue (au cours des 30 derniers jours)
--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.

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 2 Oct 2014
Modifié(e) : Andrei Bobrov le 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);

Plus de réponses (1)

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

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by