Smoothing data by x axis values rather than cells
조회 수: 1(최근 30일)
표시 이전 댓글
Alex Hughes 2021년 3월 24일
답변: Mathieu NOE 2021년 3월 24일
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:
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
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
Find more on Smoothing and Denoising 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!