Matlab:如何在正常曲线上显示sigma和mu

Ai *_* Da 1 matlab plot

y = normpdf(x,mu,sigma);在Matlab中使用绘制正常曲线.这为我绘制了一条正常的曲线.但是,我需要在曲线上显示其他信息,例如曲线上有垂直线来显示mu和sigma.与此相似: 在此输入图像描述

是否有任何Matlab函数在曲线上绘制这样的垂直线?

谢谢,阿依达

Mik*_*Sam 5

这没有内置功能,但我们可以通过手轻松完成:

创建正常曲线并绘制它:

x = -2:0.05:2;
mu = 0; sigma = 0.5;
y = normpdf(x,mu,sigma);
plot(x,y)
Run Code Online (Sandbox Code Playgroud)

添加sigma行:

hold on;
plot( [mu - sigma mu - sigma],[0 max(y)],'--')
plot( [mu + sigma mu + sigma],[0 max(y)],'--')
Run Code Online (Sandbox Code Playgroud)

您可以将其更改为您需要的任何西格玛(2sigma 3sigma).如何添加文字?这条路:

text(0.1,-0.05,'mu + sigma');
Run Code Online (Sandbox Code Playgroud)

或者如果你想要它看起来很漂亮:

text(-0.65,-0.05,'\mu - \sigma')
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述