⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dcdflib_prb.c

📁 计算各种随机分布的密度函数
💻 C
📖 第 1 页 / 共 4 页
字号:
{  double ccdf_compute;  double ccdf_lookup;  double cdf_compute;  double cdf_lookup;  int n_data;  double ompr;  int s;  double s_double;  double pr;  int x;  double x_double;  cout << "\n";  cout << "TEST13\n";  cout << "  CUMBIN computes the Binomial CDF\n";  cout << "    and the complementary CDF.\n";  cout << "  BINOMIAL_CDF_VALUES looks up some values.\n";  cout << "\n";  cout << "   X   S    Pr       CDF           CDF\n";  cout << "                    (Lookup)      (Computed)\n";  cout << "\n";  n_data = 0;  for ( ; ; )  {    binomial_cdf_values ( &n_data, &x, &pr, &s, &cdf_lookup );    if ( n_data == 0 )    {      break;    }    ompr = 1.0E+00 - pr;    s_double = ( double ) s;    x_double = ( double ) x;    cumbin ( &s_double, &x_double, &pr, &ompr, &cdf_compute, &ccdf_compute );    cout << "  "         << setw(2)  << s           << "  "         << setw(2)  << x           << "  "         << setw(8)  << pr          << "  "         << setw(12) << cdf_lookup  << "  "         << setw(12) << cdf_compute << "\n";  }  cout << "\n";  cout << "   X   S    Pr       1-CDF         CCDF\n";  cout << "                    (Lookup)      (Computed)\n";  cout << "\n";  n_data = 0;  for ( ; ; )  {    binomial_cdf_values ( &n_data, &x, &pr, &s, &cdf_lookup );    if ( n_data == 0 )    {      break;    }    ccdf_lookup = 1.0E+00 - cdf_lookup;    ompr = 1.0E+00 - pr;    s_double = ( double ) s;    x_double = ( double ) x;    cumbin ( &s_double, &x_double, &pr, &ompr, &cdf_compute, &ccdf_compute );    cout << "  "         << setw(2)  << s            << "  "         << setw(2)  << x            << "  "         << setw(8)  << pr           << "  "         << setw(12) << ccdf_lookup  << "  "         << setw(12) << ccdf_compute << "\n";  }  return;}//****************************************************************************80void test14 ( void )//****************************************************************************80////  Purpose:////    TEST14 tests CUMCHI, CHI_SQUARE_CDF_VALUES.//{  double ccdf_compute;  double ccdf_lookup;  double cdf_compute;  double cdf_lookup;  int df;  double df_double;  int n_data;  double x;  cout << "\n";  cout << "TEST14\n";  cout << "  CUMCHI computes the chi square CDF\n";  cout << "    and the complementary CDF.\n";  cout << "  CHI_SQUARE_CDF_VALUES looks up some values.\n";  cout << "\n";  cout << "    X       DF    CDF           CDF\n";  cout << "                 (Lookup)      (Computed)\n";  cout << "\n";  n_data = 0;  for ( ; ; )  {    chi_square_cdf_values ( &n_data, &df, &x, &cdf_lookup );    if ( n_data == 0 )    {      break;    }    df_double = ( double ) df;    cumchi ( &x, &df_double, &cdf_compute, &ccdf_compute );    cout << "  "         << setw(8)  << x           << "  "         << setw(2)  << df          << "  "         << setw(12) << cdf_lookup  << "  "         << setw(12) << cdf_compute << "\n";  }  cout << "\n";  cout << "    X       DF    1-CDF         CCDF\n";  cout << "                 (Lookup)      (Computed)\n";  cout << "\n";  n_data = 0;  for ( ; ; )  {    chi_square_cdf_values ( &n_data, &df, &x, &cdf_lookup );    if ( n_data == 0 )    {      break;    }    ccdf_lookup = 1.0E+00 - cdf_lookup;    df_double = ( double ) df;    cumchi ( &x, &df_double, &cdf_compute, &ccdf_compute );    cout << "  "         << setw(8)  << x            << "  "         << setw(2)  << df           << "  "         << setw(12) << ccdf_lookup  << "  "         << setw(12) << ccdf_compute << "\n";  }  return;}//****************************************************************************80void test15 ( void )//****************************************************************************80////  Purpose:////    TEST15 tests CUMCHN, CHI_NONCENTRAL_CDF_VALUES.//{  double ccdf_compute;  double ccdf_lookup;  double cdf_compute;  double cdf_lookup;  int df;  double df_double;  double lambda;  int n_data;  double x;  cout << "\n";  cout << "TEST15\n";  cout << "  CUMCHN computes the cumulative density\n";  cout << "    function for the noncentral chi-squared\n";  cout << "    distribution.\n";  cout << "  CHI_NONCENTRAL_CDF_VALUES looks up some values.\n";  cout << "\n";  cout << "    DF    Lambda    X         CDF           CDF\n";  cout << "                             (Lookup)      (Computed)\n";  cout << "\n";  n_data = 0;  for ( ; ; )  {    chi_noncentral_cdf_values ( &n_data, &x, &lambda, &df, &cdf_lookup );    if ( n_data == 0 )    {      break;    }    df_double = ( double ) df;    cumchn ( &x, &df_double, &lambda, &cdf_compute, &ccdf_compute );    cout << "  "         << setw(6)  << df          << "  "         << setw(8)  << lambda      << "  "         << setw(8)  << x           << "  "         << setw(12) << cdf_lookup  << "  "         << setw(12) << cdf_compute << "\n";  }  cout << "\n";  cout << "    DF    Lambda    X         1-CDF         CCDF\n";  cout << "                             (Lookup)      (Computed)\n";  cout << "\n";  n_data = 0;  for ( ; ; )  {    chi_noncentral_cdf_values ( &n_data, &x, &lambda, &df, &cdf_lookup );    if ( n_data == 0 )    {      break;    }    ccdf_lookup = 1.0E+00 - cdf_lookup;    df_double = ( double ) df;    cumchn ( &x, &df_double, &lambda, &cdf_compute, &ccdf_compute );    cout << "  "         << setw(6)  << df           << "  "         << setw(8)  << lambda       << "  "         << setw(8)  << x            << "  "         << setw(12) << ccdf_lookup  << "  "         << setw(12) << ccdf_compute << "\n";  }  return;}//****************************************************************************80void test16 ( void )//****************************************************************************80////  Purpose:////    TEST16 tests CUMF, F_CDF_VALUES.//{  double ccdf_compute;  double ccdf_lookup;  double cdf_compute;  double cdf_lookup;  int dfd;  double dfd_double;  int dfn;  double dfn_double;  int n_data;  double x;  cout << "\n";  cout << "TEST16\n";  cout << "  CUMF computes the F CDF\n";  cout << "    and the complementary CDF.\n";  cout << "  F_CDF_VALUES looks up some values.\n";  cout << "\n";  cout << "    X      DFN DFD    CDF           CDF\n";  cout << "                     (Lookup)      (Computed)\n";  cout << "\n";  n_data = 0;  for ( ; ; )  {    f_cdf_values ( &n_data, &dfn, &dfd, &x, &cdf_lookup );    if ( n_data == 0 )    {      break;    }    dfn_double = ( double ) dfn;    dfd_double = ( double ) dfd;    cumf ( &x, &dfn_double, &dfd_double, &cdf_compute, &ccdf_compute );    cout << "  "         << setw(8)  << x           << "  "         << setw(2)  << dfn         << "  "         << setw(2)  << dfd         << "  "         << setw(12) << cdf_lookup  << "  "         << setw(12) << cdf_compute << "\n";  }  cout << "\n";  cout << "    X      DFN DFD    1-CDF         CCDF\n";  cout << "                     (Lookup)      (Computed)\n";  cout << "\n";  n_data = 0;  for ( ; ; )  {    f_cdf_values ( &n_data, &dfn, &dfd, &x, &cdf_lookup );    if ( n_data == 0 )    {      break;    }    ccdf_lookup = 1.0E+00 - cdf_lookup;    dfn_double = ( double ) dfn;    dfd_double = ( double ) dfd;    cumf ( &x, &dfn_double, &dfd_double, &cdf_compute, &ccdf_compute );    cout << "  "         << setw(8)  << x            << "  "         << setw(2)  << dfn          << "  "         << setw(2)  << dfd          << "  "         << setw(12) << ccdf_lookup  << "  "         << setw(12) << ccdf_compute << "\n";  }  return;}//****************************************************************************80void test17 ( void )//****************************************************************************80////  Purpose:////    TEST17 tests CUMFNC, F_NONCENTRAL_CDF_VALUES.//{  double ccdf_compute;  double ccdf_lookup;  double cdf_compute;  double cdf_lookup;  int dfd;  double dfd_double;  int dfn;  double dfn_double;  double lambda;  int n_data;  double x;  cout << "\n";  cout << "TEST17\n";  cout << "  CUMFNC computes the noncentral F CDF\n";  cout << "    and the complementary CDF.\n";  cout << "  F_NONCENTRAL_CDF_VALUES looks up some values.\n";  cout << "\n";  cout << "    X      DFN DFD    LAMBDA    CDF           CDF\n";  cout << "                               (Lookup)      (Computed)\n";  cout << "\n";  n_data = 0;  for ( ; ; )  {    f_noncentral_cdf_values ( &n_data, &dfn, &dfd, &lambda, &x, &cdf_lookup );    if ( n_data == 0 )    {      break;    }    dfn_double = ( double ) dfn;    dfd_double = ( double ) dfd;    cumfnc ( &x, &dfn_double, &dfd_double, &lambda, &cdf_compute,       &ccdf_compute );    cout << "  "         << setw(8)  << x           << "  "         << setw(2)  << dfn         << "  "         << setw(2)  << dfd         << "  "         << setw(8)  << lambda      << "  "         << setw(12) << cdf_lookup  << "  "         << setw(12) << cdf_compute << "\n";  }  cout << "\n";  cout << "    X      DFN DFD    LAMBDA    1-CDF         CCDF\n";  cout << "                               (Lookup)      (Computed)\n";  cout << "\n";  n_data = 0;  for ( ; ; )  {    f_noncentral_cdf_values ( &n_data, &dfn, &dfd, &lambda, &x, &cdf_lookup );    if ( n_data == 0 )    {      break;    }    ccdf_lookup = 1.0E+00 - cdf_lookup;    dfn_double = ( double ) dfn;    dfd_double = ( double ) dfd;    cumfnc ( &x, &dfn_double, &dfd_double, &lambda, &cdf_compute,       &ccdf_compute );    cout << "  "         << setw(8)  << x            << "  "         << setw(2)  << dfn          << "  "         << setw(2)  << dfd          << "  "         << setw(8)  << lambda       << "  "         << setw(12) << ccdf_lookup  << "  "         << setw(12) << ccdf_compute << "\n";  }  return;}//****************************************************************************80void test18 ( void )//****************************************************************************80////  Purpose:////    TEST18 tests CUMGAM, GAMMA_INC_VALUES.//{  double a;  double ccdf_compute;  double ccdf_lookup;  double cdf_compute;  double cdf_lookup;  int n_data;  double x;  cout << "\n";  cout << "TEST18\n";  cout << "  CUMGAM computes the Gamma CDF\n";  cout << "    and the complementary CDF.\n";  cout << "  GAMMA_INC_VALUES looks up some values.\n";  cout << "\n";  cout << "    A         X         CDF           CDF\n";  cout << "                        (Lookup)      (Computed)\n";  cout << "\n";  n_data = 0;  for ( ; ; )  {    gamma_inc_values ( &n_data, &a, &x, &cdf_lookup );    if ( n_data == 0 )    {      break;    }    cumgam ( &x, &a, &cdf_compute, &ccdf_compute );    cout << "  "         << setw(8)  << a           << "  "         << setw(8)  << x           << "  "         << setw(12) << cdf_lookup  << "  "         << setw(12) << cdf_compute << "\n";  }  cout << "\n";  cout << "    A         X         CDF           CDF\n";  cout << "                        (Lookup)      (Computed)\n";  cout << "\n";  n_data = 0;  for ( ; ; )  {    gamma_inc_values ( &n_data, &a, &x, &cdf_lookup );    if ( n_data == 0 )    {      break;    }    ccdf_lookup = 1.0E+00 - cdf_lookup;    cumgam ( &x, &a, &cdf_compute, &ccdf_compute );    cout << "  "         << setw(8)  << a            << "  "         << setw(8)  << x            << "  "         << setw(12) << ccdf_lookup  << "  "         << setw(12) << ccdf_compute << "\n";  }  return;}//****************************************************************************80void test19 ( void )//****************************************************************************80////  Purpose:////    TEST19 tests CUMNBN, NEGATIVE_BINOMIAL_CDF_VALUES.//{  double ccdf_compute;  double ccdf_lookup;  double cdf_compute;  double cdf_lookup;  int f;  double f_double;  int n_data;  double ompr;  int s;  double s_double;  double pr;  cout << "\n";  cout << "TEST19\n";  cout << "  CUMNBN computes the Negative Binomial CDF\n";  cout << "    and the complementary CDF.\n";  cout << "  NEGATIVE_BINOMIAL_CDF_VALUES looks up some values.\n";  cout << "\n";  cout << "   F   S    Pr       CDF           CDF\n";  cout << "                     (Lookup)      (Computed)\n";  cout << "\n";  n_data = 0;  for ( ; ; )  {    negative_binomial_cdf_values ( &n_data, &f, &s, &pr, &cdf_lookup );    if ( n_data == 0 )    {      break;    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -