Skip to content

Latest commit

 

History

History

README.md

Normal Distribution Utilities

Overview

This project contains utility functions and scripts for working with the normal (Gaussian) distribution, including visualization and maximum likelihood estimation of parameters.

Algorithm

The normal distribution probability density function:

f(x) = (1 / (sqrt(2*pi) * sigma)) * exp(-(x - mu)^2 / (2*sigma^2))

Maximum likelihood estimation:

  • mu_est = mean(samples)
  • sigma_est = std(samples)

The superimposed problem demonstrates two overlapping normal distributions with different parameters.

Files

File Description
Normal_dist.m Function: computes the normal distribution PDF
plot_normal_dists.m Plots normal distributions for various sigma values
superimposed_problem.m Demonstrates two overlapping distributions with samples
test_max_likelihood_normal.m Tests maximum likelihood parameter estimation

Key Results

  • Demonstrates how sigma controls the spread of the distribution
  • Maximum likelihood estimation accurately recovers true parameters from samples
  • Visualization of superimposed distributions shows the challenge of distinguishing overlapping populations

Visualization

Normal Distribution Visualization

Left: Normal distributions with varying sigma values. Right: Maximum likelihood estimation showing true vs. estimated distributions from 20 samples.

Credit

Keivan Hassani Monfared, k1monfared@gmail.com