2

我想使用泰勒级数求解 arctan (x),但我的代码不起作用。我该如何解决这个问题?

#!usr/bin/python


from numpy import *    

def err(string):
    print string
    raw_input ('Press Enter to Exit')
    sys.exit()

def postive_term(x)
    sum_i = 0.0
    for i in range(50):
        Y(i) = 1**((4.0*i)+1.0)/((4.0*i)+1.0)
    sum_i = Y(i)
    return sum_i

def negatif_term(x)
    sum_j = 0.0
    for j in range(50):
        S(j) = 1**((4.0*j)+3.0)/((4.0*j)+3.0)
    sum_j = S(j)
    return sum_j                   

u(i) = sum_i - sum_j

print 'result Tan^{-1} (x)=', u(i)`
4

1 回答 1

2

代码中有一些语法错误,包括获取用户输入的方式以及如何调用这两个函数来表示正负项;工作版本如下。请注意,这只在区间 (-1,1) 内收敛,您可以使用包中的atan函数进行检查math

#!/usr/bin/python

import sys

def positive_term(x):
    sum_i = float(x)
    for i in range(1,50):
        sum_i += x**((4*i) + 1) / (4.0*i + 1.0)
    return sum_i

def negative_term(x):
    sum_i = 0.0
    for i in range(1,50):
        sum_i += x**((4*i)-1)/(4.0*i - 1.0)
    return sum_i

x = float(sys.argv[1])
print 'result Tan^{-1} (%.1f)= %.5f' % (x, positive_term(x) - negative_term(x))
于 2015-11-10T02:46:46.740 回答