Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menggunakan fungsi kebarangkalian dalam C++?
Bagaimana untuk menggunakan fungsi kebarangkalian dalam C++?
Fungsi kebarangkalian memainkan peranan yang sangat penting dalam sains data dan statistik. Dalam bahasa pengaturcaraan C++, kita boleh menggunakan fungsi dalam perpustakaan standardnya untuk melaksanakan pelbagai pengiraan kebarangkalian. Artikel ini akan memperkenalkan cara menggunakan fungsi kebarangkalian dalam C++ untuk melaksanakan pengiraan kebarangkalian biasa.
Pustaka standard C++ menyediakan fail pengepala bernama "cmath", yang mengandungi banyak fungsi yang berkaitan dengan pengiraan matematik, termasuk fungsi kebarangkalian. Sebelum menggunakan fungsi kebarangkalian, kita perlu memahami beberapa konsep dan istilah dahulu.
Berikut ialah beberapa fungsi kebarangkalian biasa dan contoh penggunaan:
Fungsi taburan normal:
Taburan normal ialah taburan kebarangkalian sepunya, diwakili oleh kelas "taburan_normal".
#include <iostream> #include <random> #include <cmath> int main() { std::random_device rd; std::mt19937 gen(rd()); std::normal_distribution<double> dist(0.0, 1.0); double x = 2.0; double p = std::exp(-std::pow(x, 2) / 2) / std::sqrt(2 * M_PI); double cdf = std::erfc(-x / std::sqrt(2)) / 2; std::cout << "PDF: " << p << std::endl; std::cout << "CDF: " << cdf << std::endl; return 0; }
Dalam contoh ini, kita mula-mula mentakrifkan taburan normal dengan min 0 dan sisihan piawai 1 melalui kelas "taburan_normal". Kemudian, kami mengira ketumpatan kebarangkalian dan taburan kumulatif pada x=2.0.
Fungsi taburan binomial:
Taburan binomial digunakan untuk menerangkan kebarangkalian kejayaan dalam bilangan tetap percubaan berulang. Diwakili menggunakan kelas "binomial_distribution".
#include <iostream> #include <random> int main() { std::random_device rd; std::mt19937 gen(rd()); std::binomial_distribution<int> dist(10, 0.5); int k = 5; double p = std::tgamma(11) / (std::tgamma(6) * std::tgamma(5)) * std::pow(0.5, 5) * std::pow(0.5, 5); double cdf = 0; for (int i = 0; i <= k; i++) { cdf += std::tgamma(11) / (std::tgamma(i + 1) * std::tgamma(11 - i)) * std::pow(0.5, i) * std::pow(0.5, 11 - i); } std::cout << "PDF: " << p << std::endl; std::cout << "CDF: " << cdf << std::endl; return 0; }
Dalam contoh ini, kita mula-mula mentakrifkan taburan binomial yang diulang 10 kali dengan kebarangkalian kejayaan 0.5 melalui kelas "pengedaran_binomial". Kemudian, kami mengira ketumpatan kebarangkalian dan taburan kumulatif k = 5 kejayaan.
Melalui contoh di atas, kita dapat melihat cara menggunakan fungsi kebarangkalian dalam C++ untuk melakukan pengiraan kebarangkalian biasa. Dalam aplikasi praktikal, kadangkala kita juga perlu berurusan dengan jenis fungsi taburan kebarangkalian yang lain, seperti taburan Poisson, taburan eksponen, dsb. Pustaka standard C++ juga menyediakan kelas yang sepadan untuk mengendalikan pengedaran ini. Dalam amalan, kita boleh memilih fungsi pengedaran yang sesuai untuk pengiraan mengikut keperluan tertentu.
Ringkasnya, fungsi kebarangkalian dalam C++ menyediakan fungsi yang kaya melalui fungsi matematik perpustakaan standard, yang boleh membantu kami melakukan pelbagai pengiraan kebarangkalian. Dengan menggunakan fungsi ini, pengiraan ketumpatan kebarangkalian biasa, pengiraan taburan kumulatif, penjanaan nombor rawak, dsb. boleh dilaksanakan dengan mudah. Ini memberikan kami kemudahan besar dalam bidang pengkomputeran saintifik dan analisis data.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan fungsi kebarangkalian dalam C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!