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

时间:2016-08-01 11:44:35

标签: matlab plot

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

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

谢谢, 艾达

2 个答案:

答案 0 :(得分:5)

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

创建正常曲线并绘制它:

x = -2:0.05:2;
mu = 0; sigma = 0.5;
y = normpdf(x,mu,sigma);
plot(x,y)

为sigmas添加行:

hold on;
plot( [mu - sigma mu - sigma],[0 max(y)],'--')
plot( [mu + sigma mu + sigma],[0 max(y)],'--')

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

text(0.1,-0.05,'mu + sigma');

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

text(-0.65,-0.05,'\mu - \sigma')

结果:

enter image description here

答案 1 :(得分:0)

在Matlab中绘制线条的最简单方法可能只使用plot。以下代码段从[x1,y1]到[x2,y2]:

绘制一条线
plot([x1,y1], [x2,y2], plotoptions)

要确保此行在当前数字中也可见,请使用hold on。这会产生如下代码:

y = normpdf(x,mu,sigma)
figure(1)
    hold on
    plot(x,y) % Your normal distribution
    plot([mu,startY], [mu, stopY], plotoptions) % Plot the line at position mu.
                                                % The startY and stopY indicate the bottom and top of your graph.
    hold off

绘图的Mathworks文档页面可以作为很好的参考,有很多示例和不同的绘图选项。例如,如何制作虚线或彩色线: http://www.mathworks.com/help/matlab/ref/plot.html?searchHighlight=plot%20line