# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

# mahal

Class: gmdistribution

Mahalanobis distance to component means

## Syntax

```D = mahal(obj,X) ```

## Description

`D = mahal(obj,X)` computes the Mahalanobis distance (in squared units) of each observation in `X` to the mean of each of the k components of the Gaussian mixture distribution defined by `obj`. `obj` is an object created by `gmdistribution` or `fitgmdist`. `X` is an n-by-d matrix, where n is the number of observations and d is the dimension of the data. `D` is n-by-k, with `D(I,J)` the distance of observation `I` from the mean of component `J`.

## Examples

expand all

Generate data from a mixture of two bivariate Gaussian distributions using the `mvnrnd` function.

```MU1 = [1 2]; SIGMA1 = [2 0; 0 .5]; MU2 = [-3 -5]; SIGMA2 = [1 0; 0 1]; rng(1); % For reproducibility X = [mvnrnd(MU1,SIGMA1,1000);mvnrnd(MU2,SIGMA2,1000)]; scatter(X(:,1),X(:,2),10,'.') hold on ```

Fit a two-component Gaussian mixture model.

```obj = fitgmdist(X,2); h = ezcontour(@(x,y)pdf(obj,[x y]),[-8 6],[-8 6]); ```

Compute the Mahalanobis distance of each point in `X` to the mean of each component of `obj`.

```D = mahal(obj,X); delete(h) scatter(X(:,1),X(:,2),10,D(:,1),'.') hb = colorbar; ylabel(hb,'Mahalanobis Distance to Component 1') ```

## See Also

Was this topic helpful?

Download now