matplotlib の plot() はデータをプロットするが、Sympy の plot() を利用すると一般式をグラフ化できる。 数式を手っ取り早く視覚化するには使える
Sympy の plot() の第1引数に数式、第2引数にX軸の情報を入れる
from sympy.plotting import plot
from sympy import Number, NumberSymbol, Symbol, Eq, solve
import sys
def function():
x = Symbol('x')
return a*x**3 + b*x**2 + c*x + d
a, b, c, d = map(float, input('Please input a, b, c, d.').split())
min_x, max_x = map(float, input('Please input min x, max x.').split())
if (min_x >= max_x): sys.exit('invalid min x max x!')
x = Symbol('x')
y = function()
min_y = y.subs([(x, min_x)])
max_y = y.subs([(x, max_x)])
plot(y, (x, min_x, max_x))
ちなみに、以下でxの最大最小から、yの最大最小を求めている。
min_y = y.subs([(x, min_x)])
max_y = y.subs([(x, max_x)])