【发布时间】:2011-12-14 16:26:51
【问题描述】:
%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 并且我获得的区域相同,如果我明确发送 l 值它可以工作..!!但是如果我尝试使用一些函数并传递相同的值,它将无法工作。我尝试使用类检查类型,两者都返回双倍。
任何人都可以帮我解决这个问题,如果这种方法不好,请提出任何可以使用的替代方案。
【问题讨论】:
-
也许值不一样。尝试打印
(l - area)。 -
周围的值很小,不等于0