【发布时间】:2014-06-09 16:50:21
【问题描述】:
我有五个时期的数据及其概率,我想用 20000 次模拟它 使用泊松分布,我希望 x 轴从 0-1 开始,我尝试过,但我在这里存储我的代码: 有没有比我做的更容易编码的方法
import numpy
import matplotlib.pyplot
import pylab
import numpy as np
from pylab import *
data = []
inventory = 0
for j in range(4000):
totalOrder= 0
totalProduction = 0
for i in range (5):
# calculate order
mean = 105
order = np.random.gamma(mean, 20000)
totalOrder = totalOrder+order
# calculate production
production = numpy.random.choice([80, 100, 130, 150], p = [0.2, 0.50 ,0.20, 0.1])
totalProduction = totalProduction + production
# calcculate new inventory
inventory = inventory + production - order
if inventory < 0:
inventory = 0
# calculate fill rate for last 5 orders
fr = float(totalProduction) / float(totalOrder)
if fr > 1:
fr = 1
# append FR to dataset
data.append(fr)
grid(True)
xlabel('Fill Rate')
ylabel('Density')
title('Simulate the system for 20000 week')
matplotlib.pyplot.hist(data, normed = True)
pylab.show()
【问题讨论】:
-
这段代码有效吗?如果不是,它有什么作用?错误(提供追溯)?意外输出(提供输入以及预期和实际输出)?
-
是的,它可以运行代码,但我需要 X 轴从 0-1 开始,当我想绘图时它出现另一个数字,我希望 X 轴从 0 - 1 开始。
标签: python matplotlib