Matlab图形用户界面错误
这是我的gui的一部分,当我点击按钮时执行Matlab图形用户界面错误,matlab,matlab-guide,Matlab,Matlab Guide,这是我的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=no
//
//
//
%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是excel文件,我从中检索值,并与从主gui函数获得的值进行比较。问题是,即使我显式发送面积值,它也不起作用。如果我尝试单独运行gui中的每个函数并分别进行验证,它会正确设置标志,但当我一起运行时,它不会正确设置标志。请再次查看
验证函数中的以下行:
c = size(extract);
for k = 1:c
我想你真的想要
c = numel(extract);
因为size
返回向量。numel
返回数组中的元素数。请参阅“??”未定义的函数或方法“nume1”以获取类型为“double”的输入参数。“我得到了这个错误,因为我使用了它。这是一个字母l
而不是一个数字1
。我尝试过它不起作用,程序作为一个单独的模块,从某种意义上说,如果我在两个不同的模块中传递某个值,它会正确返回标志,但是当我一起执行它时,有一些问题,链接有一些问题,虽然传递和排除了它,但无法解决。问题只是验证函数的“if”部分,是否有语法错误或其他问题,或者我实现它的方式有什么问题?