In switch-case, case values from variable (dynamic)
조회 수: 11 (최근 30일)
이전 댓글 표시
array1 = [1 2 3]; % this will change in the program
array2 = [4 5 6]; % this will change in the program
switch anyVariable
case {array1}
disp('1')
case {array2}
disp('2')
otherwise
disp('3')
end
This always displays 3, irrespective of the value of anyVariable. Shall I change it to if-elseif kind structure?
댓글 수: 0
채택된 답변
Stephen23
2018년 5월 31일
편집: Stephen23
2018년 5월 31일
Use cell arrays, where each cell contains one scalar numeric (or a char vector):
V1 = {1,2,3};
V2 = {4,5,6};
switch scalarVal
case V1
disp('one')
case V2
disp('two')
otherwise
disp('none')
end
댓글 수: 7
Stephen23
2018년 6월 1일
@Pramit Biswas: you can convert numeric row vectors to char (as long as they are suitable, i.e. positive integers, etc).
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Operators and Elementary Operations에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!