how to create two bell shape curves

9 ビュー (過去 30 日間)
jenka
jenka 2013 年 4 月 24 日
with the areas under these curves equal to 1, the same mean but different standard deviations. Thanks!

採用された回答

Wayne King
Wayne King 2013 年 4 月 24 日
編集済み: Wayne King 2013 年 4 月 24 日
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

Wayne King
Wayne King 2013 年 4 月 24 日
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)
  1 件のコメント
jenka
jenka 2013 年 4 月 25 日
But of course:) He-he....

サインインしてコメントする。

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by