gpt4 book ai didi

c++ - 将 gsl_ran_hypergeometric_pdf(k, n1, n2, t) 翻译成 boost::math::hypergeometric_distribution

转载 作者:太空宇宙 更新时间:2023-11-04 12:03:14 25 4
gpt4 key购买 nike

如何翻译这个使用超几何的 C++ 程序来自 GNU Scientific Library 的分布函数

http://www.gnu.org/software/gsl/manual/html_node/The-Hypergeometric-Distribution.html

进入一个 C++ 程序,该程序使用来自 Boost library 的类似函数?

#include <cstdlib>
#include <iostream>
#include <gsl/gsl_randist.h>
#include <gsl/gsl_cdf.h>

int main(int argc,char *argv[]) {
unsigned int n1 = 256;
unsigned int n2 = 1583;
unsigned int t = 300;
unsigned int k = 40;
std::cout << gsl_ran_hypergeometric_pdf(k, n1, n2, t)
<< std::endl
<< gsl_cdf_hypergeometric_P(k, n1, n2, t)
<< std::endl;
return EXIT_SUCCESS;
}

最佳答案

这是对 Boost 函数的翻译:

#include <cstdlib>
#include <iostream>
#include <boost/math/distributions/hypergeometric.hpp>
#include <boost/math/policies/policy.hpp>

int main(int argc, char *argv[]) {
unsigned int n1 = 256;
unsigned int n2 = 1583;
unsigned int t = 300;
unsigned int k = 40;
boost::math::hypergeometric_distribution<double> hg_dist(n1, t, n1 + n2);
std::cout << boost::math::pdf<double>(hg_dist, k)
<< std::endl
<< boost::math::cdf<double>(hg_dist, k)
<< std::endl;
return EXIT_SUCCESS;
}

更多信息见 http://www.boost.org/doc/libs/1_52_0/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html

关于c++ - 将 gsl_ran_hypergeometric_pdf(k, n1, n2, t) 翻译成 boost::math::hypergeometric_distribution,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13274665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com