How do I replace -1.0000e+30 with NaN?
2 ビュー (過去 30 日間)
古いコメントを表示
I want to replace -1.0000e+30 in an array of SST and used the following but its not working why?:
data=netcdf.open('HadISST_sst1.nc','NC_NOWRITE')
time=netcdf.getVar(data,0);
time_bnds=netcdf.getVar(data,1);
lat=netcdf.getVar(data,2);
lon=netcdf.getVar(data,3);
sst=netcdf.getVar(data,4);
sst(sst==-1.0000*1e+30)=NaN;
0 件のコメント
採用された回答
KSSV
2022 年 11 月 9 日
Let T be your array.
tol = -10^10 ; % fix this to satisfied value
T(T<tol) = NaN ;
3 件のコメント
その他の回答 (1 件)
Steven Lord
2022 年 11 月 9 日
Since I'm guessing -1e30 is an outlier in your data you could use filloutliers. I'll use a slightly smaller outlier value for this example because it makes y display more nicely.
y = 1:10;
y(7) = 100
y2 = filloutliers(y, NaN)
2 件のコメント
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!