c++ - C++ 根库 - TF1.GetRandom() 函数无法正常工作
问题描述
我将 GetRandom() 函数用于 TF1 类型(根库)函数,但无法使其正常工作。 两者都有这个例子:
TF1* f1 = new TF1("f1", "30+x", 0.2*M_PI, 0.5*M_PI);
for(int i = 0; i < N; i++) {
cout << f1->GetRandom(0.2*M_PI, 0.5*M_PI) << endl;
}
在这个例子中:
TF1* f1 = new TF1("f1", "cos(x)", 0.2*M_PI, 0.5*M_PI);
for(int i = 0; i < N; i++) {
cout << f1->GetRandom(0.2*M_PI, 0.5*M_PI) << endl;
}
我得到这样的输出:
1.31227
0.933722
0.915021
1.52884
0.83633
1.55911
0.73908
与我预期的值不符。在第一个示例中,我希望它输出介于 30.6 和 31.8 之间的数字,而第二个示例输出介于 0 和 0.8 之间的数字。我是否误解了 GetRandom 函数的作用或其他错误?
解决方案
在您的示例中,f1->GetRandom
返回 range 中的值0.2*M_PI, 0.5*M_PI
。每个值的密度由函数 描述f1
:如果您要求GetRandom
足够的值,它们的相对出现将匹配 的形状f1
。
推荐阅读
- cybersource - 请在 CyberSource 身份验证方面需要一些帮助
- spring - 缓存查询结果并对它进行较小的查询
- bitmap - 重新渲染时水平翻转 ID2D1Bitmap
- apexcharts - Apexcharts - 标签颜色不匹配
- javascript - 如何从 NodeJS 中的用户名获取 Minecraft 玩家的 UUID?
- r - R 承诺/未来与 httr 和循环
- c++ - 从 stdio 获取一行以空格分隔的整数,而不知道它们是多少(C++)
- wordpress - 在 Woocommerce 产品页面上显示产品销售结束日期
- web-scraping - 在 python 中使用 bs4 进行网络抓取有问题
- c# - 从 ASP.NET MVC 迁移到 ASP.NET Core MVC - 动作模型绑定导致 null