How to give IF condition in following code?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have following code. It is generating some random values of y (0 or 1). I want it to select at least 2 ones's(1) and it it should never select all zeros (0).
for i=1:W
y = randi([0 1]);
QTWM2 = round(((1000-500)*(rand(1)))+500);
WSCT= y* round(((1500-1000)*(rand(1)))+1000);
WCST1(i)=WSCT;
QTWM1(i)=QTWM2;
f11(i) = y;
f1(i)=CFWT*y;
end
Please provide me with the solution
4 commentaires
Michael Haderlein
le 6 Nov 2014
Actually, it's difficult to understand the question itself. Your code creates a bunch of random values, between 500 and 1000 (QTWM), between 1000 and 1500 plus 0 (WSCT), either 0 or 1 (f11) and either 0 or CFWT (f1). So what is now the question? Out of which array(s) should the values be chosen? How many values should be chosen?
Réponse acceptée
Roger Stafford
le 6 Nov 2014
Modifié(e) : Roger Stafford
le 6 Nov 2014
b = true;
while b
yt = randi([0,1],W,1);
b = (sum(yt)<2); % Repeat if 'yt' has less than two ones
end
for i=1:W
y = yt(i);
QTWM2 = ....
....
The while-loop will seldom have to repeat itself.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Random Number Generation 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!