Matlab Verteilungsfunktion der Normalverteilung

Zanmatou

Lt. Commander Pro
🎅Rätsel-Elite ’24
Registriert
Juni 2007
Beiträge
1.058
Hallo CB-Gemeinde,

ich habe eine Frage an Alle mit Kenntnis :-)

Ich möchte in Matlab die Verteilungsfunktion der Normalverteilung darstellen aber nicht wie sonst überlich als Integral von minus Unendlich bis x sondern umgekehrt.

Zuvor habe ich mir die Normalverteilung für verschiedene Sigmas und Mues plotten lassen. Leider kriege ich die Verteilungsfunktion mittels Integral nicht hin, sondern nur über normcdf.

Kann mir da jemand helfen?


Mein Code sieht so aus:

Code:
clc
clear all

sigma = [1 2 3];                     % Varianz
mue = 0;                             % Erwartungswert
x = -10:0.01:10;                     % Wertebereich

for sigma = 1:length(sigma)
    y = 1 /(sigma*(sqrt(2 * pi))) * exp((-1/2) * ((x-mue)/sigma).^2);
    
    hold on
    plot(x,y, 'r')
    plot(x,normcdf(-10:0.01:10,mue,sigma))
    
end

Mein Bild soll am ende etwa so aussehen wie y = -tanh(x) [siehe Plot], nur dass ich von sigma und mue abhängige Kurven Plotten will. Damit man den Einfluss sieht.

Danke im Voraus.

Zanmatou
 

Anhänge

  • -tanh(x).jpg
    -tanh(x).jpg
    14 KB · Aufrufe: 667
Dein Code macht doch genau das was er soll. Das Integral der Normalverteilung läuft von 0 (x->-inf) auf 1 (x->+inf), nicht von 1 auf 0 und kann damit nicht aussehen wie -tanh(x). Sie dazu auch Wikipedia, Normalverteilung.

y = ... liefert dir die Normalverteilungen aus dem ersten Plot der Wiki-Seite, und normcdf(...) erzeugt die entsprechende Verteilungsfunktion (zweiter Plot der Wiki-Seite). Es ist also alles genau so wie es aussehen soll. Die Verteilungsfunktion (das Integral der Verteilung) beschreibt ja nur, wie wahrscheinlich es ist, dass eine Zahl aus dem gegebenen Intervall [-inf,x] in der Verteilung selbst vorkommen. Jede Verteilungsfunktion muss daher für x->+inf den Wert 1 annehmen.
 
Zuletzt bearbeitet:
Zurück
Oben