Previous: Hyperbelfunktionen, Up: Mathematische Funktionen [Contents][Index]

### 10.7 Zufallszahlen

Funktion: make_random_state (n)
Funktion: make_random_state (s)
Funktion: make_random_state (true)
Funktion: make_random_state (false)

  Ein Zufallszustand repräsentiert den Zustand des Zufallszahlengenerators. Der Zustand enthält 627 32-Bit Worte.

  `make_random_state(n)` gibt einen neuen Zufallszustand zurück, der aus einer ganzen Zahl n modulo 2^32 erzeugt wird. n kann eine negative Zahl sein.

  `make_random_state(s)` gibt eine Kopie des Zufallszutandes s zurück.

  `make_random_state(true)` gibt einen neuen Zufallszustand zurück, der aus der aktuellen Systemzeit des Computers erzeugt wird.

  `make_random_state(false)` gibt eine Kopie des aktuellen Zustands des Zufallszahlengenerators zurück.

Funktion: set_random_state (s)

  Kopiert s in den Zufallszustand des Zufallszahlengenerators.

  `set_random_state` gibt immer `done` zurück.

Funktion: random (x)

  Erzeugt eine Pseudo-Zufallszahl. Ist x eine ganze Zahl, gibt `random(x)` eine ganze Zahl im Intervall 0 bis einschließlich `x-1` zurück. Ist x eine Gleitkommazahl, gibt `random(x)` eine positive Gleitkommazahl zurück, die kleiner als x ist. `random` gibt eine Fehlermeldung, wenn x weder eine ganze Zahl noch eine Gleitkommazahl ist oder wenn x eine negative Zahl ist.

  Die Funktionen `make_random_state` und `set_random_state` verwalten den Zustand des Zufallszahlengenerators.

  Der Maxima-Zufallszahlengenerator ist eine Implementation des Mersenne twister MT 19937.

  Beispiele:

      (%i1) s1: make_random_state (654321)$
      (%i2) set_random_state (s1);
      (%o2)                         done
      (%i3) random (1000);
      (%o3)                          768
      (%i4) random (9573684);
      (%o4)                        7657880
      (%i5) random (2^75);
      (%o5)                11804491615036831636390
      (%i6) s2: make_random_state (false)$
      (%i7) random (1.0);
      (%o7)                   .2310127244107132
      (%i8) random (10.0);
      (%o8)                   4.394553645870825
      (%i9) random (100.0);
      (%o9)                   32.28666704056853
      (%i10) set_random_state (s2);
      (%o10)                        done
      (%i11) random (1.0);
      (%o11)                  .2310127244107132
      (%i12) random (10.0);
      (%o12)                  4.394553645870825
      (%i13) random (100.0);
      (%o13)                  32.28666704056853

Previous: Hyperbelfunktionen, Up: Mathematische Funktionen [Contents][Index]