2011-12-07 4 views
0

この私がプッシュボタンMatlabの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関数から取得した値と比較しています。問題は、明示的に領域値を送信しても機能しない場合でも問題です。個別にGUIを使って各機能を実行しようとすると別々に確認するとフラグが正しく設定されますが、一緒に実行するとフラグが正しく設定されません。

答えて

0

verify機能に以下の行をもう一度見てください:

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

を私はsizeがベクトルを返しますので、あなたが本当に

c = numel(extract); 

をしたいと推定。

+0

nume1とは何ですか? – Aps18

+0

'numel'は配列内の要素の数を返します。 http://www.mathworks.co.uk/help/techdoc/ref/numel.htmlを参照してください。 – Nzbuu

+0

"未定義の関数またはメソッド の入力引数に 'nume1'が 'double'です。"私はこのエラーを使用しています。 – Aps18