创建具有上限和下限的柯西分布直方图

时间:2019-01-14 19:05:50

标签: python scipy

我想用直方图模拟以下洛伦兹分布

/
L = ————————
(E − E 0 )+ 0.25 2

我找到了scipy.stats.cauchy,并想像这样上下限地截断分布:

L = cauchy.rvs(size=300, loc = 5, scale =2.5, limits = [0,15] )

有可能吗?

1 个答案:

答案 0 :(得分:0)

您不能将viewModel.selectedPos.observe(this, Observer { position -> position?.let { moveToSavingsPlansViewPager.setCurrentItem(it, true) } }) 添加到limits方法中。据我所知,只有rvs可以做到。您可以执行的操作是使用truncnorm(或scipy.clip)剪切值或使用掩码过滤超出限制的值。

第一种方法会创建很多0和15:

numpy.clip

第二个将在您的间隔中随机分配:

import scipy as sp
L = sp.clip(cauchy.rvs(size=300, loc = 5, scale =2.5), 0, 15)