Giriş
Şu satırı dahil ederiz.
"Standart normal distribution" tanım olarak standart sapma = 1 değerini kullanır. Standart sapma büyüdükçe çan eğrisi denilen görüntü düzleşmeye başlar.
Dağılım Aralığı
Açıklaması şöyle.
Orta noktanın sol ve sağ tarafı simetrik olmalıdır. Açıklaması şöyle.
Constructor - mean + standard deviation
Birinci parametre mean, ikinci parametre standard deviation anlamına gelir
Örnek
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
distribution sınıfları arasında kalıtım ilişkisi yok. Oluşturmak istersek çoklu kalıtım kullanarak şöyle yaparız.
Şu satırı dahil ederiz.
#include <random>
uniform_real_distribution ve uniform_int_distribution sınıfları ile kardeştir."Standart normal distribution" tanım olarak standart sapma = 1 değerini kullanır. Standart sapma büyüdükçe çan eğrisi denilen görüntü düzleşmeye başlar.
Dağılım Aralığı
Açıklaması şöyle.
The possible values under a normal distribution extend from −∞ to ∞Dolayısıyla Normal distribution ile sadece artı sayıları kullanmak doğru değil deniliyor. Ancak bu bence doğru değil. Açıklaması şöyle.
Many quantities that are strictly positive can often be approximated by a normal distribution.Bir başka açıklama şöyle.
Gaussian distributions are validly used as models for a lot of things that don't even in principle extend to infinity (test scores?). A physics example: velocities are actually bounded by ±c, but a Gaussian velocity distribution describes well gases at room temperature.Simetri
Orta noktanın sol ve sağ tarafı simetrik olmalıdır. Açıklaması şöyle.
Normal distributions are symmetric about their mean,
Constructor - mean + standard deviation
Birinci parametre mean, ikinci parametre standard deviation anlamına gelir
Örnek
Şöyle yaparız.
// Define random generator with Gaussian distribution
const double mean = 0.0;
const double stddev = 0.1;
std::normal_distribution<double> dist (mean, stddev);
ÖrnekŞöyle yaparız.
std::normal_distribution<float> normalDistribution(0.5, 1);
operator ()Şöyle yaparız.
std::default_random_engine generator = ...;
dist (generator);
Generator sınıfını sürekli geçmemek için şöyle yapabiliriz.auto dist = std::bind(std::normal_distribution<double>{mean, stddev},
std::mt19937(std::random_device{}()));
Daha sonra şöyle yaparız.double val = dist();
Kalıtımdistribution sınıfları arasında kalıtım ilişkisi yok. Oluşturmak istersek çoklu kalıtım kullanarak şöyle yaparız.
class base_distribution {};
template<typename ...Args>
class normal_distribution :
public base_distribution, public std::normal_distribution<Args...> {};
template<typename ...Args>
class uniform_int_distribution :
public base_distribution, public std::inform_int_distribution<Args...> {};
Hiç yorum yok:
Yorum Gönder