Using cases with strings

8 次查看(过去 30 天)
JP
JP 2013-6-19
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!

采纳的回答

Iain
Iain 2013-6-19
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 个评论
JP
JP 2013-6-19
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?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Propagation and Channel Models 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by