Números aleatorios (Manual de Maxima 5.45.0)

Anterior: Funciones trigonométricas, Subir: Funciones matemáticas [Índice general][Índice]

### 10.6 Números aleatorios

Función: make_random_state (n)
Función: make_random_state (s)
Función: make_random_state (true)
Función: make_random_state (false)

  Un objeto de estado aleatorio representa el estado del generador de números aleatorios. El estado consiste en 627 cadenas binarias de 32 bits.

  La llamada `make_random_state (n)` devuelve un nuevo objeto de estado aleatorio creado a partir de una semilla entera igual a n módulo 2^32. El argumento n puede ser negativo.

  La llamada `make_random_state (s)` devuelve una copia del estado aleatorio s.

  La llamada `make_random_state (true)` devuelve un nuevo objeto de estado aleatorio, cuya semilla se genera a partir de la hora actual del reloj del sistema como semilla.

  La llamada `make_random_state (false)` devuelve una copia del estado actual del generador de números aleatorios.

Función: set_random_state (s)

  Establece s como estado del generador de números aleatorios.

  La función `set_random_state` devuelve `done` en todo caso.

Función: random (x)

  Devuelve un número seudoaleatorio. Si x es un entero, `random (x)` devuelve un entero entre 0 y `x - 1`, ambos inclusive. Si x es un decimal en punto flotante, `random (x)` devuelve un decimal no negativo en punto flotante menor que x. La función `random` emite un mensaje de error si x no es ni entero ni de punto flotante, o si x no es positivo.

  Las funciones `make_random_state` y `set_random_state` permiten controlar el estado del generador de números aleatorios.

  El generador de números aleatorios de Maxima implementa el algoritmo de Mersenne twister MT 19937.

  Ejemplos:

      (%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

Anterior: Funciones trigonométricas, Subir: Funciones matemáticas [Índice general][Índice]