我正在尝试编写一个返回f(x)如下图所示的函数
但是,当我插入输入N和时x,我不断得到错误的答案。
我怀疑这可能与我在函数中的求和有关,但我不确定具体在哪里。我尝试使用import math.fsum来缩短函数的长度,也许这会影响答案。
任何建议将不胜感激。这是我的代码f(x),其衍生代码f(x)包含在函数中:
from math import sin, cos, pi, fsum
def f(x, N):
for i in range(1, N):
h = (x/N) + pi/(2*N)
p = (-pi/2) + i*h
y = (h/2)*(df(-pi/2) + df(x)) + h*fsum([df(p) for i in range(1, N)])
return(y)
def df(x):
d = (3*cos(x)) / ((2 + sin(x))**2)
return(d)
