用python写出用递推法计算sinx
时间: 2024-06-11 20:07:35 浏览: 115
递推算法程序
这里提供一种用泰勒公式递推计算sinx的方法:
```python
import math
def sin(x):
# 将角度转为弧度
x = math.radians(x)
# 初始化结果和项
result = x
term = x
# 迭代计算
i = 1
while abs(term) >= 1e-10:
term *= - x**2 / ((2 * i) * (2 * i + 1))
result += term
i += 1
return result
print(sin(30)) # 0.5
print(sin(45)) # 0.7071067811865476
```
这里使用了泰勒公式:
$$\sin x = \sum_{n=0}^\infty (-1)^n \frac{x^{2n+1}}{(2n+1)!}$$
其中每一项都可以通过前一项递推得到。这个公式的精度并不高,但对于大部分情况已经足够。如果需要更高的精度,可以考虑使用其他方法,比如龙格-库塔等数值方法。
阅读全文