如何在matlab中使用'menu'函数进行逻辑功能?

时间:2012-12-20 16:22:32

标签: matlab

对于下述情况,

a=3; b=4; c=5;
k = menu ('choose','a','b','c');

如果用户选择a,我该如何为其分配值并进行逻辑循环?例如,

if 'a'; x=a;
else if 'b'; x=b;
else if 'c'; x=c;
end

然后我可以使用x赋值来继续计算。例如,

w=x+5

2 个答案:

答案 0 :(得分:3)

k是用户选择的号码。在你的情况下:

switch (k) 
    case 1
       x = a;
    case 2
       x = b;
    case 3
       x = c;
    otherwise
       fprintf(1, 'do not know what to do - user closed menu w/o selection\n');
end

答案 1 :(得分:2)

您可以使用返回的输出值k,如下所示:

if k == 1; x=a;
else if k == 2; x=b;
else x=c;
end

k是显示菜单中按钮索引的整数。

但我会做以下事情:

values = [3 4 5];
k = menu('choose','a','b','c');
if k > 0
   x = values(k);
else
   error('You should provide an option.')