利用泰勒展开式和while循环计算任意x的sin(x)并输出,输出到小数点后7位。
时间: 2024-12-11 22:17:53 浏览: 14
利用泰勒展开式计算正弦函数可以使用无限级数的形式,例如马萨林公式(Maclaurin Series),对于正弦函数,它是一个非常著名的级数:
\[ \sin(x) = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots \]
为了实现这个计算,并保证精度达到小数点后7位,我们可以设置一个阈值,当项的绝对值小于这个阈值时停止计算。下面是一个简单的Python代码示例,使用while循环来逼近计算结果:
```python
def sin_taylor(x, precision=1e-7):
series = x
fact = 1
next_term = x**3 / (3 * fact)
while abs(next_term) >= precision:
series += next_term
fact *= 2
next_term = x**((fact + 1) // 2) / ((fact + 1) * fact)
return round(series, 7)
# 计算sin(π/4)的例子
x = math.pi / 4
result = sin_taylor(x)
print(f"sin({x}) ≈ {result}")
阅读全文