问题描述
我应该计算任何整数x的绝对值的近似值。我需要编写一个函数abs_approx(x,N)
,该函数计算总和的N个第一项并返回f(x)。我要使用该函数来计算N = 1,2,3,4的近似值。
功能是:
这是我的以下程序,但我得到的绝对值为1为0.3009465364104349。这是完全错误的。有人看到我在做什么错吗?
from math import pi,cos
def abs_approx(x,N):
N=4
sum=0
for n in range(0,N+1):
num=cos((2*n-1)*x)
denom=(2*n-1)**2
sum+=num/denom
f=pi/2-4/pi*(sum)
return f
print(abs_approx(1,1))
打印:0.3009465364104349
解决方法
您是要从1
循环到N
吗?
from math import pi,cos
def abs_approx(x,N):
sigma = 0
for n in range(1,N + 1):
num = cos((2*n-1)*x)
denom = (2*n-1)**2
sigma += num/denom
f = (pi/2) - (4/pi*(sigma))
return f
print(abs_approx(1,4))
输出:
0.988880798353344