Effacer les filtres
Effacer les filtres

random number between 0 and 1

3 vues (au cours des 30 derniers jours)
minh lan
minh lan le 28 Juin 2019
I want to create random vector between 0 and 1 for 412 elements, by using
logical(randi([0 1],[412,1]));
It's work. But now, I want to have the number of '0' is 100, the number of '1' is 312. How I can do?

Réponse acceptée

Stephen23
Stephen23 le 28 Juin 2019
Modifié(e) : Stephen23 le 28 Juin 2019
>> V = [zeros(1,100),ones(1,312)];
>> V = V(randperm(numel(V)));
Checking:
>> nnz(V==0)
ans = 100
>> nnz(V==1)
ans = 312
>> V(:)
ans =
1
0
1
1
1
1
1
... lots of rows here
1
1
1
1
1
0
1
0
1
1
1
  1 commentaire
minh lan
minh lan le 28 Juin 2019
Thank you so much!

Connectez-vous pour commenter.

Plus de réponses (1)

vidhathri bhat
vidhathri bhat le 28 Juin 2019
Hi
Instead of generating the array using randi function, you can create a zeroes array and pick 312 random indices and make them as one. Easy way to get what you want. Hope this helps.
x = zeros(412,1);
ind = randperm(412,312); %generates 312 unique numbers in the range 1 to 412
x(ind)=1;

Catégories

En savoir plus sur Random Number Generation dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by