Using cases with strings

9 visualizzazioni (ultimi 30 giorni)
JP
JP il 19 Giu 2013
Hi, Im trying to make the following code work and it just wont seem to do what I want
Astr = '123456789'
switch Astr
case strcmp(Astr([2:4,5:7]), '234567' )
x = 5
case strcmp(Astr([2:4,5:7]), '123567' )
x = 6
case strcmp(Astr([2:4,5:7]), '345567' )
x = 7
otherwise
x = 8
end
I think it has to do with the way Im defining the string values, it keeps outputting x = 8 (the otherwise case). Please let me know how to fix thanks!

Risposta accettata

Iain
Iain il 19 Giu 2013
What you put after the case needs to be every valid option to enter that case, and NOT an operation.
switch Astr([2:4,5:7])
case {'234567', '765432'}
x = 5;
case '123567'
x = 6;
case '234567'
x = 7;
otherwise
x=8;
end
  1 Commento
JP
JP il 19 Giu 2013
What if my Astr is constantly changing length, so I want to check a different interval?
Say for case 1, I want to check the interval 2:4,5:7, but then in case 2 I want to check the interval 3:5,6:8?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Propagation and Channel Models in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by