【问题标题】:Matlab Gradient Over set of dataMatlab Gradient Over 数据集
【发布时间】:2015-12-09 00:09:02
【问题描述】:

我有一组数据,基线很长,噪声在 0 附近波动,然后出现指数曲线。

我正在寻找一些相对简单的代码来找到指数曲线开始的点。我需要它自动完成,因为它适用于 1000 条不同的曲线。所以我不能只从情节中找到自己的价值。

我有一个“零点”之后的拟合模型

我怎样才能做到这一点,在一个相对简单的操作?

目前我的代码找到了基线噪声的平均值,然后说当它超过这一点时,曲线已经开始。但是,这还不够准确。

【问题讨论】:

  • 没有足够的信息来回答这个问题。
  • 你确实没有给我们足够的东西让我们离开;但是,您确实说过这是一个对数图。您可以上升到对数曲线较强的位置,然后通过 polyfit(x[20:100], log(y(20:100)), 1); 之类的方法反向计算对数;
  • 您还需要什么其他信息?
  • 我添加了一个示例图的图像。红色圆圈是我的代码当前认为“零点”所在的位置。

标签: matlab gradient noise


【解决方案1】:

您可以取所有 y 值大于最大 y 值 10% 的数据点,并将它们拟合到指数函数 y=exp((x-a)/b)。取数据点 y(i) 的自然对数并将这些数据点拟合到 ln(y)=(x-a)/b ,我会将 a/b 作为“零点”。希望这会有所帮助,但如果您可以上传部分数据,我可以编写一个简单的代码来测试我提出的解决方案。

【讨论】:

    猜你喜欢
    • 2021-04-26
    • 1970-01-01
    • 2012-01-15
    • 2016-03-09
    • 1970-01-01
    • 2017-10-28
    • 2011-04-18
    • 1970-01-01
    • 2013-11-03
    相关资源
    最近更新 更多