weixin_69932367 2023-06-19 19:18 采纳率: 83.3%
浏览 41
已结题

一个关于python的问题

定义函数cos(x)定义为 f(x,n)怎么保留5位小数。和求和问题

  • 写回答

6条回答 默认 最新

  • 全栈若城 新星创作者: 编程技术技术领域 2023-06-19 20:22
    关注

    如有帮助给个采纳谢谢 , 公式如下 :
    $$ \cos(x) = \frac{x^{0}}{0!}−\frac{x^{2}}{2!} + \frac{x^{4}}{4!}−\frac{x^{6}}{6!} + ... $$

    代码如下:

    
    import math
    
    def f(x, n):
        result = 0.0
        term = 1.0
        factorial = 1.0
        sign = 1
    
        k = 0
        while abs(term) >= n:
            result += term
            k += 1
            factorial *= (2 * k - 1) * (2 * k)
            term = math.pow(x, 2 * k) / factorial * sign
            sign *= -1
    
        return round(result, 5)
    
    # 测试代码
    x = -4.2
    n1 = 0.0001
    n2 = 0.01
    
    result1 = f(x, n1)
    result2 = f(x, n2)
    
    print(f"当x={x},n={n1}时,cos(x)的近似值为:{result1}")
    print(f"当x={x},n={n2}时,cos(x)的近似值为:{result2}")
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 6月27日
  • 已采纳回答 6月19日
  • 创建了问题 6月19日