幂律分布python作图
时间: 2023-11-03 20:02:48 浏览: 150
MATLAB用拟合出的代码绘图-plfit:python(以及fortran和cython)中的幂律分布拟合
幂律分布是一种在自然界和社会现象中非常常见的概率分布模型,其数学形式为P(x) = C * x^(-a),其中P(x)表示随机变量X的概率密度函数,C是归一化常数,a是幂律系数。
要在Python中作幂律分布的图形,可以使用numpy和matplotlib两个库来实现。
首先,导入所需库:
```
import numpy as np
import matplotlib.pyplot as plt
```
接下来,定义幂律分布的概率密度函数:
```
def power_law(x, a, C):
return C * x**(-a)
```
然后,生成符合幂律分布的随机数据:
```
a = 2 # 幂律系数
C = 1 # 归一化常数
n = 1000 # 生成数据的数量
x = np.random.power(a, n)
x = x / np.max(x) # 将数据归一化到[0, 1]范围
```
最后,绘制幂律分布的图像:
```
plt.plot(x, power_law(x, a, C), 'r-', lw=2)
plt.xlabel('x')
plt.ylabel('P(x)')
plt.title('Power Law Distribution')
plt.grid(True)
plt.show()
```
通过这段代码,我们生成了1000个符合幂律分布的随机数据,并绘制了其归一化的概率密度函数。你可以根据需要调整幂律系数a和归一化常数C来获得不同形状的分布图像。
希望对你有所帮助!
阅读全文