2016-08-01 9 views
1

Ich zeichne eine normale Kurve mit y = normpdf(x,mu,sigma); in Matlab. Das zieht für mich eine normale Kurve nach sich. Aber ich brauche zusätzliche Informationen, um auf der Kurve gezeigt zu werden, wie vertikale Linien auf der Kurve, um die mu und das Sigma zu zeigen. Ähnlich zu diesem: enter image description hereMatlab: Wie man Sigma und Mu auf Normalkurve zeigt

Gibt es irgendeine Matlab Funktion, um solche vertikalen Linien auf der Kurve zu zeichnen?

Danke, Aida

+1

Gibt es etwas falsches mit nur "plot'-ting 3 Zeilen (oder mit' line')? –

+0

Es funktioniert und zeichnet die Linie. Allerdings brauche ich die Sigma und mu auf der x-Achse geschrieben werden, wo die vertikale Linie es schneidet. –

Antwort

5

Es gibt keine integrierte Funktion dafür, aber wir können von den Händen leicht tun:

erstellen Normalverteilungskurve und plotten es:

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

Fügen Sie Zeilen für Sigmas hinzu:

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

Sie können es zu jedem s ändern igma brauchst du (2sigma 3sigma). Wie füge ich den Text hinzu? Auf diese Weise:

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

oder, wenn Sie es wirklich schön aussehen wollen:

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

Ergebnis:

enter image description here

0

Der einfachste Weg, Linien in Matlab zu ziehen wahrscheinlich verwendet einfach plot . Das folgende Codesegment zieht eine Linie von [x1, y1] bis [x2, y2]:

plot([x1,y1], [x2,y2], plotoptions) 

Um sicherzustellen, dass diese Linie auf dem aktuellen Bild Verwendung hold on auch sichtbar ist. Dies führt zu einem Code wie folgt aus:

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 

Die Mathworks Dokumentationsseite des Grundstücks kann eine gute Referenz sein, mit einer Menge von Beispielen und verschiedenen Plotoptionen. Zum Beispiel, wie man eine gestrichelte oder farbige Linie macht: http://www.mathworks.com/help/matlab/ref/plot.html?searchHighlight=plot%20line