我有两个对应的(具有关系且具有相同维度)数据集:
Time
Salinity
盐度数据集中的一些数据是NaN。
我可以通过以下方式删除NaN值:
Salinity_new=Salinity(~isnan(Salinity))
但它不再对应Time
数据集。
如何删除相应的时间?
由于
答案 0 :(得分:2)
另一种解决方案如下:
indexes = find(isnan(Salinity)==1);
Salinity(indexes) = [];
Time(indexes) = []
通过这种方式,您可以消除向量中的非数值。
答案 1 :(得分:1)
Diavakar和patrik的评论是正确的。总结并回答这个问题,还有一些评论。
mask = isfinite(Salinity)
[Time,Salinity] = deal( Time(mask), Salinity(mask) )
isfinite
与~isnan
相同 - 但只需减少一个计算步骤,其速度提高约50-90%。通过引入mask
,您可以避免双重使用isfinite
。 deal
只会为您节省一些空间。