MATLAB Crea matrice casuale
-
Genera numeri casuali usando la funzione
rand()
in MATLAB -
Genera numeri casuali usando la funzione
randi()
in MATLAB -
Genera numeri casuali usando la funzione
randn()
in MATLAB -
Genera numeri casuali usando la funzione
randperm()
in MATLAB -
Genera numeri casuali usando la funzione
betarnd()
in MATLAB -
Genera numeri casuali usando la funzione
random()
in MATLAB
Questo tutorial discuterà come generare o creare numeri casuali usando la funzione rand()
, randi()
, randn()
, randperm()
, betarand()
e random()
in MATLAB.
Genera numeri casuali usando la funzione rand()
in MATLAB
Se vuoi generare numeri casuali uniformemente distribuiti, puoi usare la funzione rand()
in MATLAB, che genera numeri casuali tra 0 e 1. Puoi anche specificare la dimensione della matrice contenente valori casuali e ogni valore sarà compreso tra 0 e 1, che puoi ridimensionare in base alle tue esigenze moltiplicandole con uno scaler. Ad esempio, generiamo una matrice 2 per 2 di valori casuali utilizzando la funzione rand()
. Vedi il codice qui sotto.
rn = rand(2)
Produzione:
rn =
0.2259 0.2277
0.1707 0.4357
Come puoi vedere nell’output, viene generata una matrice 2 per 2 contenente valori casuali tra 0 e 1. Se vuoi specificare l’intervallo dei numeri casuali, devi usare la formula seguente.
rn = a + (b-a).*rand(n,1)
In questa formula, a
è il limite inferiore, b
è il limite superiore e n
è la lunghezza dei numeri casuali. Ad esempio, generiamo dieci numeri casuali nell’intervallo da 2 a 8. Vedi il codice sotto.
a = 2;
b = 8;
n = 10;
rn = a + (b-a).*rand(n,1)
Produzione:
rn =
7.5403
4.5812
3.1089
7.4293
7.8785
4.6332
2.6667
3.5484
4.4523
5.5694
Ci sono dieci numeri casuali nell’intervallo da 2 a 8. Se vuoi solo numeri interi nell’output, puoi convertire questi numeri casuali in interi usando la funzione round()
, che arrotonda un numero in virgola mobile all’intero più vicino . Puoi anche clonare la dimensione e il tipo di dati dei numeri casuali da un array esistente usando la funzione size()
per la dimensione e la proprietà like
per il tipo di dati. Ad esempio, creiamo un array e generiamo valori casuali in base alla dimensione e al tipo di dati dell’array. Vedi il codice qui sotto.
v = [2 3 1 5]
rn = rand(size(v),'like',v)
Produzione:
v =
2 3 1 5
rn =
0.4886 0.5785 0.2373 0.4588
La dimensione e il tipo di dati dell’array e i numeri casuali sono gli stessi. Controlla questo link per maggiori dettagli sulla funzione rand()
.
Genera numeri casuali usando la funzione randi()
in MATLAB
La funzione sopra genera numeri casuali in virgola mobile, ma se si desidera generare numeri interi casuali, è possibile utilizzare la funzione randi()
in MATLAB, che genera numeri interi casuali da 1 a un numero intero specificato che è possibile specificare come primo argomento nella funzione randi()
. È inoltre possibile specificare la dimensione della matrice di output contenente valori casuali come secondo e terzo argomento. Ad esempio, generiamo una matrice 3 per 3 contenente numeri interi casuali da 1 a 15. Vedi il codice sotto.
rn = randi(15,3,3)
Produzione:
rn =
6 1 8
11 12 14
3 8 10
La matrice è di dimensioni 3 per 3 e contiene numeri interi casuali tra 1 e 15. Puoi anche generare numeri interi casuali tra un intervallo specifico e devi solo passare l’intervallo tra parentesi quadre come primo argomento del randi()
funzione. Ad esempio, generiamo 10 numeri casuali tra -10 e 10. Vedi il codice qui sotto.
rn = randi([-10,10],10,1)
Produzione:
rn =
2
8
6
2
-7
-5
8
-10
0
-7
Ci sono dieci numeri casuali nell’intervallo da -10 a 10. Puoi anche definire il tipo di dati dei numeri interi passando il nome del tipo di dati nella funzione randi()
. I tipi di dati che puoi scegliere sono: 'single'
, 'double'
, 'int8'
, 'uint8'
, 'int16'
, 'uint16'
, 'int32'
, o 'uint32'
. Puoi definire la dimensione dei numeri casuali dalla dimensione dell’array esistente usando la funzione size()
e il tipo di dati numerico usando la proprietà like
. Ad esempio, generiamo una matrice di valori casuali a seconda della dimensione e del tipo di dati numerico di un array esistente. Vedi il codice qui sotto.
v = [1 2; 6 7]
rn = randi(7,size(v),'like',v)
Produzione:
v =
1 2
6 7
rn =
6 1
7 7
La dimensione e il tipo di dati dell’array e i numeri casuali sono gli stessi. Controlla questo link per maggiori dettagli sulla funzione randi()
.
Genera numeri casuali usando la funzione randn()
in MATLAB
Se vuoi generare numeri casuali normalmente distribuiti, puoi usare la funzione randn()
in MATLAB. La funzione randn()
è la stessa della funzione rand()
con solo la differenza nel tipo di distribuzione. La funzione rand()
genera numeri casuali distribuiti uniformemente mentre la funzione randn()
genera numeri casuali normalmente distribuiti. Puoi utilizzare una di queste funzioni a seconda delle tue esigenze. Controlla questo link per maggiori dettagli sulla funzione randn
.
Genera numeri casuali usando la funzione randperm()
in MATLAB
Se vuoi generare una permutazione casuale di interi, puoi usare la funzione randperm()
in MATLAB. La permutazione casuale degli interi sarà compresa tra 1 e un numero specifico che puoi definire nella funzione randperm()
come primo argomento. Puoi anche definire il numero di interi che vuoi generare come secondo argomento nella funzione. Ad esempio, generiamo una permutazione casuale di 6 interi univoci. Vedi il codice qui sotto.
rn = randperm(10,5)
Produzione:
rn =
2 3 10 8 7
Tutti gli interi sono unici e vanno da 1 a 10. Si noti che la funzione randperm()
è la stessa della funzione randi()
con la differenza che randperm()
genera interi unici, mentre nella randi()
, gli interi possono essere ripetuti. Controlla questo link per maggiori dettagli sulla funzione randperm
.
Genera numeri casuali usando la funzione betarnd()
in MATLAB
Se vuoi generare numeri casuali dalla distribuzione beta, puoi usare la funzione betarnd()
in MATLAB. Questa funzione genera interi casuali specificati dal primo e dal secondo argomento: vettori, matrici o array della stessa dimensione. Ad esempio, generiamo una matrice 1 per 5 di numeri casuali dalla distribuzione beta utilizzando due vettori come input. Vedi il codice qui sotto.
a = [1 2 3 4 5];
b = [9 8 7 6 5];
rn = betarnd(a,b)
Produzione:
rn =
0.1234 0.1847 0.3334 0.2689 0.3678
Puoi anche specificare la dimensione della matrice di output definendola nel terzo e quarto argomento della funzione betarnd()
. Controlla questo link per maggiori dettagli sulla funzione betarnd()
.
Genera numeri casuali usando la funzione random()
in MATLAB
Se vuoi generare numeri casuali da un tipo di distribuzione specificato, puoi usare la funzione random()
in MATLAB. Devi definire il nome della distribuzione come primo argomento e poi devi passare i parametri di distribuzione. Ad esempio, generiamo numeri casuali normalmente distribuiti utilizzando un valore sigma pari a 0 e un valore mu pari a 1 utilizzando la funzione random()
. Vedi il codice qui sotto.
s = 0;
m = 1;
rn = random('Normal',s,m)
Produzione:
rn =
-0.1649
È possibile definire il nome di distribuzione richiesto nella funzione. Puoi utilizzare molti tipi di distribuzioni come: Beta
, Binomial
, Exponential
, Gamma
e molti altri. Controlla questo link per maggiori dettagli sulla funzione random
.