2013-03-23 87 views
0

我在Python中的平均水平,甚至在數學上也不是。Python數學問題

等式y = 122.32e-0.31x可用於計算您的網頁加載與其他網頁加載相比有多快。因此,5秒鐘內加載的網站比25%的網站快。

Y是百分比更快,x是以秒爲單位的頁面加載。

這個數據發現這裏 - http://www.seomoz.org/blog/site-speed-are-you-fast-does-it-matter

按此在轉換到Python我已經試過如下:

import math 
# y = 122.32e-0.31x 
y = (122.32*math.e)**(-0.31 * page_load_time) 

似乎並不正確。任何人都可以糾正代碼?

回答

3
import math 
y = 122.32*math.exp(-0.31*page_load_time) 

應該做你想要

+0

謝謝,MrDave。感謝你的幫助。對於4.1秒的加載時間,方程返回給我0.000369500140113。我需要做更多的事情來解釋它作爲一個百分比還是一起解決方案?我從上面的鏈接中找到它......但這只是一個快速的谷歌搜索。 – dajl

+0

從我的理解看來,你是對的。在您提到的頁面中報告的R2非常接近,以至於沒有太多可以進一步完成的工作。 – Dvx

+0

謝謝,現在所有人都按要求工作。我已將此標記爲答案。 – dajl

1

什麼公式爲y = 122.32e-0.31x

在Python中,這將是:

y = 122.32*math.e**(-0.31*x) 

我做了一段時間的測量:

>>> t = timeit.Timer('for i in l : e**i', setup = 'from math import e; l = range(10,50)') 
>>> t.timeit() 
23.76981210708618 
>>> t2 = timeit.Timer('for i in l : exp(i)', setup = 'from math import exp; l = range(10,50)') 
>>> t2.timeit() 
13.754070043563843 
>>> t.timeit() 
23.382396936416626 
>>> t2.timeit() 
13.842521905899048 

似乎兩者的方法的實現是不同的,math.exp,通過@MrDave所提到的,是快於math.e

+0

似乎我們在同一時間回答了這個問題。順便說一句,math.e ** x和math.exp之間有什麼區別(如果有的話)?它不是等價的:這是一個簡單的例子: >>> math.exp(2.0) - math.e ** 2 8.881784197001252e-16 這個差異在數值上並不重要,但仍然很有趣 – Dvx

+0

@ MrDave有很大的時差。查看更新。 – asheeshr