matplotlib 和阶乘函数

matplotlib and the factorial function

有没有直接使用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. 我认为 math 函数只接受标量(intfloat 等),而不是列表或 numpy 数组。

  2. 阶乘函数仅针对(正)整数定义,不适用于浮点数,例如0.5.

我认为您正在寻找 gamma function,它将阶乘函数扩展到实数上:

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()

输出: