如何在 C++ 中根据 zipf 定律生成数字?

How do I generate numbers according to zipf's law in C++?

提问人:Henery Johnson 提问时间:7/4/2023 更新时间:7/4/2023 访问量:46

问:

对于数组,我想要一个函数根据 zipf 定律返回项目(位置 n 中的项目应具有 m/n 的频率,其中 m 是第一个也是最常见的项目的频率)。我什至不知道从哪里开始,我发现了类似的问题,但仅限于更具体的情况。arrayType arrayName[size] = . . .arrayType sample() { . . . }arrayName

我尝试过简单的搜索、精确搜索、各个地方的论坛拖钓、YouTube 视频和 Quora,但都无济于事,所以我在这里。任何帮助将不胜感激!

c++ 数组 函数 数学 zipf

评论

0赞 erip 7/4/2023
写一个负线性函数,将其应用于某个值,然后对其进行幂式运算。
1赞 interjay 7/4/2023
您可以使用砝码 1、1/2、1/3、...、1/n。std::discrete_distribution

答: 暂无答案