using the vector as a condition in the switch statement

63 次查看(过去 30 天)
Hey, I need to know how to pass row vector or column vector as a condition to a switch statement.
I have two row vectors;
function [M,A] = my_vectors
M = [ 1 3 5 9 8 11 12 13 15 17 20 25 29 31.......];
A = [ 2 4 7 6 10 14 16 19......... ];
end
I need my slover like below:
function my_switch
[M,A] = my_vectors;
for i = 1:n
switch true
case M
statement;
case A
statement
end
end
Here I know we can use multiple conditions in switch statement like below;
Switch true
case { 1, 3, 5, 9, 8}
statement;
case { 2, 4, 6, 7}
statement;
end
But I need to use a n vecotr as a condition in the switch statement since row vector function is being called in the slover(main function).
Here I don't need to enter the number each time to check the number isnumber(b,a) whether the number is there in the vector M or A to exceute the statement like below.
switch true
case ismember(b,M)
statement;
case ismember(b,A)
statement;
end
if there is any wrong in my code plz write the comment section along with the answer for my problem.
any suggestion are most welcomed and thanks in advance.
  9 个评论
surendra kumar Aralapura mariyappa
I understood now. I will take your idea oly now
for i = 1:n
switch i
case i == A(:)
statement1;
case i == M(:)
statement2
otherwise
statement3
end
end
is this correct now?
surendra kumar Aralapura mariyappa
function my_idea
A = [ 1 2 5 7 ];
n = 8;
M = [ 3 4 6 9];
for i= 1:n
switch i
case i == A(:)
disp('suri');
case i == M(:)
disp('kumar')
otherwise
disp('error')
end
end
end
still it not working when I tested i also. Kindly help in that at least!

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2019-6-9
function my_idea
A = [ 1 2 5 7 ];
n = 8;
M = [ 3 4 6 9];
for i= 1:n
switch i
case num2cell(A)
disp('suri');
case num2cell(M)
disp('kumar')
otherwise
disp('error')
end
end
end

更多回答(0 个)

产品


版本

R2014a

Community Treasure Hunt

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

Start Hunting!

Translated by