整数的阶乘(factorial)是所有小于及等于该数的正整数的积,0的阶乘为1。即:n!=1×2×3×...×n。
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from scipy.special import gamma
from scipy.special import factorial
mpl.rcParams['axes.unicode_minus'] = False
mpl.rcParams['font.sans-serif'] = 'SimHei'
if __name__ == '__main__':
N = 5
x = np.linspace(0, N, 50)
y = gamma(x+1)
plt.figure(facecolor='w')
plt.plot(x, y, 'r-', x, y, 'm*', lw=2)
z = np.arange(0, N+1)
print z
f = factorial(z, exact=True) # 阶乘
print f
plt.plot(z, f, 'go', markersize=8)
plt.grid(b=True)
plt.xlim(-0.1,N+0.1)
plt.ylim(0.5, np.max(y)*1.05)
plt.xlabel(u'X', fontsize=15)
plt.ylabel(u'Gamma(X) - 阶乘', fontsize=15)
plt.title(u'阶乘和Gamma函数', fontsize=16)
plt.show()