Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Zufallszahlen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Zufallszahlen (1570 mal gelesen)
daniel.t
Mitglied


Sehen Sie sich das Profil von daniel.t an!   Senden Sie eine Private Message an daniel.t  Schreiben Sie einen Gästebucheintrag für daniel.t

Beiträge: 5
Registriert: 24.11.2009

erstellt am: 18. Jan. 2010 14:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo liebe Gemeinde 
ich habe folgendes Problem:

ich möchte nach einem vorgegebenem prozentualem Verhätlnis einen Zustand zufällig festlegen, aber ich finde keinen korrekten Ansatz dafür :/
Beispiel: 40% und 60% -> zufällig soll nun mit 40% eine "0" gewürfelt werden und mit 60% eine "1"

Ich habe es schon mit einer Binomialverteilung versucht, aber diese liefert mir nicht das gewünschte Ergebnis :/

Könnt ihr mir helfen?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Homer Simpson
Mitglied



Sehen Sie sich das Profil von Homer Simpson an!   Senden Sie eine Private Message an Homer Simpson  Schreiben Sie einen Gästebucheintrag für Homer Simpson

Beiträge: 345
Registriert: 14.09.2005

erstellt am: 19. Jan. 2010 08:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für daniel.t 10 Unities + Antwort hilfreich

Das geht zum Beispiel so:

x := floor(z + 0.6);

Was du aber vermutlich tatsächlich suchst, ist sowas:

Code:
if z > 0.6 then
    print "60%";
else
    print "40%";
end;

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

planty
Mitglied
Dipl.-Ing.


Sehen Sie sich das Profil von planty an!   Senden Sie eine Private Message an planty  Schreiben Sie einen Gästebucheintrag für planty

Beiträge: 139
Registriert: 18.09.2006

erstellt am: 19. Jan. 2010 11:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für daniel.t 10 Unities + Antwort hilfreich

*hier stand etwas falsches und wurde gelöscht weil ich nicht weiss, wie ich durchstreichen kann ^^*

Eine Gleichverteilung erreichst Du mit:

Code:

  zEq := z_uniform(stream,0,1)

und wenn ich mir das nochmal ansehe....
müsste es z < 0.6 sein, denn > sind ja nur 40%. :-)

Gruß P.

------------------
Two hours of trial and error can save ten minutes of manual reading!

[Diese Nachricht wurde von planty am 19. Jan. 2010 editiert.]

[Diese Nachricht wurde von planty am 19. Jan. 2010 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Homer Simpson
Mitglied



Sehen Sie sich das Profil von Homer Simpson an!   Senden Sie eine Private Message an Homer Simpson  Schreiben Sie einen Gästebucheintrag für Homer Simpson

Beiträge: 345
Registriert: 14.09.2005

erstellt am: 19. Jan. 2010 15:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für daniel.t 10 Unities + Antwort hilfreich

z ist keine Variable, sondern die Kurzschreibweise für den Funktionsaufruf z_uniform(1, 0, 1).
z := z_uniform(stream,0,1) lässt sich daher natürlich auch nicht übersetzen.

Richtig ist, dass es z < 0.6 heißen muss.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

planty
Mitglied
Dipl.-Ing.


Sehen Sie sich das Profil von planty an!   Senden Sie eine Private Message an planty  Schreiben Sie einen Gästebucheintrag für planty

Beiträge: 139
Registriert: 18.09.2006

erstellt am: 19. Jan. 2010 16:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für daniel.t 10 Unities + Antwort hilfreich

  
Zitat:

z ist keine Variable, sondern die Kurzschreibweise für den Funktionsaufruf z_uniform(1, 0, 1).


ups...
sry, das hab ich nicht auf dem Plan gehabt.

EDIT:
Ist so auch nicht ganz richtig. Die Funktion z benutzt die Zufallszahlenfunktion des Betriebssystems (was auch immer das bedeutet). Bei mir (Vista 32) kommt die Zahl aus der rand funktion in MSVCR90.dll (also auch gleichverteilt, aber nicht mit dem Zufallszahlenstrom 1).
Wo z_uniform herkommt will ich jetzt nicht prüfen, ist aber eine andere Funktion.

 

Zitat:

z := z_uniform(stream,0,1) lässt sich daher natürlich auch nicht übersetzen.


Ich wollte z als Variable haben, hab es im oberen Post geändert.

Gruß P.

------------------
Two hours of trial and error can save ten minutes of manual reading!

[Diese Nachricht wurde von planty am 19. Jan. 2010 editiert.]

[Diese Nachricht wurde von planty am 19. Jan. 2010 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Homer Simpson
Mitglied



Sehen Sie sich das Profil von Homer Simpson an!   Senden Sie eine Private Message an Homer Simpson  Schreiben Sie einen Gästebucheintrag für Homer Simpson

Beiträge: 345
Registriert: 14.09.2005

erstellt am: 20. Jan. 2010 09:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für daniel.t 10 Unities + Antwort hilfreich

Zitat:
Die Funktion z benutzt die Zufallszahlenfunktion des Betriebssystems

Hoppla. Das war mir gar nicht bewusst.

Irgendjemand hat mir mal gesagt, dass man z nicht verwenden sollte. Jetzt weiß ich auch warum. Da es keinen Zufallszahlenstrom dafür gibt, kann man keine Seedwerte verändern. Somit kann man keine Experimente mit unterschiedlichen Zufallszahlen machen. Außerdem könnten sind die gewürfelten Ergebnisse von Version zu Version verändern, wenn Microsoft sich dazu entschließt die Zufallszahlerzeugung zu ändern.

z_uniform und die anderen Verteilungen haben dieses Problem nicht, da diese Zufallszahlen von Plant Simulation berechnet werden (mittels MLCG, siehe Online-Hilfe).

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz