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

📄 dist_graphs.cpp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 CPP
📖 第 1 页 / 共 2 页
字号:
               .shape(none)               .area_fill(colors[color_index]);             ++color_index;            color_index = color_index % (sizeof(colors)/sizeof(colors[0]));         }      }      plot.write(file);   }private:   bool m_pdf;   std::list<std::pair<std::string, Dist> > m_distributions;   double m_min_x, m_max_x, m_min_y, m_max_y;};int main(){   distribution_plotter<boost::math::gamma_distribution<> >       gamma_plotter;   gamma_plotter.add(boost::math::gamma_distribution<>(1), "shape = 0.5");   gamma_plotter.add(boost::math::gamma_distribution<>(2), "shape = 1");   gamma_plotter.add(boost::math::gamma_distribution<>(4), "shape = 3");   gamma_plotter.plot("Gamma Distribution PDF With Scale = 1", "gamma1_pdf.svg");   distribution_plotter<boost::math::gamma_distribution<> >       gamma_plotter2;   gamma_plotter2.add(boost::math::gamma_distribution<>(2, 0.5), "scale = 2");   gamma_plotter2.add(boost::math::gamma_distribution<>(2, 1), "scale = 0.5");   gamma_plotter2.add(boost::math::gamma_distribution<>(2, 2), "scale = 2");   gamma_plotter2.plot("Gamma Distribution PDF With Shape = 2", "gamma2_pdf.svg");   distribution_plotter<boost::math::normal>       normal_plotter;   normal_plotter.add(boost::math::normal(0, 1), "&#x3BC; = 0, &#x3C3; = 1");   normal_plotter.add(boost::math::normal(0, 0.5), "&#x3BC; = 0, &#x3C3; = 0.5");   normal_plotter.add(boost::math::normal(0, 2), "&#x3BC; = 0, &#x3C3; = 2");   normal_plotter.add(boost::math::normal(-1, 1), "&#x3BC; = -1, &#x3C3; = 1");   normal_plotter.add(boost::math::normal(1, 1), "&#x3BC; = 1, &#x3C3; = 1");   normal_plotter.plot("Normal Distribution PDF", "normal_pdf.svg");   distribution_plotter<boost::math::non_central_chi_squared>       nc_cs_plotter;   nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 0), "v=20, &#x3BB;=0");   nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 1), "v=20, &#x3BB;=1");   nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 5), "v=20, &#x3BB;=5");   nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 10), "v=20, &#x3BB;=10");   nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 20), "v=20, &#x3BB;=20");   nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 100), "v=20, &#x3BB;=100");   nc_cs_plotter.plot("Non Central Chi Squared PDF", "nccs_pdf.svg");   distribution_plotter<boost::math::non_central_beta>       nc_beta_plotter;   nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 0), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=0");   nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 1), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=1");   nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 5), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=5");   nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 10), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=10");   nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 40), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=40");   nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 100), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=100");   nc_beta_plotter.plot("Non Central Beta PDF", "nc_beta_pdf.svg");   distribution_plotter<boost::math::non_central_f>       nc_f_plotter;   nc_f_plotter.add(boost::math::non_central_f(10, 20, 0), "v1=10, v2=20, &#x3BB;=0");   nc_f_plotter.add(boost::math::non_central_f(10, 20, 1), "v1=10, v2=20, &#x3BB;=1");   nc_f_plotter.add(boost::math::non_central_f(10, 20, 5), "v1=10, v2=20, &#x3BB;=5");   nc_f_plotter.add(boost::math::non_central_f(10, 20, 10), "v1=10, v2=20, &#x3BB;=10");   nc_f_plotter.add(boost::math::non_central_f(10, 20, 40), "v1=10, v2=20, &#x3BB;=40");   nc_f_plotter.add(boost::math::non_central_f(10, 20, 100), "v1=10, v2=20, &#x3BB;=100");   nc_f_plotter.plot("Non Central F PDF", "nc_f_pdf.svg");   distribution_plotter<boost::math::non_central_t>       nc_t_plotter;   nc_t_plotter.add(boost::math::non_central_t(10, -10), "v=10, &#x3B4;=-10");   nc_t_plotter.add(boost::math::non_central_t(10, -5), "v=10, &#x3B4;=-5");   nc_t_plotter.add(boost::math::non_central_t(10, 0), "v=10, &#x3B4;=0");   nc_t_plotter.add(boost::math::non_central_t(10, 5), "v=10, &#x3B4;=5");   nc_t_plotter.add(boost::math::non_central_t(10, 10), "v=10, &#x3B4;=10");   nc_t_plotter.plot("Non Central T PDF", "nc_t_pdf.svg");   distribution_plotter<boost::math::beta_distribution<> >       beta_plotter;   beta_plotter.add(boost::math::beta_distribution<>(0.5, 0.5), "alpha=0.5, beta=0.5");   beta_plotter.add(boost::math::beta_distribution<>(5, 1), "alpha=5, beta=1");   beta_plotter.add(boost::math::beta_distribution<>(1, 3), "alpha=1, beta=3");   beta_plotter.add(boost::math::beta_distribution<>(2, 2), "alpha=2, beta=2");   beta_plotter.add(boost::math::beta_distribution<>(2, 5), "alpha=2, beta=5");   beta_plotter.plot("Beta Distribution PDF", "beta_pdf.svg");   distribution_plotter<boost::math::cauchy_distribution<> >       cauchy_plotter;   cauchy_plotter.add(boost::math::cauchy_distribution<>(-5, 1), "location = -5");   cauchy_plotter.add(boost::math::cauchy_distribution<>(0, 1), "location = 0");   cauchy_plotter.add(boost::math::cauchy_distribution<>(5, 1), "location = 5");   cauchy_plotter.plot("Cauchy Distribution PDF (scale = 1)", "cauchy_pdf1.svg");   distribution_plotter<boost::math::cauchy_distribution<> >       cauchy_plotter2;   cauchy_plotter2.add(boost::math::cauchy_distribution<>(0, 0.5), "scale = 0.5");   cauchy_plotter2.add(boost::math::cauchy_distribution<>(0, 1), "scale = 1");   cauchy_plotter2.add(boost::math::cauchy_distribution<>(0, 2), "scale = 2");   cauchy_plotter2.plot("Cauchy Distribution PDF (location = 0)", "cauchy_pdf2.svg");   distribution_plotter<boost::math::chi_squared_distribution<> >       chi_squared_plotter;   //chi_squared_plotter.add(boost::math::chi_squared_distribution<>(1), "v=1");   chi_squared_plotter.add(boost::math::chi_squared_distribution<>(2), "v=2");   chi_squared_plotter.add(boost::math::chi_squared_distribution<>(5), "v=5");   chi_squared_plotter.add(boost::math::chi_squared_distribution<>(10), "v=10");   chi_squared_plotter.plot("Chi Squared Distribution PDF", "chi_squared_pdf.svg");   distribution_plotter<boost::math::exponential_distribution<> >       exponential_plotter;   exponential_plotter.add(boost::math::exponential_distribution<>(0.5), "&#x3BB;=1");   exponential_plotter.add(boost::math::exponential_distribution<>(1), "&#x3BB;=2");   exponential_plotter.add(boost::math::exponential_distribution<>(2), "&#x3BB;=5");   exponential_plotter.plot("Exponential Distribution PDF", "exponential_pdf.svg");   distribution_plotter<boost::math::extreme_value_distribution<> >       extreme_value_plotter;   extreme_value_plotter.add(boost::math::extreme_value_distribution<>(-5), "location=1");   extreme_value_plotter.add(boost::math::extreme_value_distribution<>(0), "location=2");   extreme_value_plotter.add(boost::math::extreme_value_distribution<>(5), "location=5");   extreme_value_plotter.plot("Extreme Value Distribution PDF (shape=1)", "extreme_value_pdf1.svg");   distribution_plotter<boost::math::extreme_value_distribution<> >       extreme_value_plotter2;   extreme_value_plotter2.add(boost::math::extreme_value_distribution<>(0, 0.5), "shape=0.5");   extreme_value_plotter2.add(boost::math::extreme_value_distribution<>(0, 1), "shape=1");   extreme_value_plotter2.add(boost::math::extreme_value_distribution<>(0, 2), "shape=2");   extreme_value_plotter2.plot("Extreme Value Distribution PDF (location=0)", "extreme_value_pdf2.svg");   distribution_plotter<boost::math::fisher_f_distribution<> >       fisher_f_plotter;   fisher_f_plotter.add(boost::math::fisher_f_distribution<>(4, 4), "n=4, m=4");   fisher_f_plotter.add(boost::math::fisher_f_distribution<>(10, 4), "n=10, m=4");   fisher_f_plotter.add(boost::math::fisher_f_distribution<>(10, 10), "n=10, m=10");   fisher_f_plotter.add(boost::math::fisher_f_distribution<>(4, 10), "n=4, m=10");   fisher_f_plotter.plot("F Distribution PDF", "fisher_f_pdf.svg");   distribution_plotter<boost::math::lognormal_distribution<> >       lognormal_plotter;   lognormal_plotter.add(boost::math::lognormal_distribution<>(-1), "location=-1");   lognormal_plotter.add(boost::math::lognormal_distribution<>(0), "location=0");   lognormal_plotter.add(boost::math::lognormal_distribution<>(1), "location=1");   lognormal_plotter.plot("Lognormal Distribution PDF (scale=1)", "lognormal_pdf1.svg");   distribution_plotter<boost::math::lognormal_distribution<> >       lognormal_plotter2;   lognormal_plotter2.add(boost::math::lognormal_distribution<>(0, 0.5), "scale=0.5");   lognormal_plotter2.add(boost::math::lognormal_distribution<>(0, 1), "scale=1");   lognormal_plotter2.add(boost::math::lognormal_distribution<>(0, 2), "scale=2");   lognormal_plotter2.plot("Lognormal Distribution PDF (location=0)", "lognormal_pdf2.svg");   distribution_plotter<boost::math::pareto_distribution<> >       pareto_plotter;   pareto_plotter.add(boost::math::pareto_distribution<>(1), "location=1");   pareto_plotter.add(boost::math::pareto_distribution<>(2), "location=2");   pareto_plotter.add(boost::math::pareto_distribution<>(3), "location=3");   pareto_plotter.plot("Pareto Distribution PDF (scale=1)", "pareto_pdf1.svg");   distribution_plotter<boost::math::pareto_distribution<> >       pareto_plotter2;   pareto_plotter2.add(boost::math::pareto_distribution<>(1, 0.5), "scale=0.5");   pareto_plotter2.add(boost::math::pareto_distribution<>(1, 1), "scale=1");   pareto_plotter2.add(boost::math::pareto_distribution<>(1, 2), "scale=2");   pareto_plotter2.plot("Pareto Distribution PDF (location=1)", "pareto_pdf2.svg");   distribution_plotter<boost::math::rayleigh_distribution<> >       rayleigh_plotter;   rayleigh_plotter.add(boost::math::rayleigh_distribution<>(0.5), "&#x3C3;=0.5");   rayleigh_plotter.add(boost::math::rayleigh_distribution<>(1), "&#x3C3;=1");   rayleigh_plotter.add(boost::math::rayleigh_distribution<>(2), "&#x3C3;=2");   rayleigh_plotter.add(boost::math::rayleigh_distribution<>(4), "&#x3C3;=4");   rayleigh_plotter.add(boost::math::rayleigh_distribution<>(10), "&#x3C3;=10");   rayleigh_plotter.plot("Rayleigh Distribution PDF", "rayleigh_pdf.svg");   distribution_plotter<boost::math::rayleigh_distribution<> >       rayleigh_cdf_plotter(false);   rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(0.5), "&#x3C3;=0.5");   rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(1), "&#x3C3;=1");   rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(2), "&#x3C3;=2");   rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(4), "&#x3C3;=4");   rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(10), "&#x3C3;=10");   rayleigh_cdf_plotter.plot("Rayleigh Distribution CDF", "rayleigh_cdf.svg");   distribution_plotter<boost::math::triangular_distribution<> >       triangular_plotter;   triangular_plotter.add(boost::math::triangular_distribution<>(-1,0,1), "{-1,0,1}");   triangular_plotter.add(boost::math::triangular_distribution<>(0,1,1), "{0,1,1}");   triangular_plotter.add(boost::math::triangular_distribution<>(0,1,3), "{0,1,3}");   triangular_plotter.add(boost::math::triangular_distribution<>(0,0.5,1), "{0,0.5,1}");   triangular_plotter.add(boost::math::triangular_distribution<>(-2,0,3), "{-2,0,3}");   triangular_plotter.plot("Triangular Distribution PDF", "triangular_pdf.svg");   distribution_plotter<boost::math::triangular_distribution<> >       triangular_cdf_plotter(false);   triangular_cdf_plotter.add(boost::math::triangular_distribution<>(-1,0,1), "{-1,0,1}");   triangular_cdf_plotter.add(boost::math::triangular_distribution<>(0,1,1), "{0,1,1}");   triangular_cdf_plotter.add(boost::math::triangular_distribution<>(0,1,3), "{0,1,3}");   triangular_cdf_plotter.add(boost::math::triangular_distribution<>(0,0.5,1), "{0,0.5,1}");   triangular_cdf_plotter.add(boost::math::triangular_distribution<>(-2,0,3), "{-2,0,3}");   triangular_cdf_plotter.plot("Triangular Distribution CDF", "triangular_cdf.svg");   distribution_plotter<boost::math::students_t_distribution<> >       students_t_plotter;   students_t_plotter.add(boost::math::students_t_distribution<>(1), "v=1");   students_t_plotter.add(boost::math::students_t_distribution<>(5), "v=5");   students_t_plotter.add(boost::math::students_t_distribution<>(30), "v=30");   students_t_plotter.plot("Students T Distribution PDF", "students_t_pdf.svg");   distribution_plotter<boost::math::weibull_distribution<> >       weibull_plotter;   weibull_plotter.add(boost::math::weibull_distribution<>(0.75), "shape=0.75");   weibull_plotter.add(boost::math::weibull_distribution<>(1), "shape=1");   weibull_plotter.add(boost::math::weibull_distribution<>(5), "shape=5");   weibull_plotter.add(boost::math::weibull_distribution<>(10), "shape=10");   weibull_plotter.plot("Weibull Distribution PDF (scale=1)", "weibull_pdf1.svg");   distribution_plotter<boost::math::weibull_distribution<> >       weibull_plotter2;   weibull_plotter2.add(boost::math::weibull_distribution<>(3, 0.5), "scale=0.5");   weibull_plotter2.add(boost::math::weibull_distribution<>(3, 1), "scale=1");   weibull_plotter2.add(boost::math::weibull_distribution<>(3, 2), "scale=2");   weibull_plotter2.plot("Weibull Distribution PDF (shape=3)", "weibull_pdf2.svg");   distribution_plotter<boost::math::uniform_distribution<> >       uniform_plotter;   uniform_plotter.add(boost::math::uniform_distribution<>(0, 1), "{0,1}");   uniform_plotter.add(boost::math::uniform_distribution<>(0, 3), "{0,3}");   uniform_plotter.add(boost::math::uniform_distribution<>(-2, 3), "{-2,3}");   uniform_plotter.add(boost::math::uniform_distribution<>(-1, 1), "{-1,1}");   uniform_plotter.plot("Uniform Distribution PDF", "uniform_pdf.svg");   distribution_plotter<boost::math::uniform_distribution<> >       uniform_cdf_plotter(false);   uniform_cdf_plotter.add(boost::math::uniform_distribution<>(0, 1), "{0,1}");   uniform_cdf_plotter.add(boost::math::uniform_distribution<>(0, 3), "{0,3}");   uniform_cdf_plotter.add(boost::math::uniform_distribution<>(-2, 3), "{-2,3}");   uniform_cdf_plotter.add(boost::math::uniform_distribution<>(-1, 1), "{-1,1}");   uniform_cdf_plotter.plot("Uniform Distribution CDF", "uniform_cdf.svg");   distribution_plotter<boost::math::bernoulli_distribution<> >       bernoulli_plotter;   bernoulli_plotter.add(boost::math::bernoulli_distribution<>(0.25), "p=0.25");   bernoulli_plotter.add(boost::math::bernoulli_distribution<>(0.5), "p=0.5");   bernoulli_plotter.add(boost::math::bernoulli_distribution<>(0.75), "p=0.75");   bernoulli_plotter.plot("Bernoulli Distribution PDF", "bernoulli_pdf.svg");   distribution_plotter<boost::math::bernoulli_distribution<> >       bernoulli_cdf_plotter(false);   bernoulli_cdf_plotter.add(boost::math::bernoulli_distribution<>(0.25), "p=0.25");   bernoulli_cdf_plotter.add(boost::math::bernoulli_distribution<>(0.5), "p=0.5");   bernoulli_cdf_plotter.add(boost::math::bernoulli_distribution<>(0.75), "p=0.75");   bernoulli_cdf_plotter.plot("Bernoulli Distribution CDF", "bernoulli_cdf.svg");   distribution_plotter<boost::math::binomial_distribution<> >       binomial_plotter;   binomial_plotter.add(boost::math::binomial_distribution<>(5, 0.5), "n=5 p=0.5");   binomial_plotter.add(boost::math::binomial_distribution<>(20, 0.5), "n=20 p=0.5");   binomial_plotter.add(boost::math::binomial_distribution<>(50, 0.5), "n=50 p=0.5");   binomial_plotter.plot("Binomial Distribution PDF", "binomial_pdf_1.svg");   distribution_plotter<boost::math::binomial_distribution<> >       binomial_plotter2;   binomial_plotter2.add(boost::math::binomial_distribution<>(20, 0.1), "n=20 p=0.1");   binomial_plotter2.add(boost::math::binomial_distribution<>(20, 0.5), "n=20 p=0.5");   binomial_plotter2.add(boost::math::binomial_distribution<>(20, 0.9), "n=20 p=0.9");   binomial_plotter2.plot("Binomial Distribution PDF", "binomial_pdf_2.svg");      distribution_plotter<boost::math::negative_binomial_distribution<> >       negative_binomial_plotter;   negative_binomial_plotter.add(boost::math::negative_binomial_distribution<>(20, 0.25), "n=20 p=0.25");   negative_binomial_plotter.add(boost::math::negative_binomial_distribution<>(20, 0.5), "n=20 p=0.5");   negative_binomial_plotter.add(boost::math::negative_binomial_distribution<>(20, 0.75), "n=20 p=0.75");   negative_binomial_plotter.plot("Negative Binomial Distribution PDF", "negative_binomial_pdf_1.svg");   distribution_plotter<boost::math::negative_binomial_distribution<> >       negative_binomial_plotter2;   negative_binomial_plotter2.add(boost::math::negative_binomial_distribution<>(10, 0.5), "n=10 p=0.5");   negative_binomial_plotter2.add(boost::math::negative_binomial_distribution<>(20, 0.5), "n=40 p=0.5");   negative_binomial_plotter2.add(boost::math::negative_binomial_distribution<>(70, 0.5), "n=70 p=0.5");   negative_binomial_plotter2.plot("Negative Binomial Distribution PDF", "negative_binomial_pdf_2.svg");   distribution_plotter<boost::math::poisson_distribution<> >       poisson_plotter;   poisson_plotter.add(boost::math::poisson_distribution<>(5), "&#x3BB;=1");   poisson_plotter.add(boost::math::poisson_distribution<>(10), "&#x3BB;=10");   poisson_plotter.add(boost::math::poisson_distribution<>(20), "&#x3BB;=50");   poisson_plotter.plot("Poisson Distribution PDF", "poisson_pdf_1.svg");}

⌨️ 快捷键说明

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