2010-07-14 59 views
2

我正在爲應用程序創建虛擬數據,並且想要模擬指數增長的同時也知道最終的數字。所以這裏是建議:給定「T,總數」和「N,天數」,如何將T除以N使得n1 + n2 ...等於指數曲線中的T?

  • 鑑於T = 2000.事件將發生的「計數」總數。
  • N = 7.星期幾:7.days.ago.day..Time.now.day
  • T除以N的最簡單公式是什麼,以便我們創建一個指數曲線?

你如何去解決這個問題,我可以學習如何處理實際的數學問題?我想這個公式適用於3個不同的T的:2000年,1000和400

更新

由於馬蒂亞斯「公式,我想出了這個:

# get "r" 
# in math 
x(t) = (1 + r)^t 
x(7) = (1 + r)^7 = 2000 # final value 
r = (2000^(1/7)) - 1 # solve for r 
# in ruby 
r = 2000**(1.0/7.0) - 1 = 1.96193629594517 

# check 
# in math 
x(7) = (1 + r)^7 = (1 + 1.96193629594517)^7 
# in ruby 
(1 + 1.96193629594517)**7 
#=> 1999.99999999998 

# build curve 
values = (1..7).inject([]) { |array, i| array << (1 + r)**i } 
values = [2.96193629594517, 8.77306662123741, 25.9852644521882, 76.96669794067, 227.970456209519, 675.233968650155, 2000.0] 

謝謝!

回答

4

如果我正確理解你的問題,你就有一個遵循指數增長的過程,在這裏你知道最終的值X,並且你正在以離散的時間間隔觀察過程。
當減小到離散時間間隔時,指數增長作爲幾何系列進行,即,其中r是增長率,其中x是幾何係數,X(t + 1)= X(t)*(1 + r)。
爲了推斷增長,您需要知道起始價值或費率。我假設你有X(0),初始值。在這種情況下,您可以在r中求解,增長率爲: (1 + r)=(X(T)/((1) X(0))^(1/T)
希望這有助於!

相關問題