2013-07-25 33 views
5

我的JS非常有限,甚至對於這個問題的數學知識,所以我轉向你。我正在使用鏈接here的網站來查找尼日利亞各州的年人口增長率。當你點擊一個州時,說Abia,它會給你年增長率。我試圖找出他們用來產生上述增長率的確切公式。 Here是包含執行此操作的代碼的.js文件。我相信我們想要的塊是這樣的:試圖瞭解這個網頁如何使用JavaScript來產生增長率

cp.data.computeAnnualChange=function(a,b,c,d){ 
    if(!a||!b)return null;a=this.dateDiffInYears(a,b); 
    return 0<c&&0<a&&0<d?Math.round(1E4*(Math.exp(Math.log(d/c)/a)-1))/100:null}; 
    cp.data.INT_MODE="i"; 

一些背景:公式應該是從2006年採取從1991年的狀態,人口的人口,爲您提供增長年率。我認識到第4行的基本方程,它是幾何增長率。我可以在Excel中做到這一點,但是當我提出的數字大約是13%時,這很重要。我的最終目標是將其變成我可以在Excel中使用的公式。

+0

'1E4'後面似乎缺少逗號或運算符,不是嗎? – bfavaretto

+0

@bfavaretto - 斑點! – pnuts

+0

你有沒有實際的數字作爲例子?例如1991年底到2006年(4年)預計將從1991年開始到2006年底(6年)有所不同。 – pnuts

回答

0

關閉這個問題,因爲有人的評論幫我弄明白了。

基本上,我用原來的問題發佈的公式正確,只是我對數據範圍不夠精確。兩次人口普查間隔14.32年,我剛剛使用了14.

正確的公式是(EXP((LN(pn/p0)/14.32)) - 1)其中pn和p0分別是最新和最舊的人口普查。