本文整理汇总了C++中Generator::get_prob方法的典型用法代码示例。如果您正苦于以下问题:C++ Generator::get_prob方法的具体用法?C++ Generator::get_prob怎么用?C++ Generator::get_prob使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Generator
的用法示例。
在下文中一共展示了Generator::get_prob方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: set_cdf
void set_cdf(const Generator& gen, SummedCdf& cdf, GslContext& context)
{
gsl_matrix *A = (gsl_matrix *) context.get_input();
gsl_matrix *B = (gsl_matrix *) context.get_output();
const Stencil& bounds = cdf.bounds();
const int n = context.get_size();
// if (gen.get_size() != 4) throw 1;
// double *test_q = new double[(n-1) * (n-1)];
for (int i=0;i<bounds.N;i++)
{
double t = bounds.unmap(i);
for (int j=0;j<n-1;j++)
for (int k=0;k<n-1;k++)
{
gsl_matrix_set(A, j, k, gen.get_prob(j, k) * t);
// test_q[j * (n-1) + k] = gen.get_prob(j, k) * t;
}
gsl_linalg_exponential_ss(A, B, GSL_PREC_DOUBLE);
double d = 0;
for (int j=0;j<n-1;j++)
d += gsl_matrix_get(B, 0, j);
// std::cout << "x =" << t << std::endl;
// std::cout << "d =" << d << std::endl;
// std::cout << "approximation=" << mat_exp_3_5(test_q) << std::endl;
// std::cout << std::endl;
cdf.set(i, 1-d);
}
// delete test_q;
}