MATLAB Criar Matriz Aleatória
-
Gere números aleatórios usando a função
rand()
no MATLAB -
Gerar números aleatórios usando a função
randi()
no MATLAB -
Gerar números aleatórios usando a função
randn()
no MATLAB -
Gerar números aleatórios usando a função
randperm()
no MATLAB -
Gerar números aleatórios usando a função
betarnd()
no MATLAB -
Gerar Números Aleatórios usando a função
random()
no MATLAB
Este tutorial irá discutir como gerar ou criar números aleatórios usando a função rand()
, randi()
, randn()
, randperm()
, betarand()
e random()
em MATLAB.
Gere números aleatórios usando a função rand()
no MATLAB
Se você deseja gerar números aleatórios uniformemente distribuídos, você pode usar a função rand()
no MATLAB, que gera números aleatórios entre 0 e 1. Você também pode especificar o tamanho do array contendo valores aleatórios, e cada valor será entre 0 e 1, que você pode dimensionar de acordo com seus requisitos, multiplicando-os com um dimensionador. Por exemplo, vamos gerar um array 2 por 2 de valores aleatórios usando a função rand()
. Veja o código abaixo.
rn = rand(2)
Resultado:
rn =
0.2259 0.2277
0.1707 0.4357
Como você pode ver na saída, um array 2 por 2 contendo valores aleatórios entre 0 e 1 é gerada. Se você deseja especificar o intervalo dos números aleatórios, você deve usar a fórmula abaixo.
rn = a + (b-a).*rand(n,1)
Nesta fórmula, a
é o limite inferior, b
é o limite superior e n
é o comprimento dos números aleatórios. Por exemplo, vamos gerar dez números aleatórios no intervalo de 2 a 8. Veja o código abaixo.
a = 2;
b = 8;
n = 10;
rn = a + (b-a).*rand(n,1)
Resultado:
rn =
7.5403
4.5812
3.1089
7.4293
7.8785
4.6332
2.6667
3.5484
4.4523
5.5694
Existem dez números aleatórios no intervalo de 2 a 8. Se você quiser apenas inteiros na saída, você pode converter esses números aleatórios em inteiros usando a função round()
, que arredonda um número de ponto flutuante para o inteiro mais próximo . Você também pode clonar o tamanho e o tipo de dados dos números aleatórios de um array existente usando a função size()
para o tamanho e a propriedade like
para o tipo de dados. Por exemplo, vamos criar um array e gerar valores aleatórios de acordo com o tamanho e o tipo de dados dessa matriz. Veja o código abaixo.
v = [2 3 1 5]
rn = rand(size(v),'like',v)
Resultado:
v =
2 3 1 5
rn =
0.4886 0.5785 0.2373 0.4588
O tamanho e o tipo de dados do array e os números aleatórios são os mesmos. Verifique este link para mais detalhes sobre a função rand()
.
Gerar números aleatórios usando a função randi()
no MATLAB
A função acima gera números aleatórios de ponto flutuante, mas se você deseja gerar números inteiros aleatórios, você pode usar a função randi()
no MATLAB, que gera números inteiros aleatórios de 1 a um inteiro especificado que você pode especificar como um primeiro argumento na função randi()
. Você também pode especificar o tamanho do array de saída contendo valores aleatórios como o segundo e o terceiro argumento. Por exemplo, vamos gerar um array 3 por 3 contendo números inteiros aleatórios de 1 a 15. Veja o código abaixo.
rn = randi(15,3,3)
Resultado:
rn =
6 1 8
11 12 14
3 8 10
A matriz é de tamanho 3 por 3 que contém números inteiros aleatórios entre 1 e 15. Você também pode gerar números inteiros aleatórios entre um intervalo específico, e você só precisa passar o intervalo entre colchetes como o primeiro argumento do função randi()
. Por exemplo, vamos gerar 10 números aleatórios entre -10 a 10. Veja o código abaixo.
rn = randi([-10,10],10,1)
Resultado:
rn =
2
8
6
2
-7
-5
8
-10
0
-7
Existem dez números aleatórios no intervalo de -10 a 10. Você também pode definir o tipo de dados dos números inteiros passando o nome do tipo de dados na função randi()
. Os tipos de dados que você pode escolher são: 'único'
, 'duplo'
, 'int8'
, 'uint8'
, 'int16'
, 'uint16'
, 'int32'
, ou 'uint32'
. Você pode definir o tamanho dos números aleatórios a partir do tamanho do array existente usando a função size()
e o tipo de dados numérico usando a propriedade like
. Por exemplo, vamos gerar um array de valores aleatórios dependendo do tamanho e tipo de dados numéricos de um array existente. Veja o código abaixo.
v = [1 2; 6 7]
rn = randi(7,size(v),'like',v)
Resultado:
v =
1 2
6 7
rn =
6 1
7 7
O tamanho e o tipo de dados do array e os números aleatórios são os mesmos. Verifique este link para mais detalhes sobre a função randi()
.
Gerar números aleatórios usando a função randn()
no MATLAB
Se você deseja gerar números aleatórios normalmente distribuídos, você pode usar a função randn()
no MATLAB. A função randn()
é igual à função rand()
com apenas a diferença no tipo de distribuição. A função rand()
gera números aleatórios uniformemente distribuídos, enquanto a função randn()
gera números aleatórios normalmente distribuídos. Você pode usar qualquer uma dessas funções, dependendo de seus requisitos. Verifique este link para mais detalhes sobre a função randn
.
Gerar números aleatórios usando a função randperm()
no MATLAB
Se você deseja gerar uma permutação aleatória de inteiros, você pode usar a função randperm()
no MATLAB. A permutação aleatória dos inteiros será entre 1 e um número específico que você pode definir na função randperm()
como o primeiro argumento. Você também pode definir o número de inteiros que deseja gerar como o segundo argumento na função. Por exemplo, vamos gerar uma permutação aleatória de 6 inteiros únicos. Veja o código abaixo.
rn = randperm(10,5)
Resultado:
rn =
2 3 10 8 7
Todos os inteiros são únicos e variam de 1 a 10. Observe que a função randperm()
é a mesma que a função randi()
, com a diferença de que randperm()
gera inteiros únicos, enquanto no função randi()
, os inteiros podem ser repetidos. Verifique este link para mais detalhes sobre a função randperma
.
Gerar números aleatórios usando a função betarnd()
no MATLAB
Se você deseja gerar números aleatórios da distribuição beta, você pode usar a função betarnd()
no MATLAB. Esta função gera inteiros aleatórios especificados pelo primeiro e segundo argumento: vetores, matrizes ou arrays do mesmo tamanho. Por exemplo, vamos gerar um array 1 por 5 de números aleatórios da distribuição beta usando dois vetores como entrada. Veja o código abaixo.
a = [1 2 3 4 5];
b = [9 8 7 6 5];
rn = betarnd(a,b)
Resultado:
rn =
0.1234 0.1847 0.3334 0.2689 0.3678
Você também pode especificar o tamanho do array de saída definindo-a no terceiro e quarto argumento da função betarnd()
. Verifique este link para mais detalhes sobre a função betarnd()
.
Gerar Números Aleatórios usando a função random()
no MATLAB
Se você deseja gerar números aleatórios de um tipo de distribuição especificado, você pode usar a função random()
no MATLAB. Você tem que definir o nome da distribuição como o primeiro argumento, e depois disso, você precisa passar os parâmetros de distribuição. Por exemplo, vamos gerar números aleatórios normalmente distribuídos usando um valor sigma de 0 e um valor mu de 1 usando a função random()
. Veja o código abaixo.
s = 0;
m = 1;
rn = random('Normal',s,m)
Resultado:
rn =
-0.1649
Você pode definir seu nome de distribuição necessário na função. Você pode usar muitos tipos de distribuição como: Beta
, Binomial
, Exponencial
, Gama
e muitos mais. Verifique este link para mais detalhes sobre a função aleatório
.