Matlab GUI ошибка - PullRequest
       2

Matlab GUI ошибка

0 голосов
/ 07 декабря 2011

это часть моего графического интерфейса, которая запускается, когда я нажимаю на кнопку

//
//
//
%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, из которого я получаю значения и сравниваю их со значением, полученным из основной графической функции. Проблема в том, что даже если я посылаю значение области явно, оно не работает. Если я пытаюсь запускать каждую функцию отдельно, то есть отдельно по графическому интерфейсу, и проверяю, отдельно ли она устанавливает флаг правильно, но когда я запускаю ее вместе, она не устанавливает флаг должным образом.

1 Ответ

0 голосов
/ 07 декабря 2011

Еще раз взгляните на следующие строки в функции verify:

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

Полагаю, вы действительно хотите

c = numel(extract);

потому что size возвращает вектор.

...