【问题标题】:Solving Arc tan using Taylor series使用泰勒级数求解 Arc tan
【发布时间】:2016-02-10 19:45:17
【问题描述】:

我想使用泰勒级数求解 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)`

【问题讨论】:

  • 请比“我的代码不起作用”更具体。
  • u(i) = sum_i = sum_j 这一行在语法上是无效的 python。与S(j)=[math]Y(i) = [math] 一起做的事

标签: python math trigonometry taylor-series


【解决方案1】:

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

#!/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))

【讨论】:

  • 执行时需要提供一个参数(x的值),即'>> python mycode.py 1.0'
猜你喜欢
  • 2014-04-03
  • 2013-02-27
  • 2021-08-12
  • 2021-08-13
  • 2015-05-15
  • 1970-01-01
  • 1970-01-01
  • 2013-01-10
  • 2017-03-20
相关资源
最近更新 更多