Zufallszahlen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zufallszahlen

    Hallo,

    ich möchte gerne eine Zufallszahl erzeugen wie rand(15,30) nur ich möchte gern das die min-Werte häufiger erzeugt werden als die max-Werte. Jemand einen Tipp?

  • #2
    Hallo,

    das geht ganz einfach, indem du quadrierst, z. B.

    PHP-Code:
    $max mt_getrandmax();
    $rand 10 90 mt_rand() * mt_rand() / $max $max
    Das erzeugt Zufallszahlen zwischen 10 und 100 und die niedrigen häufiger.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Rand() liefert nicht zufällig den ersten oder zweiten Parameter zurück, sondern einen Wert dazwischen. Vor diesem Hintergrund verstehe ich deine Frage nicht. Willst du nur das Minimum häufiger und alle anderen Werte gleichverteilt oder willst du eine Verteilung umgekehrt proportional zur Größe?

      In beiden Fällen musst du dir eine Formel bzw. einen Algorithmus überlegen, denn PHP kann nur Gleichverteilung.

      Kommentar


      • #4
        Wenn ich vom Wert 15 bis zum Wert 30 eine Zufallzahl möchte, so soll die 30 am wenigsten und die 15 am häufigsten erzeugt werden.

        ich habe so eine Formel für die Werte 1 bis 5
        PHP-Code:
        $a=mt_rand(1,15);

        if(
        $a==15){
        $zufall=5;
        }
        if(
        $a>=13 and $a<=14){
        $zufall=4;
        }
        if(
        $a>=10 and $a<=12){
        $zufall=3;
        }
        if(
        $a>=and $a<=9){
        $zufall=2;
        }
        if(
        $a>=and $a<=5){
        $zufall=1;

        Ich würd die Formel ja weiter benutzen, aber bei größeren Werten wird das dann sehr groß.

        Kommentar


        • #5
          Und was genau gefällt dir jetzt nicht an meiner Variante?
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            @amica

            deine Variante macht genau das was sie soll, Danke.

            Kommentar

            Lädt...
            X