EM_MVGM
Mex implementation of EM algorithm for multivariate Gaussian mixture. Multiple data/initial parameters are allowed by ND slices definition
em_mvgm : Expectation-Maximization algorithm for Multivariate Gaussian Mixtures
Usage
-------
[logl , M , S , P] = em_mvgm(Z , M0 , S0 , P0 , [nbite]);
Inputs
-------
Z Measurements (m x K x [n1] x ... x [nl])
M0 Initial mean vector. M0 can be (m x 1 x p x [v1] x ... x [vr])
S0 Initial covariance matrix. S0 can be (m x m x p x [v1] x ... x [vr])
P0 Initial mixture probabilities (1 x 1 x p) : P0 can be (1 x 1 x d x [v1] x ... x [vr])
nbite Number of iteration (default = 10)
Outputs
-------
logl Final loglikelihood (n1 x ... x nl x v1 x ... x vr)
M Estimated mean vector (d x 1 x p x n1 x ... x nl v1 x ... x vr)
S Estimated covariance vector (d x d x p x n1 x ... x nl v1 x ... x vr)
P Estimated initial probabilities (1 x 1 x p x n1 x ... x nl v1 x ... x vr)
Please run mexme_em_mvgm for compile mex file on your own systems.
Run test_em_mvgm.m for a demo
Cite As
Sebastien PARIS (2026). EM_MVGM (https://www.mathworks.com/matlabcentral/fileexchange/17560-em_mvgm), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired by: Fast ND multidimensional gaussian mixture random generator, NDellipse
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.8.0.0 | -Fix 2 bugs (thanks to Jonathan for reporting) |
||
| 1.7.0.0 | -Fix a bug introduced in the last update |
||
| 1.6.0.0 | -Minor update for Linux |
||
| 1.5.0.0 | -Fix a compilation error for Linux and // comments |
||
| 1.4.0.0 | -Fixed a bug for Linux64 & GCC |
||
| 1.3.0.0 | Correct a bug in likelihood_mvgm.c when d=1 |
||
| 1.2.0.0 | Fixed bug in the likelihood constant computation |
||
| 1.1.0.0 | - add mexme_em_mvgm to build mex files and compatible with LCC compiler. |
||
| 1.0.0.0 |
