2012-12-20 27 views
3

對於情況如下所述,如何在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賦值的​​計算。

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

k是表示該按鈕在菜單中的索引整數:例如,

w=x+5 

回答

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 
+0

非常感謝很多傢伙=) – green

2

您可以按如下方式使用返回的產值k

而是我會做一些如下:

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

感謝petri ...它幫了很多=) – green