【问题标题】:Delete kinks and smooth curves删除扭结和平滑曲线
【发布时间】:2014-06-21 03:40:15
【问题描述】:

我有一些数据在绘制时看起来像所附图片左侧所示的数据。 它有一些我希望删除和平滑以获得漂亮曲线的扭结[如右图所示]。

目前我手动删除扭结并通过高阶多项式 [比如 9] 对删除的部分进行插值。然后我重新填充已删除的片段并重新绘制曲线。 这需要很长时间,而且我有很多文件要处理。

你们能否提出一种有效的方法来做到这一点? [在 MATLAB 或其他方式中]

非常感谢!!

P.S.:上面又添加了一个图来澄清

【问题讨论】:

  • 查看filter函数文档中的移动平均线示例,它可能对您有所帮助。
  • 谢谢,我会看的。但我想我试过一次,如果数据有很大的扭结,结果不是很令人满意。

标签: matlab plot curve-fitting smooth interpolation


【解决方案1】:

我认为这是一个简单的低通滤波问题,就像 @thewaywealk 建议的那样。消除扭结对应于消除信号中的某些高频。这可以通过过滤操作在matlab中实现。演示在denoising a sinusoidal wave here 上显示。

【讨论】:

  • 谢谢,我一定会试一试的。如果我有一个很大的扭结,我唯一担心的是,假设在相当长的时间内在数据中创建了一个台阶或一个凹陷:比如 x 轴总范围的 15%。那么自动平滑将非常困难。
  • 刚刚添加了一个情节来解释我的意思。再次感谢。
  • 在这种情况下,我会建议一种小波阈值方法,该方法在小波基的不同比例下执行平滑。这也在matlab 中得到了证明/这正是在 x 维度中以不同比例发生扭结的情况。
猜你喜欢
  • 1970-01-01
  • 2021-09-09
  • 2012-04-17
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-19
相关资源
最近更新 更多