如何获得N个总和等于M的随机整数

2024-03-25

我想制作一个由 N 个随机整数组成的列表,其总和等于 M 个数字。

我在Python中使用了numpy和dirichlet函数,但是这会生成双随机数数组,我想生成整数随机数。

import numpy as np 
np.random.dirichlet(np.ones(n))*m

解决方案可以使用其他发行版,意义上是解决问题。


使用时出现的问题dirichlet因为它是实数的分布。它将产生一个范围内的数字向量(0,1),其总和为 1,但截断或舍入它们可能会消除特定总和的保证。下列的这个帖子 http://sunny.today/generate-random-integers-with-fixed-sum/我们可以得到想要的效果multinomial分布(使用np.random.multinomial https://docs.scipy.org/doc/numpy-1.14.1/reference/generated/numpy.random.multinomial.html#numpy.random.multinomial), 如下:

from numpy.random import multinomial

np.random.multinomial(m, np.ones(n)/n)

这将生成n之间的整数0 and m,其总和为m,以相同的概率绘制给定位置。可视化这一点的最简单方法是将结果视为描述一组固定对象的绘制(例如,从 1 到 6 的整数进行骰子滚动绘制),其中最终数组是相应对象被绘制的次数。画。总数将始终等于给定的总抽奖次数(掷骰数)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获得N个总和等于M的随机整数 的相关文章

随机推荐

  • 具有两个或多个返回参数的函数注释

    当我为返回一个参数的函数编写注释时 没有任何问题 def func gt str return ok 但是 当我编写带有两个或更多参数的注释时 我的 PyCharm 给了我SyntaxError invalid syntax def fun
  • 以编程方式配置 Outlook 邮件设置?

    想知道是否有一种简单的方法可以通过编程方式向 Outlook 的邮件服务器设置添加和配置 POP3 服务器 搜索 Google 似乎得到的结果告诉我 我必须对存储在 HKCU Software Microsoft Windows NT Wi
  • 转发非引用类型的引用

    template
  • 为什么中断处理程序 (ISR) 无法休眠?

    我很困惑为什么中断处理程序不能休眠 我对同一问题有两种看法 中断处理程序不可调度 因为它没有task struct 如果处理程序休眠 则系统可能会挂起 因为系统时钟中断被屏蔽并且无法调度休眠进程 中断处理程序是可调度的吗 但虽然较低优先级的
  • Asp.net GridView - 如何在数据绑定之前访问数据源?

    我试图在将数据源绑定到网格之前访问数据源 我怎么做 我想我应该查看像 Grid DataBinding 这样的事件之一 是的 GridView DataBinding 事件将在绑定控件之前引发 您可以在该事件中访问 DataSource 控
  • 在 Windows 10 中找不到模块“internal/util/types”

    我刚刚尝试了很多解决方案来解决此问题 当我执行 npm install 时 我得到 Cannot find module internal util types 我尝试了以下基于 StackOverflow 和 Git 的解决方案 1 从
  • 检查字符串是否为实数[重复]

    这个问题在这里已经有答案了 有没有一种快速的方法来查找字符串是否是实数 而不是一次读取一个字符并执行isdigit 在每个角色上 例如 我希望能够测试浮点数0 03001 如果您将浮点数表示为实数 则这应该有效 def isfloat st
  • Objective-C 中的宏调用 isEqualToString:产生有关无效令牌的错误

    我正在尝试定义一个这样的宏 define SOME DEF TTys getString isEqualToString ANOTHER STRING 然后执行以下操作 if SOME DEF endif TTys getString 返回
  • 通过引用 Cython 传递单个整数?

    我正在尝试让一个测试项目正常运行 该项目调用一个 C 函数 其中有一个需要通过引用传递的整数参数 来自 Python test cpp include
  • 如何将用户输入输入 PackageMaker 包中?

    我正在尝试创建一个安装包 我已经掌握了所有组件 并且我想我了解了大部分过程 我想要一个作为安装一部分运行的安装 设置脚本 我计划将其作为安装后操作或安装后脚本 问题是我需要用户输入 我不知道如何将用户输入添加到脚本中 或者如何在安装 UI
  • 需要刷新页面内容

    我正在使用 codeigniter 框架 目前正在从事社交网络之类的工作 我的问题是 当用户单击提要链接时 我需要通知用户他们的朋友活动 而无需重新加载页面 我尝试过以下脚本 它增加了我的服务器的负载 完成此任务的任何其他想法 提前致谢 然
  • 描述编译时已知的“consteval”函数参数的名称,但 constexpr 不知道

    论证consteval函数是 sort of 编译时已知 but is not 常量表达式 安德鲁 萨顿 Andrew Sutton 在他的论文中解释了这种行为背后的动机翻译和评估 编译时元编程的思维模型 http www open std
  • 下载/缓存 Google 地图以供离线使用[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我希望能够在 Android 应用程序中实现这一点 并且我认为最新的 Google Maps API 版本可以实现这一点 但我还没有看到关
  • 在简单的 http get 示例中找不到模块“Network.HTTP”

    我正在尝试这个简单的例子 module Main where import Network HTTP import Lib get String gt IO String get url simpleHTTP getRequest url
  • WPF dataGrid查找单个单元格的X和Y并设置背景颜色

    我有一个绑定到数据网格 MVVM 的类型化数据集 我还有一个点列表 输入数据集中的 X 和 Y 表明哪些单元格有错误 检测这一点的逻辑很复杂并且在服务器端运行 我的目标是如果每个单元格有错误 则将其背景绘制为不同的颜色 即点列表包含该单元格
  • Mockk 模拟 Kotlin 中的私有属性

    我有一个带有私有字段的简单类 class EmployeeData private var employeeAge Int 0 fun getAge Int return 1 employeeAge 我正在尝试测试这个私有的employee
  • 下载电子邮件附件时使用 C# 中的 Microsoft Security Essentials

    我正在制作一个简单的程序 使用 VS2010 从 pop3 服务器获取电子邮件 可能会使用开源 OpenPOP 来完成其中的一些工作 然后它应该将电子邮件和附件保存在 MS SQL 数据库中 但问题是 虽然附件很容易从邮件服务器下载 但有没
  • 在 Flutter 桌面应用程序/插件中调试本机 C++ 代码

    我正在为 Flutter 桌面应用程序 Linux 和 Windows 创建本机插件实现 并且我想调试插件的 C 实现 我只找到了如何使用 ios android 平台代码执行此操作的指南 https flutter dev docs te
  • 如何让Jupyter Notebook在GPU上运行?

    在 Google Collab 中 您可以选择笔记本在 CPU 或 GPU 环境上运行 现在我有一台配备 NVDIA Cuda 兼容 GPU 1050 和最新 anaconda 的笔记本电脑 如何拥有与协作功能类似的功能 让我可以简单地让我
  • 如何获得N个总和等于M的随机整数

    我想制作一个由 N 个随机整数组成的列表 其总和等于 M 个数字 我在Python中使用了numpy和dirichlet函数 但是这会生成双随机数数组 我想生成整数随机数 import numpy as np np random diric