Skip to content
Snippets Groups Projects
Commit 81256595 authored by Mark Woolrich's avatar Mark Woolrich
Browse files

added mvnpdf to miscprob.h

parent 8e48a886
No related branches found
No related tags found
No related merge requests found
......@@ -176,7 +176,7 @@ ReturnMatrix gammapdf(const RowVector& vals, const float mu, const float var)
{
return std::exp(-0.5*(std::pow(val-mu,2)/var))*std::pow(2*M_PI*var,-0.5);
}
ReturnMatrix normpdf(const RowVector& vals, const RowVector& mu, const RowVector& var)
{
Matrix res(mu.Ncols(),vals.Ncols());
......@@ -203,6 +203,11 @@ ReturnMatrix mvnrnd(const RowVector& mu, const SymmetricMatrix& covar, int nsamp
return mvn.next(nsamp);
}
float mvnpdf(const RowVector& vals, const RowVector& mu, const SymmetricMatrix& covar)
{
return std::exp(-0.5*((vals-mu).t()*covar.i()*(vals-mu)).AsScalar())/(std::pow(covar.Determinant(),0.5)*std::pow(2*M_PI,vals.Ncols()/2.0));
}
// ReturnMatrix gammarnd(const int dim1, const int dim2,
// const float a, const float b)
// {
......
......@@ -35,6 +35,8 @@ namespace MISCMATHS {
// returns nsamps*nparams matrix:
ReturnMatrix mvnrnd(const RowVector& mu, const SymmetricMatrix& covar, int nsamp = 1);
float mvnpdf(const RowVector& vals, const RowVector& mu, const SymmetricMatrix& covar);
float normpdf(const float val, const float mu = 0, const float var = 1);
ReturnMatrix normpdf(const RowVector& vals, const float mu = 0, const float var = 1);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment