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 に答える