how to create two bell shape curves

with the areas under these curves equal to 1, the same mean but different standard deviations. Thanks!

 Réponse acceptée

Wayne King
Wayne King le 24 Avr 2013
Modifié(e) : Wayne King le 24 Avr 2013
Do you have the Statistics Toolbox?
x = -10:0.01:10;
y = normpdf(x,0,1);
y1 = normpdf(x,0,sqrt(2));
If you do not have the Statistics Toolbox, you can just use the definition of the Gaussian
f = @(x) 1/sqrt(2*pi)*exp(-x.^2/2);
integral(f,-10,10)
g = @(x) 1/sqrt(2*pi*2)*exp(-x.^2/4);
integral(g,-10,10)
To see the curves for above:
fcurv = 1/sqrt(2*pi)*exp(-x.^2/2);
gcurv = 1/sqrt(2*pi*2)*exp(-x.^2/4);
plot(x,fcurv); hold on;
plot(x,gcurv,'r')

Plus de réponses (2)

jenka
jenka le 24 Avr 2013

0 votes

Hi Wayne, yes, I tried both ways already. However, if you do sum(y) or sum(y1) to give you the are under the curve (or trapz(y)), it does not give you 1. That is why I posted here. I need the area under the curves to be equal to one. Any suggestions? Thanks
Wayne King
Wayne King le 24 Avr 2013
Hi Jenka, you cannot just do sum(y), you are forgetting about the very important dx in the integral
x = -10:0.01:10;
y = normpdf(x,0,1);
y1 = normpdf(x,0,sqrt(2));
dx = mean(diff(x));
sum(y*dx)
sum(y1*dx)

Catégories

En savoir plus sur Linear and Nonlinear Regression dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by