用python在同一绘图中同时绘制函数ln(x) + cos(x)和其在x=π/2和x=0.5处切线的图像(关于切线用两种求取方法)
时间: 2023-05-11 16:02:37 浏览: 161
可以使用matplotlib库来绘制这些函数和切线的图像。以下是代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义函数和切线
def ln(x):
return np.log(x)
def cos(x):
return np.cos(x)
def ln_tan(x):
return 1/x
def cos_tan(x):
return -np.sin(x)
# 定义x的范围
x = np.linspace(0.1, 2*np.pi, 100)
# 绘制函数图像
plt.plot(x, ln(x), label='ln(x)')
plt.plot(x, cos(x), label='cos(x)')
# 绘制切线图像
plt.plot([np.pi/2, np.pi/2], [ln(np.pi/2)-ln_tan(np.pi/2)*(np.pi/2), ln(np.pi/2)+ln_tan(np.pi/2)*(np.pi/2)], 'r--', label='ln(x) at x=π/2')
plt.plot([0.5, 0.5], [ln(0.5)-ln_tan(0.5)*0.5, ln(0.5)+ln_tan(0.5)*0.5], 'g--', label='ln(x) at x=0.5')
plt.plot([np.pi/2, np.pi/2], [cos(np.pi/2)-cos_tan(np.pi/2)*(np.pi/2), cos(np.pi/2)+cos_tan(np.pi/2)*(np.pi/2)], 'b--', label='cos(x) at x=π/2')
plt.plot([0.5, 0.5], [cos(0.5)-cos_tan(0.5)*0.5, cos(0.5)+cos_tan(0.5)*0.5], 'm--', label='cos(x) at x=0.5')
# 添加图例和标签
plt.legend()
plt.xlabel('x')
plt.ylabel('y')
plt.title('Functions and Tangent Lines')
# 显示图像
plt.show()
```
这段代码将绘制ln(x)和cos(x)的函数图像,以及它们在x=π/2和x=0.5处的切线图像。其中,红色虚线表示ln(x)在x=π/2处的切线,绿色虚线表示ln(x)在x=0.5处的切线,蓝色虚线表示cos(x)在x=π/2处的切线,紫色虚线表示cos(x)在x=0.5处的切线。
阅读全文