Remove Undercuts

版本 1.0.0 (2.9 KB) 作者: William Rose
Remove undercuts from an x,y data set. This can make it possible to interpolate a data set that otherwise could not be.
5.0 次下载
更新时间 2021/12/9

查看许可证

function [xout,yout]=undercutRemoval(xin,yin,varargin)
Remove undercuts from an x,y dataset.
An undercut or uppercut (collectively, undercuts) in an x,y data set is one or more data points whose x values are less than or equal to previous x-values. In other words, an undercut is a data segment that "curves back on itself". Data sets with undercuts cannot be interpolated with interp1(). Removing the undercuts will make the data interpolate-able. The user may specify one of four methods, or not. Method 1 is the default. Figure below shows the difference between methods.
  • Method 1: Remove down-going undercuts by a two-pass approach
  • Method 2: Remove up-going uppercuts by a two-pass approach
  • Method 3: Remove under- and uppercuts, proceeding from beginning to end
  • Method 4: Remove under- and uppercuts, proceeding from end to beginning
See undercutRemovalTest.m for a demonstration of the function and example of the different methods. The demonstration program uses data in file undercutdata.txt.
I beleive the following statements are true, but have not proved them:
  • Method 1 has an upward bias, i.e. mean(yout)>=mean(yin)
  • Method 2 has a downward bias, i.e. mean(yout)<=mean(yin)
  • Methods 3,4 are unbiased, i.e. exp.val(mean(yout))=exp.val.(mean(yin))

引用格式

William Rose (2024). Remove Undercuts (https://www.mathworks.com/matlabcentral/fileexchange/103195-remove-undercuts), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2021b
兼容任何版本
平台兼容性
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.0.0