Smoothing data by x axis values rather than cells
    5 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Alex Hughes
 am 24 Mär. 2021
  
    
    
    
    
    Beantwortet: Mathieu NOE
      
 am 24 Mär. 2021
            I am trying to compare slope values from bathymetric profiles with different resolutions ranging from 30m to 85m. Therefore, I need to smooth the profiles to a common resolution (say 200 m). I attach an example of my data where c is depth (to smooth in m), d1 is distance (m) and the resolution is ~60 m. I can take 200/60 m to get a smoothing window in cells per 200 m then use smooth or filter. For example:
span=round(200/resolution);
smooth_bathy=smooth(c,span);
The problem is that the span or smoothing window has to be an integer so the smoothed resolution between profiles is still different i.e. 200/60 = 180 m and 200/35 =175 m.  
Can anyone suggest a method to smooth the data to exacly 200 m (i.e. smooth by absoute values of the data in the x axis rather than cells?). Thanks.
3 Kommentare
Akzeptierte Antwort
  Mathieu NOE
      
 am 24 Mär. 2021
        hello 
 to resample all data to 200 m resolution (whatever your resolution is ), simply use interp1 : 
new_d = min(d1):200:max(d1); % new distance vector with 200 m resolution
new_c = interp1(d1,c,new_d); % new depth vector (matched with new_d)
0 Kommentare
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

