使用matplotlib、tkinter、math库编写一个程序,输入函数时能够绘制函数及其导数图像,并且输入三角函数时程序也能运行
时间: 2024-03-25 11:41:54 浏览: 64
Python3使用Matplotlib 绘制精美的数学函数图形
5星 · 资源好评率100%
好的,以下是程序的实现:
```python
import matplotlib.pyplot as plt
from tkinter import *
import math
# 定义绘图函数
def plot_func(func):
# 计算x和y的值
x = [i/10 for i in range(-100, 100)]
y = [func(i) for i in x]
dy = [func(i, 1) for i in x]
# 绘制函数图像
plt.subplot(211)
plt.plot(x, y, label="y=f(x)")
plt.legend()
# 绘制导数图像
plt.subplot(212)
plt.plot(x, dy, label="y=f'(x)")
plt.legend()
# 显示图像
plt.show()
# 定义三角函数
def sin(x, n=0):
if n == 0:
return math.sin(x)
elif n == 1:
return math.cos(x)
elif n == 2:
return -math.sin(x)
elif n == 3:
return -math.cos(x)
def cos(x, n=0):
if n == 0:
return math.cos(x)
elif n == 1:
return -math.sin(x)
elif n == 2:
return -math.cos(x)
elif n == 3:
return math.sin(x)
# 定义界面
root = Tk()
root.title("绘制函数及其导数图像")
# 定义输入框
func_var = StringVar()
func_entry = Entry(root, textvariable=func_var)
func_entry.pack()
# 定义绘图按钮
def draw():
# 获取函数表达式
func_str = func_var.get()
# 定义函数
def func(x, n=0):
return eval(func_str)
# 绘制图像
plot_func(func)
draw_button = Button(root, text="绘制图像", command=draw)
draw_button.pack()
root.mainloop()
```
运行程序,输入函数表达式,点击“绘制图像”按钮,即可绘制函数及其导数图像。如果输入三角函数如`sin(x)`、`cos(x)`等,程序也能正常运行。
阅读全文