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

Verteilung/Wahrscheinlichkeiten

 

sepan
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 02.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.03.2010, 19:54     Titel: Verteilung/Wahrscheinlichkeiten
  Antworten mit Zitat      
Hallo zusammen,
ich habe folgende dringende Frage Smile

ich möchte ganz gerne zufällig eine Zahl aussuchen zwischen 1 und 8 (1,2,3,4,5,6,7,8 ) wobei jede Zahl mit eigene Wahrscheinlichkeit gegeben ist.
d.h.
Zahl Wahrscheinlichkeit
1 : 13.3%
2 : 11.1%
3 : 15.3%
4 : 22.5%
5 : 16.6%
6 : 5%
7 : 11.2%
8 : 5%
Wie kann ich das in Matlab formulieren?
danke vorerst für eure Unterstützung Smile
Private Nachricht senden Benutzer-Profile anzeigen


InspectorGadget
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 52
Anmeldedatum: 16.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.03.2010, 20:14     Titel:
  Antworten mit Zitat      
Das Thema Zufallszahl hatten wir ja erst.
Code:
Zufallszahl=ceil(rand(1)*8)

Jetzt muisst Du noch entscheiden, on die Zahl akzeptiert wird. Da fällt mich nihx besseres ein, all nochmal eine Zufallszahl zu generieren, und deren Wert mit einem Bereich zu vergleichen, der die Wahrscheinlichkeiten repräsentiert.
Z.B.:
Code:

Temp=rand(1);
if (Zufallszahl==1 && Temp<=0.133)
Ergebnis=Zufallszahl;
end
if (Zufallszahl==2 && Temp>0.133 && Temp<=0.244)
Ergebnis=Zufallszahl;
end

Nicht sonderlich schön, aber sollte funktionieren. Villeicht weiss ja jemand was eleganteres!!
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 02.03.2010, 20:16     Titel:
  Antworten mit Zitat      
Hallo,

so: (rand generiert eine Zahl zw. 0 und 1,
deswegen Multiplikation mit 8 )

Code:

% die Wahrscheinlichkeiten in ein array packen
W = [13.3, 11.1, 15.3, 22.5, 16.6, 5 ,11.2 ,5]

% danach mit rand eine Zufallszahl generieren
for k=1:100
 z  = ceil(rand(1)*8);
 fprintf('%d : %0.1f\n',z,W(z))
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
sepan
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 02.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.03.2010, 20:22     Titel:
  Antworten mit Zitat      
Danke Danke an Euch für die schnelle Reaktion Smile
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.