检查用户是否在Matlab中填写了表格

时间:2011-02-16 18:03:07

标签: user-interface matlab matrix uitableview

可以使用此if (size(cost,1) == 2 && size(limit,1) == 2)表达式吗?因为我想从cost表和limit表中获取数据。 cost表是4乘3表,limit表是4乘2表。所以我想从limit表中获取数据(来自用户的输入)。我有这段代码:

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 = 0还是limit == 0 ??

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

如果您想确保limit是一个大小(4,2)的数组,您可以执行以下操作

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

因此,用户弹出一条错误消息,之后回调停止执行。