#include <statdist.h>
Inheritance diagram for matvec::NormalDist:

Definition at line 72 of file statdist.h.
Public Methods | |
| NormalDist (const double mu=0.0, const double sigma2=1.0) | |
| NormalDist (const NormalDist &u) | |
| void | display (void) const |
| void | reset (const double mu, const double sigma2) |
| void | sample (Vector< double > &x) const |
| void | sample (doubleMatrix &x) const |
| double | sample (void) const |
| Vector< double > | sample (unsigned n) const |
| doubleMatrix | sample (unsigned m, unsigned n) const |
| double | mean (void) const |
| double | variance (void) const |
| double | pdf (const double x) const |
| double | cdf (const double x) const |
| double | mgf (const double t) const |
| double | inv (const double p) const |
| double | parameter (const int k) const |
| void | parameter (const int k, const double x) |
| virtual const std::string | name (void) const |
| virtual double | nonct (const double cv, const double p) |
Protected Attributes | |
| double | mu_value |
| double | sigma2_value |
| double | sigma_value |
| std::string | distname |
|
||||||||||||
|
Definition at line 78 of file statdist.h. References matvec::StatDistBase::distname, and reset().
|
|
|
Definition at line 80 of file statdist.h. References matvec::StatDistBase::distname, and reset().
00080 :StatDistBase() 00081 {distname="NormalDist"; reset(u.mu_value,u.sigma2_value);} |
|
|
Implements matvec::StatDistBase. Definition at line 94 of file statdist.h. References mu_value, matvec::Normal_cdf(), and sigma_value.
00095 {return Normal_cdf((x-mu_value)/sigma_value);}
|
|
|
Implements matvec::StatDistBase. Definition at line 83 of file statdist.h. References matvec::StatDistBase::distname, mu_value, and sigma2_value.
00083 {std::cout << "\t" << distname << "(" << mu_value
00084 << "," << sigma2_value << ")\n"; return;}
|
|
|
Implements matvec::StatDistBase. Definition at line 98 of file statdist.h. References mu_value, matvec::Normal_inv(), and sigma_value.
00099 {return Normal_inv(p)*sigma_value + mu_value;}
|
|
|
Implements matvec::StatDistBase. Definition at line 91 of file statdist.h. References mu_value.
00091 {return mu_value;}
|
|
|
Implements matvec::StatDistBase. Definition at line 96 of file statdist.h. References mu_value, and sigma2_value.
00097 {return std::exp(mu_value*t + sigma2_value*t*t/2.0);}
|
|
|
Definition at line 45 of file statdistbase.h. References matvec::StatDistBase::distname.
00045 {return distname;}
|
|
||||||||||||
|
Definition at line 58 of file statdistbase.h.
00058 {std::cerr << "error\n"; return 0.0;}
|
|
||||||||||||
|
Implements matvec::StatDistBase. Definition at line 209 of file statdist.cpp.
00213 {
00214 if (k==1) {
00215 mu_value = x;
00216 }
00217 else if (k==2) {
00218 if (x > 0.0) {
00219 sigma2_value = x;
00220 }
00221 else {
00222 throw exception("NormalDist::parameter(): 2nd arg must be positive");
00223 }
00224 sigma_value = std::sqrt(sigma2_value);
00225 }
00226 else {
|
|
|
Implements matvec::StatDistBase. Definition at line 194 of file statdist.cpp.
00198 {
00199 double par = 0.0;
00200 if (k==1) {
00201 par = mu_value;
00202 }
00203 else if (k==2) {
00204 par = sigma2_value;
00205 }
00206 else {
00207 throw exception("NormalDist::parameter(): bad arg, 1 or 2 is expected");
|
|
|
The probability density function (pdf) is defined by
Implements matvec::StatDistBase. Definition at line 142 of file statdist.cpp. References mu_value.
00146 {
00147 const double c = 1.0/std::sqrt(4.0*std::asin(1.0)); // 1.0/sqrt(2.0*pi) pi = 2.0*std::asin(1.0)
|
|
||||||||||||
|
Definition at line 131 of file statdist.cpp. References mu_value, sigma2_value, and sigma_value. Referenced by NormalDist().
00132 {
00133 if (sigma2 <= 0.0) throw exception("NormalDist::reset(): 2nd arg must be positive");
00134 mu_value = mu; sigma2_value = sigma2;
00135 sigma_value = std::sqrt(sigma2_value);
00136 }
|
|
||||||||||||
|
Implements matvec::StatDistBase. Definition at line 187 of file statdist.cpp.
00191 {
00192 doubleMatrix x(m,n);
|
|
|
Implements matvec::StatDistBase. Definition at line 180 of file statdist.cpp.
00184 {
00185 Vector<double> x(n);
|
|
|
Implements matvec::StatDistBase. Definition at line 88 of file statdist.h. References mu_value, sigma_value, and matvec::snorm().
00088 {return mu_value + sigma_value*snorm();}
|
|
|
Implements matvec::StatDistBase. Definition at line 160 of file statdist.cpp. References mu_value, and sigma_value.
00164 {
00165 int nr = x.num_rows();
00166 int nc = x.num_cols();
00167 double *bot,*top;
00168 unsigned i;
00169 if (mu_value==0.0 && sigma2_value==1.0) {
00170 for (i=0; i<nr; i++) {
00171 bot = x[i]; top = &bot[nc];
00172 while (bot < top ) *bot++ = snorm();
00173 }
00174 }
00175 else {
00176 for (i=0; i<nr; i++) {
00177 bot = x[i]; top = &bot[nc];
00178 while (bot < top ) *bot++ = mu_value + sigma_value*snorm();
|
|
|
Implements matvec::StatDistBase. Definition at line 149 of file statdist.cpp. References sigma2_value, and sigma_value.
00153 {
00154 double *bot = x.begin();
00155 double *top = x.end();
00156 if (mu_value==0.0 && sigma_value==1.0) {
00157 while (bot < top ) *bot++ = snorm();
00158 }
00159 else {
|
|
|
Implements matvec::StatDistBase. Definition at line 92 of file statdist.h. References sigma2_value.
00092 {return sigma2_value;}
|
|
|
|
Definition at line 74 of file statdist.h. Referenced by cdf(), display(), inv(), mean(), mgf(), pdf(), reset(), and sample(). |
|
|
Definition at line 75 of file statdist.h. Referenced by display(), mgf(), reset(), sample(), and variance(). |
|
|
Definition at line 76 of file statdist.h. |
1.2.16