我有以下的代碼,但在運行時,它給0.0
應該返回2
一個值,因爲我試圖在區間[0, pi]
到sin(x)
整合。 請指教。數值積分與黎曼和(Python)的
from math import sin, pi
def Rsum(a,b):
for i in range(1001):
s = 0
delx = float((b-a)/1000)
g = i*delx
h = (i+1)*delx
y_i = float(sin(a+g))
y_ii = float(sin(a+h))
s += 1/2 * (y_i + y_ii) * delx
return s
print Rsum(0,pi)
謝謝。當然,菜鳥的錯誤。 :) 使用這個,我得到一個答案(-4.93479408312e-06)。但是,這不是預期的。該函數應該使用梯形法則來計算曲線下的面積,在這種情況下是sin(x)。 有什麼建議嗎? – TopGun
嘗試在循環外移動s = 0。 – recursive
謝謝遞歸!這現在起作用。 :) 我得到1.99999342027 但是,這是如何幫助完全?在前面的例子中,每次循環運行時是否被重新定義(重置爲0)? – TopGun