2011-02-16 79 views
0

可以使用if (size(cost,1) == 2 && size(limit,1) == 2)这个表达式吗?因为我想从cost表和limit表中取数据。 cost表是4乘3表,limit表是4乘2表。所以我想从limit表中取数据(这是从用户输入的)。我有这样的代码:检查用户是否在Matlab中填写了表格

if P1 < limit(1,1) 
    P1 = limit(1,1); 
    lambdanew = P1*2*cost(1,3) + cost(1,2); 

我可以执行我的计划,只有当用户将数据插入到极限表,但如果用户没有插入数据,所以这将是一个错误,说这样的:

Index exceeds matrix dimensions. 

Error in ==> fyp_editor>Mybutton_Callback at 100 
     if P1 < limit(1,1) 

所以我的问题是,如果用户没有输入数据,我可以如何为限制表制作if语句?

limit(0),limit = 0limit == 0 ??

+1

您可以将问题的主题行更改为单行摘要,以帮助路人立即确定他们是否可以回答问题? _告诉我们你的问题!像“我有问题”和“帮助我”这样的主题不能说明您的主题。 – 2011-02-16 18:09:26

+0

@bob:谢谢。显然,我是新的 – raymond 2011-02-16 18:11:05

回答

0

您是否可以初始化限制表以便知道它存在但用户没有在其中输入任何信息?如果极限表是4乘2,请尝试limit = zeros(4,2)。希望有所帮助。

0

如果你想确保limit是大小的阵列(4,2),你可以做以下

if ~all(size(limit)==[4 2])) 
    h = errordlg('please fill in all values for "limit"'); 
    uiwait(h) 
    return 
end 

因此,用户会得到一个错误信息弹出,之后回调停止执行。

相关问题