python实现sin函数

from math import fabs
from math import pi

def sin(x):
    g = 0
    t = x
    n = 1
    while (fabs(t) >= 1e-10):
        g += t
        n += 1
        t = -t * x * x / (2 * n - 1) / (2 * n - 2)
    return g

ans = sin(pi / 2)
print(ans)
0.9999999999939768
  1. 初始:
    g = 0, n = 2 , t = x
    t = x 1 ! t=\frac{x}{1!} t=1!x
    进入循环
    1. 第一步:
      g = x, n=2, t = -x*x*x / 3 /2
      也就是
      g = x 1 ! , t = − x 3 3 ! g=\frac{x}{1!}, t=-\frac{x^3}{3!} g=1!x,t=3!x3
    2. 第二步:
      g = x - xxx/6
      n = 3
      t = -(-x*x*x/3/2)*x*x / 5 / 4
      g = x 1 ! − x 3 3 ! , t = x 5 5 ! g=\frac{x}{1!} -\frac{x^3}{3!}, t=\frac{x^5}{5!} g=1!x3!x3,t=5!x5
      以此类推,也就是sinx的公式
      s i n x = x 1 ! − x 3 3 ! + x 5 5 ! − x 7 7 ! + . . . = ∑ n = 1 ∞ ( − 1 ) n − 1 x 2 n − 1 ( 2 n − 1 ) ! sinx=\frac{x}{1!} -\frac{x^3}{3!}+\frac{x^5}{5!}-\frac{x^7}{7!}+...=\sum_{n=1}^{\infty}(-1)^{n-1}\frac{x^{2n-1}}{(2n-1)!} sinx=1!x3!x3+5!x57!x7+...=n=1(1)n1(2n1)!x2n1

参考:
《C++语言程序设计》 郑莉等,例3-5.

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值