【问题标题】:Best exponential function algorithm, coefficients and errors?最佳指数函数算法,系数和误差?
【发布时间】:2013-11-05 03:10:54
【问题描述】:

我有指数分布a*exp(b*x) 的实验数据。目的是找出系数a、b及其误差。

我已经尝试使用函数fit(B,C, 'exp1') 并得到了一些结果。

目前我正在试验问题,因为我的文件中的某些数据点由于试验的性质而具有较高的错误率。

具体问题是:

  1. Matlab 中哪个算法或函数可以给出最小的误差?
  2. 如何在 Matlab 中使用/采用某些函数来对与指数函数有很大差异的数据赋予较小的权重(当我计算系数时)?

【问题讨论】:

  • 其中一个答案对您有帮助吗?如果没有,为什么不呢?

标签: matlab exponential


【解决方案1】:

使用fitoptions 参数指定拟合的权重,或排除一些数据点。有关详细信息,请参阅fit documentation

【讨论】:

    【解决方案2】:

    你确定你说的是指数分布?如果是,我假设您计算了一个直方图,现在想要在直方图上拟合一条线。但这不是最好的方法。

    首先,请注意,由于 pdf 的归一化,指数分布的概率密度函数只有一个参数。密度的表达式为

    lambda * exp(-lambda * x)
    

    其次,您不能通过将 pdf 拟合到直方图来拟合数据的分布。参数估计有几种方法,最常见的是“最大似然”。根据Wikipedia,lambda 的最大似然估计是样本均值的倒数,或者用 Matlab 表示法:

    lambda_est = 1 / mean(x)
    

    要大致了解通过此分布描述您的数据是否有意义,然后您可以使用估计的参数在(标准化)直方图上绘制 pdf,或者在像 ksdensity 给出的非参数密度估计上绘制 pdf。

    【讨论】:

      猜你喜欢
      • 2018-08-12
      • 1970-01-01
      • 2014-05-30
      • 2015-08-29
      • 1970-01-01
      • 2016-02-15
      • 2021-11-29
      • 1970-01-01
      • 2013-02-28
      相关资源
      最近更新 更多