整数的阶乘(factorial)是所有小于及等于该数的正整数的积,0的阶乘为1。即:n!=1×2×3×...×n。
import numpy as npimport matplotlib as mplimport matplotlib.pyplot as pltfrom scipy.special import gammafrom scipy.special import factorialmpl.rcParams['axes.unicode_minus'] = Falsempl.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()