Вопрос

I have two corresponded (has a relation and has the same dimension) dataset:

  1. Time
  2. Salinity

Some data in salinity dataset is NaN.

I can remove the NaN value by:

 Salinity_new=Salinity(~isnan(Salinity))

But it will not correspond to the Time dataset any more.

How can I remove the corresponded time in also?

Thanks

Это было полезно?

Решение 2

The comments of Diavakar and patrik are correct. To sum it up and get this question answered, some further remarks.

mask = isfinite(Salinity) 
[Time,Salinity] = deal( Time(mask), Salinity(mask) )

isfinite is the same as ~isnan - but with one computation step less, its about 50-90% faster. By introducing a mask you're avoiding the double use of isfinite. deal just saves you some space.

Другие советы

Another solution is the following:

indexes = find(isnan(Salinity)==1);
Salinity(indexes) = []; 
Time(indexes) = []

In this way you eliminate the non-numerical value from your vectors.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top