Hi All, I am trying to plot a amplitude Gaussian distribution in Matlab. I have only amplitude peak, mean and sigma (sd) values. The peak is corresponding to the mean. How to get a Gaussian normal plot using only that three values? What could be the code for that?

1 commentaire

Adam Danz
Adam Danz le 14 Juil 2020
Here's a gaussian function where you can set the mean, standard deviation, amplitude, and vertical offset.

Connectez-vous pour commenter.

 Réponse acceptée

Honglei Chen
Honglei Chen le 17 Fév 2012

1 vote

This is really just plotting an equation, for practical purpose, you can plot from -4*sd to 4*sd. Let's say mu is the mean,
x = linspace(-4*sd,4*sd,1000);
y = 1/(2*pi*sd)*exp(-(x-mu).^2/(2*sd^2));
plot(x,y);

3 commentaires

Hein Htet Aung
Hein Htet Aung le 23 Avr 2016
Modifié(e) : Walter Roberson le 11 Nov 2025
x = linspace((mu-4*sd),(mu+4*sd),1000);
makes better looking plots.
Kunal Lakhani
Kunal Lakhani le 20 Oct 2016
Clarification of the formula of gaussian distribution.
@Mohammed Ghouse Mohiuddin, in response to your flag > The code is incorrect, you just have to define mu and sd.
mu = 10;
sd = 4;
x = linspace(-4*sd,4*sd,1000);
y = 1/(2*pi*sd)*exp(-(x-mu).^2/(2*sd^2));
plot(x,y);

Connectez-vous pour commenter.

Plus de réponses (2)

Sivylla Paraskevopoulou
Sivylla Paraskevopoulou le 28 Déc 2024

0 votes

To learn more about normal or Gaussian distribution, read the topic Normal Distribution.
Liam Walsh
Liam Walsh le 11 Nov 2025

0 votes

If you have access to Statistics and Machine Learning toolbox, you can also make use of the makedist function, like so:
mu = 4; % Mean/amplitude value
sigma = 2; % Sigma/sd value
normdist = makedist("normal", "mu", 4, "sigma", 2)
normdist =
NormalDistribution Normal distribution mu = 4 sigma = 2
plot(normdist) % Automatically shows a graph of the distribution

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by