python 根据sinx泰勒展开式绘图
时间: 2023-10-22 08:04:27 浏览: 70
好的,让我们来绘制一下吧。
以下是Python代码:
```python
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-2*np.pi, 2*np.pi, 100)
y = x - x**3/6 + x**5/120
plt.plot(x, y)
plt.title('sin(x) Taylor Expansion')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
```
这段代码使用NumPy和Matplotlib库,绘制出了-sin(x)到sin(x)之间的泰勒展开式曲线。您可以看到,泰勒展开式在x逼近0时收敛得非常好,可以很好地近似sin(x)的形状。希望您可以喜欢这个图形化展示!
相关问题
用Python代码实现泰勒展开式求sinx
好的,以下是用 Python 实现泰勒展开式求 sinx 的代码:
```python
import math
def sin(x):
# 将角度转换为弧度
x = math.radians(x)
# 初始化结果和项数
result = 0
n = 0
# 进行泰勒展开式的求和计算
while True:
# 每一项的值
item = (-1) ** n * x ** (2 * n + 1) / math.factorial(2 * n + 1)
# 如果当前项的值非常小,就可以停止求和了
if abs(item) < 1e-8:
break
# 加上当前项的值
result += item
# 增加项数
n += 1
# 返回最终结果
return result
# 测试代码
print(sin(0))
print(sin(30))
print(sin(45))
print(sin(60))
print(sin(90))
```
代码中用到了 math 模块,其中 radians() 函数将角度转换为弧度,factorial() 函数用于计算阶乘。在 while 循环中,每次计算一个项的值,如果当前项的值非常小就可以停止求和了。最终返回最终结果。
sinx的泰勒展开c++
以下是sinx的泰勒展开的C++代码:
```c++
#include <iostream>
#include <cmath>
using namespace std;
double factorial(int n) {
if(n == 0) {
return 1;
}
else {
return n * factorial(n - 1);
}
}
double sin(double x) {
double result = 0;
for(int i = 0; i < 10; i++) {
result += pow(-1, i) * pow(x, 2 * i + 1) / factorial(2 * i + 1);
}
return result;
}
int main() {
double x = 3.14159 / 4;
cout << "sin(" << x << ") = " << sin(x) << endl;
return 0;
}
```
其中,factorial函数用于计算阶乘,sin函数用于计算sinx的泰勒展开,main函数用于测试。在main函数中,我们计算了sin(π/4)的值,并输出结果。