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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Honglei Chen
Honglei Chen am 17 Feb. 2012

1 Stimme

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 Kommentare

Hein Htet Aung
Hein Htet Aung am 23 Apr. 2016
Bearbeitet: Walter Roberson am 11 Nov. 2025
x = linspace((mu-4*sd),(mu+4*sd),1000);
makes better looking plots.
Kunal Lakhani
Kunal Lakhani am 20 Okt. 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);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Sivylla Paraskevopoulou
Sivylla Paraskevopoulou am 28 Dez. 2024

0 Stimmen

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

0 Stimmen

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