%function [flag] =verify(area)
[FileName,PathName,FilterIndex]= uigetfile('*.tif','Select the signature file');
display(PathName)
m=[PathName,FileName];
area=nor_area(m);
%display(area)
%area=0.8707;
class(area)
flag=0;
extract=xlsread('D:\Project\Image_processing\important\best.xlsx', 'CW4:CW17');
c=numel(extract);
display(c)
l=extract(1);
class(l)
display(l)
for k = 1:c
%x=extract(k);
if (l==area && flag==0)
% display(extract(k));
flag=1;
display(flag)
end
end
display(flag)
上記のコードは私の検証のためのコードであり、値が同じでも "l == area"は比較できません。ループ内に入ることができません。私は値を渡して試してみると、私はl値0.9999と私が得る領域が同じであると仮定します。私はいくつかの関数を使用しようとすると、それは動作しません同じ値を渡す場合。私はクラスを使用して型をチェックしようとしましたが、どちらもdoubleを返します。Matlab if loop not working
誰もがこれで私を助けてくださいと、このアプローチが良くない場合は、使用することができる任意の代替を提案することができます。
おそらく値は同じではありません。 '(l - area)'を印刷してみてください。 –
周囲の値が非常に小さく、0に等しくない – Aps18