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

Generierung einer Normalverteilte Variable zwischen -1 und 1

 

guykatz
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 01.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.04.2010, 10:58     Titel: Generierung einer Normalverteilte Variable zwischen -1 und 1
  Antworten mit Zitat      
Hallo,

ich dachte nämlich dass die funktion i=randn das schon macht, es kommen aber werte wesentluch größer raus.

Wie generiere ich also eine Variable zw. -1 und 1 die auch normalverteilt ist?

Gruss, Guy
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

eine Normalverteilung ist über Mittelwert und Standardabweichung definiert. Dazu gehört auch, dass die Werte zumindest theoretisch beliebig groß oder klein werden können, lediglich mit abnehmender Wahrscheinlichkeit.

Meine Vermutung: du möchtest Zufallszahlen zwischen -1 und 1 mit einer Häufung um 0. Dazu müsstest du wohl eine eigene Verteilungsfunktion erfinden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Zenon
Forum-Guru

Forum-Guru


Beiträge: 292
Anmeldedatum: 20.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.04.2010, 12:04     Titel:
  Antworten mit Zitat      
Was machst Du damit? Holst Du Dir eine bestimmte Anzahl von Zufallszahlen und arbeitest dann damit, oder holst Du dir immer eine...

Du könntest (ich weiß das ist schlecht) einfach pauschal jede Zahl durch 3 Teilen (z.B.) ...damit wäre die Glocke dann deutlich schmaler und würde defacto nie über 1 hinausgehen...(natürlich gibt es imme rnoch eine wahrscheinlichkeit dafür)...

Wenn Du Zahlen Gruppen hast nimmst Du die größte und (wenn der Betrag > 1) teilst du alle Zahlen der Gruppe durch diese Zahl...dann sind weiterhin die Zahlen normalverteilt und in jedem fall ist der Betrag >= 1.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.04.2010, 13:00     Titel:
  Antworten mit Zitat      
Hallo,

eine andere Möglichkeit wäre natürlich:
1. Zufallszahlen mit randn generieren.
2. Solange (WHILE) es Zufallszahlen außerhalb des Intervalls gibt, diese durch neue mit randn generierte Zufallszahlen ersetzen.

@ zenon: Beim Teilen durch die größte Zahl sehe ich das Problem, dass dadurch auch alle anderen Zufallszahlen beeinflußt werden. Wenn also eine einzige Zufallszahl recht groß ist, würden dadurch alle anderen in ein kleines Intervall um 0 "gestaucht".

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2010, 13:57     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
1. Zufallszahlen mit randn generieren.
2. Solange (WHILE) es Zufallszahlen außerhalb des Intervalls gibt, diese durch neue mit randn generierte Zufallszahlen ersetzen.


Dann sind sie aber nicht mehr Normalverteilt - siehe Dichtefunktionen im Anhang. Normiert man die Zufallszahlen auf die größten erhaltenen Werte, erhält man wieder eine Normalverteilung. Man müsste dann aber auch die Werte selbst nochmal skalieren, da für das Integral unter der Dichtefunktion ja gelten muss, dass es 1 ist.

normalverteilung.png
 Beschreibung:

Download
 Dateiname:  normalverteilung.png
 Dateigröße:  4.24 KB
 Heruntergeladen:  808 mal
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.