最佳指数函数算法,系数和误差?

时间:2013-11-04 15:08:42

标签: matlab exponential

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

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

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

具体问题是:

  1. Matlab中的哪种算法或函数可以给出最小的错误?
  2. 如何在Matlab中使用/采用某些函数,以便在与指数函数截然不同的数据上加入较小的权重(当我计算系数时)?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

您确定要谈论指数发布吗?如果是,我假设您计算了直方图,现在想要在直方图上插入一条线。但那不是最好的方法。

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

lambda * exp(-lambda * x)

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

lambda_est = 1 / mean(x)

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