How do I replace -1.0000e+30 with NaN?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Simbarashe Chidzambwa
am 9 Nov. 2022
Kommentiert: Steven Lord
am 10 Nov. 2022
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 Kommentare
Akzeptierte Antwort
KSSV
am 9 Nov. 2022
Let T be your array.
tol = -10^10 ; % fix this to satisfied value
T(T<tol) = NaN ;
3 Kommentare
Weitere Antworten (1)
Steven Lord
am 9 Nov. 2022
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 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!