Python 如何在eval中使用sin(x)和cos(x)函数

Python 如何在eval中使用sin(x)和cos(x)函数,python,numpy,matplotlib,eval,trigonometry,Python,Numpy,Matplotlib,Eval,Trigonometry,我需要一个程序,它可以通过matplotlib和我在控制台中编写的函数生成图形。 但它不适用于三角函数。 我已经编写的代码是: 从numpy导入linspace 将matplotlib.pyplot作为plt导入 从数学输入sin,cos,tan 打印(“输入a:”) a=浮点(输入() 打印(“输入b:”) b=浮点(输入() x=linspace(a、b、1001) y=eval(输入()) 平面图(x,y) plt.xlabel('x') plt.ylabel('y') plt.show(

我需要一个程序,它可以通过matplotlib和我在控制台中编写的函数生成图形。 但它不适用于三角函数。 我已经编写的代码是:

从numpy导入linspace
将matplotlib.pyplot作为plt导入
从数学输入sin,cos,tan
打印(“输入a:”)
a=浮点(输入()
打印(“输入b:”)
b=浮点(输入()
x=linspace(a、b、1001)
y=eval(输入())
平面图(x,y)
plt.xlabel('x')
plt.ylabel('y')
plt.show()

我不太明白您想做什么,但这可能会有所帮助:

from numpy import linspace, sin, cos, tan
import matplotlib.pyplot as plt

a = float(input('Enter x0: '))
b = float(input('Enter x1: '))
x = linspace(a, b, 1001)

for trig_func in [sin, cos]:
    y = trig_func(x)
    plt.title(f'{trig_func.__name__}(x)')
    plt.plot(x, y)
    plt.xlabel('x')
    plt.ylabel('y')
    plt.show()

请解释您如何尝试实现eval功能。

我需要制作一个程序来描述我在控制台中编写的功能
我的程序已经可以使用例如x**2或x+2,但它不能使用三角函数。我需要我的程序可以同时执行这两个操作

numpy
导入函数,而不是从
数学
,即从numpy导入linspace、sin、cos、tan,这样它们就可以接受向量输入。不要只说“它不工作”!显示错误。其他人猜测您在使用
math.sin
numpy
数组
x
时遇到问题。在这种情况下,错误消息将说明如何创建Python标量。