Generare un numero casuale in un determinato intervallo in MATLAB

Come posso generare un numero casuale in MATLAB tra 13 e 20?

Se stai cercando numeri interi pseudocasuali distribuiti uniformsmente, usa:

randi([13, 20]) 
 r = 13 + 7.*rand(100,1); 

Dove 100,1 è la dimensione del vettore desiderato

ocw.mit.edu è una grande risorsa che mi ha aiutato moltissimo. randi è l’opzione migliore, ma se ti piace il divertimento, prova a utilizzare la funzione floor con rand per ottenere ciò che desideri.

Ho disegnato una linea numerica e ho inventato

 floor(rand*8) + 13 

Puoi anche usare:

 round(mod(rand.*max,max-1))+min 

Genera valori dalla distribuzione uniforms nell’intervallo [a, b].

  r = a + (ba).*rand(100,1); 

se stai cercando di generare tutto il numero all’interno di una specifica suonata in modo casuale, allora puoi provare `r = randi ([ab], 1, d)

a = punto iniziale b = punto finale d = quanti numeri vuoi generare ma tieni presente che d dovrebbe essere minore o uguale a ba

La soluzione migliore è randint , ma questa funzione produce numeri interi.

Puoi usare rand con la funzione di arrotondamento

  r = round(a + (ba).*rand(m,n)); 

Questo produce un numero casuale reale tra a e b, la dimensione della matrice di output è m * n

se hai bisogno di un numero casuale variabile tra 13 e 20

 (20-13).*rand(1) + 13 

se hai bisogno di un numero casuale intero compreso tra 13 e 20

 floor((20-13).*rand(1) + 13)