Как использовать функции sin (x) и cos (x) с eval - PullRequest
0 голосов
/ 20 октября 2019

Мне нужна программа, которая может создавать графики с помощью matplotlib с помощью функций, которые я пишу в консоли. Но это не работает с тригонометрическими функциями. Код, который я уже написал:

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

print("input a:")
a = float(input())
print("input b:")
b = float(input())
x = linspace(a, b, 1001)
y = eval(input())

plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('y')
plt.show()

Ответы [ 2 ]

0 голосов
/ 20 октября 2019

Мне нужно создать программу, которая будет описывать функцию, которую я пишу в консоли, с которой моя программа уже работает, например, x ** 2 или x + 2, но она не работает с тригонометрическими функциями. Мне нужна моя программа, чтобы сделать это как

0 голосов
/ 20 октября 2019

Я не совсем понимаю, что вы хотите сделать, но это может помочь:

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 ..

...