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.
