WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Histogramm und Normalverteilung

 

MCM78
Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 15.02.12
Wohnort: Frankfurt
Version: ---
     Beitrag Verfasst am: 20.02.2012, 15:41     Titel: Histogramm und Normalverteilung
  Antworten mit Zitat      
Hallo,

ich habe zwei fragen.

1. Frage: Ich habe ein Histogramm das gefüllt ist und kenne mein x, sigma und mu und möchte meine Normalverteilung mit den Parametern polten.

Die Normalverteilung möchte ich nun über das Histogramm zeichnen und weiss nicht wie das Funktioniert:

Normal=normcdf(x,mu,sigma);

hist(x,50);

nur wenn ich plot(x,Normal); mache kommt einfach eine gerade raus aber nicht die Normalverteilung die ich möchte.

2. Frage: Wenn ich mein Histogramm mit einer Normalverteilung fitte via:

histfit(x);

wie erhalte ich alle meine Parameter aus dem fit wie sigma und mu?

Danke für die Hilfe.

Viele Grüße

Michael
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.02.2012, 18:58     Titel:
  Antworten mit Zitat      
Hallo,

zu 1.: sind x deine Daten? Es macht nicht allzuviel Sinn, die Normalverteilung über den Daten zu errechnen; generell nimmt man eher ein (gleichmäßiges) Gitter, das die Daten abdeckt.
Ich würde zudem eher die PDF als die CDF verwenden. Wenn man die PDF dann noch geeignet skaliert, bekommt man ein Bild wie in der Doku von HISTFIT.

zu 2.: da sehe ich keinen direkten Weg. Wenn du keine andere Möglichkeit findest, kannst du ja mit NORMFIT die Parameter bekommen und mit HISTFIT ein schönes Histogramm machen. Das solltest du aber auch mit 1. hinbekommen können.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
MCM78
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 15.02.12
Wohnort: Frankfurt
Version: ---
     Beitrag Verfasst am: 20.02.2012, 19:11     Titel:
  Antworten mit Zitat      
Hallo,

zu 1.)

Ja x sind meine Daten. Mit Skalieren meinst du mit den Anzahl der Einträge?
Hast du da ein gutes Beispiel?

zu 2.) Dann werde ich wohl diesen Weg gehen, nur das ich mu und sigma schon habe und würde nur sehen ob das aus dem fit aus rauskommt.

Danke.

Viele Grüße

Michael
Private Nachricht senden Benutzer-Profile anzeigen
 
MCM78
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 15.02.12
Wohnort: Frankfurt
Version: ---
     Beitrag Verfasst am: 20.02.2012, 19:18     Titel:
  Antworten mit Zitat      
Ach so ich hatte vergessen noch zu 2.) etwas nachzufragen.

D.h. die werte die ich von normfit für mu und sigma erhalte sind die gleichen die von histfit verwendet werden?

Danke nochmals für die Hilfe.

VG

Michael
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.02.2012, 21:01     Titel:
  Antworten mit Zitat      
Hallo,

hier ein Beispiel:

Code:
x = 23*randn(10000,1) + 47;

[mu, sigma] = normfit(x);
hist(x,20)
hold on
binwidth = (max(x) - min(x))/20;

xi = linspace(min(x), max(x), 100);
fi = normpdf(xi, mu, sigma);
plot(xi, 10000*binwidth*fi, 'r', 'LineWidth', 2)
hold off


Was deine andere Frage angeht: ich würde es vermuten.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
MCM78
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 15.02.12
Wohnort: Frankfurt
Version: ---
     Beitrag Verfasst am: 21.02.2012, 11:46     Titel:
  Antworten mit Zitat      
Super Danke, genau das brauchte ich. Ich muss nur noch bezüglich der Normierung der Amplitude schauen da es in meinem Beispiel noch nicht richtig Funktioniert.

VG

Michael
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 21.02.2012, 19:11     Titel:
  Antworten mit Zitat      
Hallo,

für die Normierung brauchst du die Anzahl der Datenpunkte (hier: 10000) und die Breite der bins (hier angenähert über (max(x) - min(x)) / 20 weil 20 bins). Dann sollte es hinkommen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
MCM78
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 15.02.12
Wohnort: Frankfurt
Version: ---
     Beitrag Verfasst am: 22.02.2012, 20:39     Titel:
  Antworten mit Zitat      
Hallo Harald,

Da hätte man auch selbst drauf kommen können Smile.

VG

Michael
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.