Trouble getting two conditions to work with array While loop

1 visualización (últimos 30 días)
I'm having problems getting my while loop to work with two conditions. I'm trying to create an array that contains the numbers 3 and 7, randomizing the numbers again if it doesn't contain those two. Right now, I have this. Any ideas? Thanks!
a = zeros(1,6);
a(1,1:6) = randperm(8,6)
i = 0;
while (a ~= 3 & a ~= 7)
i = i+1;
a(1,1:6) = randperm(8,6);
end
  2 comentarios
madhan ravi
madhan ravi el 1 de Sept. de 2018
can you type your required output as an example?
Peter Lindquist
Peter Lindquist el 1 de Sept. de 2018
I'm just looking for an array of 6 random numbers that includes 3 and 7. so for example, a = 8 5 3 2 7 1.

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
Image Analyst el 1 de Sept. de 2018
Here is one way that uses a while loop:
a(1:6) = randperm(8,6)
k = 0;
maxIterations = 200; % Whatever, the failsafe
while k <= maxIterations && sum(a == 3 | a == 7) < 2
k = k+1;
a = randperm(8, 6);
end
a % Show in command window.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Productos


Versión

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by