матплотлиб и факторная функция - PullRequest
1 голос
/ 30 октября 2019

Есть ли прямой способ построения факториальной функции с помощью matplotlib? Я хотел бы построить x ^ 5 и 45n! вместе.

Я пытался использовать

import matplotlib.pyplot as plt
import numpy as np
import math
x = np.linspace(0, 10, 1000)
plt.plot(x, x**5)
plt.plot(x, 45*math.factorial(x))

, но факториальная часть не отображается. Есть идеи?

1 Ответ

2 голосов
/ 31 октября 2019

В вашем коде есть 2 вещи:

  1. Я думаю, math функции принимают только скаляры (int, float и т. Д.), А не списки или массивы.

  2. Факторная функция определена только для (положительных) целых чисел, а не для числа с плавающей запятой, например 0.5.

Я думаю, что вы ищетедля функции gamma , которая расширяет факториальную функцию над действительными числами:

from scipy.special import gamma

x = np.linspace(0, 10, 1000)
plt.plot(x,gamma(x), label='Factorial')
plt.plot(x, x**5, label='$x^5$')

xx = np.arange(11)
plt.scatter(xx, gamma(xx))
plt.legend()

Вывод: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...