我是 C++ 新手,对缺乏可用的、通用的概率操作工具(即 Boost 和标准库中缺乏的东西)感到非常惊讶。我已经用其他语言完成了大量科学编程,但标准和/或无处不在的第三方附加组件始终包含全套概率工具。一位朋友宣称 Boost 是 C++ 的同等无处不在的附加组件,但当我阅读 Boost 文档时,即使它似乎也缺乏我认为非常基本的内置组件。
我找不到一个内置函数可以采用某种离散概率数组并生成根据这些概率选择的索引。我当然可以为此编写自己的函数,但我只是想检查我是否缺少执行此操作的标准方法。
我觉得必须在如此低的级别编写自己的函数是一件坏事,但我正在为一个完全用 C++ 编写的更大项目编写一个新的模拟模块。我通常的首选策略是用 Python 编写它并将 Python 链接到 C++,但是因为一旦我完成它,其他几个人将不得不管理这个代码,而他们都不了解 Python,所以我认为它会更谨慎地用 C++ 将其交付给他们。
更一般地说,人们在 C++ 中如何处理从标准分布中采样之类的事情,特别是像多元正态分布这样的基本事情?
也许我误解了你的意图,但在我看来你想要的只是std::discrete_distribution
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)