How do I replace -1.0000e+30 with NaN?
    1 view (last 30 days)
  
       Show older comments
    
    Simbarashe Chidzambwa
 on 9 Nov 2022
  
    
    
    
    
    Commented: Steven Lord
    
      
 on 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 Comments
Accepted Answer
  KSSV
      
      
 on 9 Nov 2022
        Let T be your array. 
tol = -10^10 ; % fix this to satisfied value 
T(T<tol) = NaN ; 
3 Comments
More Answers (1)
  Steven Lord
    
      
 on 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 Comments
See Also
Categories
				Find more on Logical in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!