how to create two bell shape curves

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

 采纳的回答

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')

更多回答(2 个)

jenka
jenka 2013-4-24
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
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)

类别

帮助中心File Exchange 中查找有关 Linear and Nonlinear Regression 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by