Вы используете char
(символьный массив) a
в качестве переменной переключения и результат выражения logical
(true / false) как случай, этовсегда будет идти иначе, потому что char
не является logical
.
Вы можете использовать результат логического выражения в качестве переменной переключения и использовать true
как случай:
a='test1';
switch ~isempty(regexpi(a,'test','match','once'))
case true %should handle all cases where 'test' is contained in the input string
disp('this');
otherwise %should handle everything else
disp('that');
end
Или просто используйте оператор if-else:
a='test1';
if ~isempty(regexpi(a,'test','match','once'))
disp('this');
else %should handle everything else
disp('that');
end