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

1 visualizzazione (ultimi 30 giorni)
--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.

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 2 Ott 2014
Modificato: Andrei Bobrov il 2 Ott 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);

Più risposte (1)

Iain
Iain il 2 Ott 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.

Categorie

Scopri di più su Just for fun in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by