2013-11-04 41 views
1

我有指數分佈a*exp(b*x)的實驗數據。目標是找出係數a,b及其誤差。最佳指數函數算法,係數和誤差?

我試過使用函數fit(B,C, 'exp1'),並得到了一些結果。

目前我正在試驗問題,因爲我的文件中的一些數據點由於實驗的性質而具有較高的錯誤率。

具體問題是:

  1. 哪個算法或函數在Matlab可將誤差降至最小?
  2. 如何在Matlab中使用/採用某些函數將較小的權重(當我計算係數時)對數據與指數函數截然不同?
+0

其中一個答案對你有幫助嗎?如果不是,爲什麼不呢? –

回答

1

使用fitoptions參數指定擬合的權重,或排除某些數據點。有關更多詳細信息,請參見fit documentation

1

你確定你在說的是指數分佈?如果是的話,我假設你計算了一個直方圖,現在想要將一條直線擬合到直方圖。但這不是最好的方法。

首先,請注意,由於pdf的歸一化,指數分佈的概率密度函數只有一個參數。密度的表達式爲:

lambda * exp(-lambda * x) 

其次,您不適合通過將其pdf分配到直方圖來適合數據分佈。有幾種參數估計方法,最常見的是「最大似然」。據Wikipedia,拉姆達的最大似然估計是樣品的倒數平均,或在Matlab的符號:

lambda_est = 1/mean(x) 

爲了得到一個粗略的想法通過這個分佈描述你的數據是否有意義,你就可以繪製pdf使用(歸一化)直方圖上的估計參數,或使用ksdensity給出的非參數密度估計。