Matlab switch-case问题

时间:2013-12-10 12:07:05

标签: matlab user-interface switch-statement case

当我尝试运行多个switch-case(6个连接的switch-case,从2到11个选择,char选择)时,我遇到了一个奇怪的问题。 m的输入。带有swith case的文件来自一个带有6个buttongroup和radiobutton的GUI,但我想这不是问题所在。 事实上,问题在于,如果我传递值"手动",有点:

evaluation= Holdem_Postflop_Decision_Tree('midv','rn','fd', 'oop', 'hu',25)

我得到了正确的解决方案,这只是一个字符串(理想情况下,这将返回到GUI并将在EDIT-TEXT框中替换):

evaluation =

bettiamo perchè oop e calla abb spesso per floatare.                                                   
 Al turn decidiamo di c/c o c/r su blank in base alla size, se cade suited c/f.                        
 se turn abbiamo c/c e river è blank siamo in modalità vita c/c bottom-mid case:          cbetptkiamo perchè oop.
 Se raisa foldiamo.               

相反,如果我这样做

evaluation= Holdem_Postflop_Decision_Tree(handles.val, handles.act, handles.text, handles.pos, handles.num, handles.bb);

handles.val='midv';
handles.act='rn';
handles.text='fd';
handles.pos='oop';
handles.num='hu';
handles.bb=25;

我收到此错误

??? Undefined function or variable "evaluation".

Error in ==> Holdem_Postflop_Decision_Tree at 6998

此外,如果我像这样创建一个Main.m:

value= input (' Value', 's');
action=input(' Action: ','s');
texture= input (' Texture', 's');
pos=input(' Position: ','s');
num= input (' Opponumber', 's');
bb=input(' Big blinds: ');
evaluation= Holdem_Postflop_Decision_Tree(value, action, texture, pos, num,bb);
它确实有效! 我真的不明白:它的区别是什么?我检查过所有的handle.field都是char,如果没有,我就把它放在最开头的那个:

value=char(value);
actionpre=char(actionpre);
texture=char(texture);
pos=char(pos);
opponumber=char(opponumber);

我认为这是一个多开关案例的问题,因为如果我从GUI输入Holdem_Postflop_Decision_Tree.m并且我制作单独的开关案例,Matlab运行它,而它在第三个停止,但现在我不能认为它&# 39; sa多重问题,因为如果我手动输入值,它会毫无问题地通过它。 有什么帮助吗?

P.S:我将添加上面字符串的代码:

case 'midv'
    switch actionpre
        case 'rn' 
            switch texture
                case 'fd'
                    switch pos
                        case 'ip'
                            switch opponumber
                                case 'hu' 
                                   evaluation=' No info yet.';
                                case 'multiway' 
                                   evaluation=' No info yet.';
                            end
                        case 'oop'
                             switch opponumber
                                case 'hu' 
                                    if bb>15
                                       evaluation='Cbettiamo perchè oop e calla abb spesso per floatare. Al turn decidiamo di c/c o c/r su blank in base alla size, se cade suited c/f.se turn abbiamo c/c e river è blank siamo in modalità vita c/c bottom-mid case: cbetptkiamo perchè oop. Se raisa foldiamo. Al turn se non improviamo siamo sempre in c/f a meno di info che non foldi spesso alla 2barrel, in quel caso possiamo betptkare, se calla e non improviamo river o turn è suited siamo in c/f river';
                                    else
                                        evaluation='cbettiamo per brokare';
                                    end
                                case 'multiway' 
                                   evaluation=' No info yet.';
                             end 

0 个答案:

没有答案