Azzera filtri
Azzera filtri

Multple switch expressions needed to run

1 visualizzazione (ultimi 30 giorni)
I need some help on executing multiple cases when using the "Switch" function. An example to clearify this
scenario = {'a', 'b'}
switch scenario
case 'a'
disp('Hello ')
case 'b'
disp('World')
case 'c'
disp('dont display')
end
The output what i'm looking for word be:
'Hello '
'World'
The idea is that "Case" would check if the variable is in scenario and accordinly run it. Could anyone please give me a suggestion how I could do this elegantly? It seems this only works the other way around.
Thanks a lot!
  2 Commenti
Rik
Rik il 24 Nov 2017
You could put the switch block in its own function and use cellfun or even a for-loop.
Tim Decuypere
Tim Decuypere il 25 Nov 2017
Great suggestion, thanks!

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 24 Nov 2017
As Rik Wisselink hinted:
scenario = {'a','b'};
for k = 1:numel(scenario)
switch scenario{k}
case 'a'
disp('Hello ')
case 'b'
disp('World')
case 'c'
disp('dont display')
end
end
displays:
Hello
World

Più risposte (1)

KVM
KVM il 24 Nov 2017
Modificato: Walter Roberson il 24 Nov 2017
scenario = {'a', 'b'}
for i=1:length(scenario);
switch scenario{i}
case 'a'
disp('Hello ')
case 'b'
disp('World')
case 'c'
disp('dont display')
end
end

Community Treasure Hunt

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

Start Hunting!

Translated by