Мне нужно построить следующую функцию с помощью python.
fx =(x**4 - 7*x**3 + 15*x**2 - 21*x + 36) / (x**2-7*x+6)
Когда я рисую это, используя Matplotlib, это дает мне это...
выходной питон
Но согласно Geogebra это должно выглядеть так.
выходная геогебра
Код Python: (определено x как символ sympy выше)
x = numpy.linspace(-10, 10, 100)
fx =(x**4 - 7*x**3 + 15*x**2 - 21*x + 36) / (x**2-7*x+6)
plt.plot(x,fx)
plt.xlabel("x")
plt.ylabel("y")
plt.title('f(x)')
plt.grid()
plt.show()
Я новичок в использовании библиотеки Matplotlib, так что это может быть что-то действительно глупое (о_о)... но я надеюсь, что кто-нибудь может дать мне совет, как это решить, или помочь мне :)
Спасибо!
"Решение"
похоже, что это тот же график, но с другим ограничением по осям x и y.
Вы можете установить их с помощью plt.xlim
и plt.ylim
(док)
в твоем случае:
plt.xlim(-15, 15)
plt.ylim(-25, 25)
Я так не думаю? Асимптота на графике matplotlib составляет около x = 6, а на геогебре - около x = 1. И кривая приближается к этой асимптоте с разных направлений на двух графиках (это означает, что положительная сторона по отношению к асимптоте идет к +inf на одном графике и -inf на другом). график вольфрама-альфа доказывает, что график геогебры правильный.
Это сработало! Похоже, они одинаковы. Теперь мне просто нужно избавиться от "вертикальных линий"... :) СПАСИБО
Я добавил изображение «правильного» сюжета питона.
@itaishz да, мне это тоже кажется странным ... эти колебания при x = 1 на графике matplotlib также являются асимптотами, но они просто не выглядят так, как на этом графике, потому что matplotlib не рисует их полностью по какой-то причине
Я предполагаю, что matplotlib отображает график так, что он не выглядит как правильный график при уменьшении масштаба.
@itaishz, за исключением вертикальных линий, соединяющих две части функции, данные в этой области одинаковы