Questo sito contribuisce alla audience di

La funzione matlab rand

La sintassi ed esempi di applicazione

matlab rand,esercizi matlab, matlab mac, matlab forum, matlab vista

La funzione rand(v) genera una matrice di numeri casuali di dimensioni v(1), v(2) distribuiti uniformemente tra 0 e 1. La funzione randn genera numeri distribuiti secondo una gaussiana di media zero e
larghezza 1. Per ottenere numeri distribuiti in modo normale con media e larghezza qualunque, basta moltiplicare per la larghezza desiderata ed aggiungere la media.

La sintassi della funzione è la seguente:

Y = rand(n)
Y = rand(m,n)
Y = rand([m n])
Y = rand(m,n,p,…)
Y = rand([m n p…])
Y = rand(size(A))
rand
s = rand(’state’)

Descriviamo allora il significato dei diversi termini:

Y = rand (n) restituisce un n-da-n matrice casuale di voci. Un messaggio di errore appare se n non è uno scalare.

Y = rand (m, n) o Y = rand ([MN]) restituisce un m-da-n matrice casuale di voci.

Y = rand (m, n, p ,…) o Y = rand ([mn p. ..]) genera un array casuale.

Y = rand (size (A)) restituisce una matrice casuale di voci che è ha la stessa dimensione di A.

rand, di per sé, ritorna uno scalare il cui valore cambia ogni volta che è chiamata.

s = rand ( ’stato’) restituisce un vettore di 35 elementi contenente lo stato attuale del generatore uniforme.

ESEMPI

Esempio 1
R = rand(3,4) produce

R =
0.2190 0.6793 0.5194 0.0535
0.0470 0.9347 0.8310 0.5297
0.6789 0.3835 0.0346 0.6711

Questo codice fa una scelta casuale tra due alternative ugualmente probabili.

if rand < .5
'heads'
else
'tails'
end

Esempio 2
Generare una distribuzione uniforme di numeri casuali su un determinato intervallo [a, b]. Per fare questo, è necessariomoltiplicare la funzione rand per (B-A), poi aggiungere a. Ad esempio, per generare un 5x5 serie di numeri casuali uniformemente distribuiti sull'intervallo [10,50]

a = 10; b = 50;
x = a + (b-a) * rand(5)
x =

18.1106 10.6110 26.7460 43.5247 30.1125
17.9489 39.8714 43.8489 10.7856 38.3789
34.1517 27.8039 31.0061 37.2511 27.1557
20.8875 47.2726 18.1059 25.1792 22.1847
17.9526 28.6398 36.8855 43.2718 17.5861

Link correlati all’argomento

- Matlab - Guida all’uso

- Manuale Matlab in italiano