编写一个程序计算sinx和cosx的近似值,使用如下的台劳级数公式 舍去的绝对值应小于ε
时间: 2024-10-11 19:09:20 浏览: 74
编写一个程序来计算正弦函数 sin(x) 和余弦函数 cos(x) 的近似值,可以利用泰勒级数展开。泰勒级数对于 sin(x) 和 cos(x) 的表达式如下:
对于 sin(x):
\[ \sin(x) = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + ... \]
对于 cos(x):
\[ \cos(x) = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \frac{x^6}{6!} + ... \]
为了满足精度要求 ε,我们可以设定一个阈值,当舍去的项的绝对值小于这个阈值时停止计算。以下是一个简单的 Python 示例:
```python
def calculate_sine_cosine(x, epsilon):
def term(n):
return (-1)**n * x**(2*n) / math.factorial(2*n)
sine_terms = [term(i) for i in range(1, int(math.log(epsilon, abs(x)))+1)]
cosine_terms = [term(i) for i in range(0, int(math.log(epsilon, abs(x))//2)+1)] # 因为 cos(x) 系数是偶数阶
sine_approximation = sum(sine_terms)
cosine_approximation = sum(cosine_terms) + 1 # 加上初始的 1
return sine_approximation, cosine_approximation
# 使用示例
x = math.pi / 4
epsilon = 1e-6
sine_val, cosine_val = calculate_sine_cosine(x, epsilon)
print(f"sin({x}) ≈ {sine_val}, cos({x}) ≈ {cosine_val}")
#
阅读全文