0

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

Robert Seifert
  • 25,078
  • 11
  • 68
  • 113
Santosa Sandy
  • 217
  • 6
  • 20

2 Answers2

2

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.

roschach
  • 8,390
  • 14
  • 74
  • 124
1

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.

Robert Seifert
  • 25,078
  • 11
  • 68
  • 113