Can I run all cases of switch ? if not, is there another way ?

4 visualizaciones (últimos 30 días)
omar th
omar th el 21 de Feb. de 2023
Comentada: omar th el 25 de Feb. de 2023
The attached code is running only one of the cases randomly. My question Can I execute all cases in random way, for example run the third loop (case 3) then the first loop (case 1) and after that the second loop (case 2 ) and then iterate the MAIN LOOP as shown below. If that can't be done, I appreciate another way if its possible.
Thanks in advance
for q=1:5 % MAIN LOOP
t = randperm(3,1);
switch t
case 1
for q1=1:10 % Loop 1
disp(1);
end
case 2
for q2=1:10 % Loop 2
disp(2);
end
case 3
for q3=1:10 % Loop 3
disp(3);
end
end
end

Respuesta aceptada

dpb
dpb el 21 de Feb. de 2023
Editada: dpb el 21 de Feb. de 2023
That's just putting the switch block inside another loop...
...
M=5; % outer loop counter
N=3; % number switch blocks
for q=1:M % MAIN LOOP
for t=randperm(N) % execute the |switch| randomly in sequence for all cases
switch t
case 1
for q1=1:10 % Loop 1
disp(1);
end
case 2
for q2=1:10 % Loop 2
disp(2);
end
case 3
for q3=1:10 % Loop 3
disp(3);
end
end
end
end
The above will do all cases in random order each time with no repeats; one could choose alternate sampling patterns as well, of course of "N of K" or even not require no replications.
  6 comentarios
dpb
dpb el 21 de Feb. de 2023
See patched Answer/Comment above...
N=3;
for i=1:2
fprintf('i: %d\n',i)
for t=randperm(N)
disp(t)
end
end
i: 1
2 1 3
i: 2
2 3 1
omar th
omar th el 21 de Feb. de 2023
Sorry for any an inconvienence, Its worked I really appreciate that

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 21 de Feb. de 2023
Editada: Walter Roberson el 22 de Feb. de 2023
I already gave you code that permits you to exactly control the minimum number of times each of the cases is to be executed (in a random order), with any remaining iterations to be chosen at random.
  2 comentarios
dpb
dpb el 21 de Feb. de 2023
Hadn't realized you'd already solved it, Walter. This was first I saw OP's plea...
omar th
omar th el 25 de Feb. de 2023
@Walter Roberson thank you so much, and sorry for not realizing your answer.

Iniciar sesión para comentar.

Categorías

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

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by