在Python中拟合Maxwell-Boltzman分布

Mic*_*hal 2 python matplotlib scipy

是否有可能像matplotlib中的数据或python中的类似模块一样适合Maxwell-Boltzmann?

unu*_*tbu 11

scipy.stats支持maxwell发行版.


import scipy.stats as stats
import matplotlib.pyplot as plt
import numpy as np

maxwell = stats.maxwell
data = maxwell.rvs(loc=0, scale=5, size=10000)

params = maxwell.fit(data, floc=0)
print(params)
# (0, 4.9808603062591041)

plt.hist(data, bins=20, normed=True)
x = np.linspace(0, 25, 100)
plt.plot(x, maxwell.pdf(x, *params), lw=3)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

第一个参数是位置或偏离零.第二个参数是缩放参数,在维基百科页面a上表示.

要使用此分布生成随机变量(随机数据),请使用其rvs方法:

newdata = maxwell.rvs(*params, size=100)
Run Code Online (Sandbox Code Playgroud)