AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Warscheinlichkeit & random

Ein Thema von theomega · begonnen am 3. Okt 2004 · letzter Beitrag vom 3. Okt 2004
Antwort Antwort
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#1

Warscheinlichkeit & random

  Alt 3. Okt 2004, 17:35
Hallo Leute,
ich bräuchte eine Funktion die mir entweder true oder false zurückgibt und dabei eine chance von 1:x auf true besteht (x soll variabel sein).
Ich steh gerade echt auf dem Schlauch, keine Ahnung wie ich das mit random mache.

Gruß und Danke
TO
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.504 Beiträge
 
#2

Re: Warscheinlichkeit & random

  Alt 3. Okt 2004, 17:44
Zitat von theomega:
chance von 1:X auf true besteht (x soll variabel sein).
1/X ? Nicht sowas wie X oder 1-X ?
(Wozu 1/X ??)
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Warscheinlichkeit & random

  Alt 3. Okt 2004, 17:45
Hi. Nimm RandomRange aus der Unit Math
Wenn die Zahl 1 ist, wird das Ergebnis True, ansonsten False.

Also in etwa so:

Delphi-Quellcode:
  Case RandomRange(1,6) of
    2..6 : ShowMessage('False');
    1 : ShowMessage('True');
  end;
Man liest sich, Stanlay

Edit: Beispiel hinzugefügt
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Warscheinlichkeit & random

  Alt 3. Okt 2004, 17:48
x steht für das x bei 1

Es muss vorher der "Zufallsgenerator" gestartet werden!
Am besten in DeinForm.create noch randomize; reinschreiben!
So sieht die function aus:
Delphi-Quellcode:
function(x:integer): boolean;
begin
if random(x)+1 = 1 then result := true;
end;

EDIT:
zu spät
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.055 Beiträge
 
#5

Re: Warscheinlichkeit & random

  Alt 3. Okt 2004, 17:50
was auch ginge (für statistiker, die die ws in 0,... angeben):
(random > Wahrscheinlichkeit) und für die 1: x-angabe
(random(x) = 0) @Nicolai
so würds reichen:
result := random(x)+1 = 1;
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#6

Re: Warscheinlichkeit & random

  Alt 3. Okt 2004, 17:52
oki, soweit war ich auch schon, ihr habt auch recht, eigentlich will ich nicht 1 sonder ich weiß p und damit ist q=1-p (aus dem MAtheunterricht) p+q=1 womit ja p kleiner 1 sein muß und damit eigentlich sich random nicht gut, oder?
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: Dietersheim b. München
6.536 Beiträge
 
#7

Re: Warscheinlichkeit & random

  Alt 3. Okt 2004, 17:55
Hi theomega,

Random ohne Parameter gibt dir einen Wert zwischen 0 und 1 zurück. Das sollte für deine Zwecke eigentlich passen.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#8

Re: Warscheinlichkeit & random

  Alt 3. Okt 2004, 18:00
nehmen wir mal an p=0,333333 und q=0,666666666
wenn ich jetzt eine zufallszahl zwischen 0 und 1 erstelle und dann über eine if-abfrage machen
Delphi-Quellcode:
if (random<0,333333) then result:=true
else result:=false;
würde das dann passen?

Gruß
TO
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: Dietersheim b. München
6.536 Beiträge
 
#9

Re: Warscheinlichkeit & random

  Alt 3. Okt 2004, 18:02
Hi theomega,

AFAIK sollte das allen Regeln der Statistik entsprechen

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.504 Beiträge
 
#10

Re: Warscheinlichkeit & random

  Alt 3. Okt 2004, 18:06
Also, folgende Funktion gibt dir mit der übergebenen Wahrscheinlichket (in Prozent) TRUE zurück:
Delphi-Quellcode:
function (x: Byte): Boolean;
begin
  Result := FALSE;
  if (x < 0) OR (x > 100) then exit;
  // Damit mit der übergebeben Wahrscheinlichkeit FALSE zurückgegeben wird,
  // folgendes auskomentieren:
  // x := 100 - x;
  Result := (Random < (x / 100));
end;
Nicht vergessen: randomize vorher aufrufen ...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf