0

这是我单击按钮时执行的 gui 的一部分

//
//
//
%VERIFICATION 
% --- Executes on button press in pushbutton9.
function pushbutton9_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton9 (see GCBO)
DIR=handles.directory;  
%angle=Angles(DIR);
area=nor_area(DIR);
%area=0.002;
%display(area)
Check=verify(area);
%display(Check);
if(Check==0)
%message = sprintf('nClick the OK button to continue');
msgbox('The signature belongs to the same person!!!');
else
msgbox('The signature is forged!!!');
end

//
// 
//

这是验证功能

//
//
//
function flag= verify(area)
%area=0.8969;
%take=area;
%display(take)
flag=0;
extract = xlsread('D:\Project\Image_processing\important\best.xlsx', 'CW4:CW17');
c=size(extract);
%display(c)
for k = 1:c
if (extract(k)==area)
      display(extract(k)); 
      flag=1;
    end 
end
%display(flag)
//
//
//

best.xlsx 是我从中检索值并与从主 gui 函数获得的值进行比较的 excel 文件。问题是即使我明确发送区域值它也不起作用。如果我尝试单独运行每个单独的 gui 函数并单独验证它会正确设置标志,但是当我一起运行它时,它没有正确设置标志。

4

1 回答 1

0

再看一下verify函数中的以下几行:

c = size(extract);
for k = 1:c

我想你真的想要

c = numel(extract);

因为size返回一个向量。

于 2011-12-07T14:37:09.217 回答