hai i need a command for following details........
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Here i am using the following command
as
>> randperm(12,4)
>> 1 3 8 12
In above command the maximum value is 12 for this command.
How can i set the the limit of randperm command ie the result should be as the range of 2 to 12???????????
the answer may be as
>>2 5 6 7........
1 commentaire
Jan
le 11 Déc 2017
Please post one thread per problem only. See: https://www.mathworks.com/matlabcentral/answers/372244-need-a-command-as-simple-things-sir
Réponse acceptée
Birdman
le 11 Déc 2017
One approach:
while true
a=randperm(12,4)
if max(a)>7
else
break;
end
end
Plus de réponses (2)
Walter Roberson
le 11 Déc 2017
"s it possible to create an array by using this command(randsample(2:12,4)) for example the array size is 7*4 etc etc...???????"
[~,temp] = sort(rand(7, 11), 2);
result = 1 + temp(:,1:4));
The range 2 to 12 is achieved by taking the range 1 to 11 and adding 1 to that.
The random ordering is done by sorting random numbers by rows. This method of sort() is what randperm it self used to use.
1 commentaire
Jan
le 11 Déc 2017
randperm uses the sorting of a random vector only, if it is called with 1 input. For 2 inputs I assume the faster Fisher-Yates-Shuffle is applied (at least randperm(n,n) is much faster than randperm(n) - enhancement request was sent already).
Nevertheless, randperm(11, 4) + 1 is an easy solution also, but must be called in a loop.
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!