Matlab出现Warning: Log of zero.怎么解决
这是我用最大熵法求阈值的程序,但是运行以后有错误[B,map]=imread('C:\MATLAB6p5\work\图像\zawu.bmp');[m,n]=size(B)...
这是我用最大熵法求阈值的程序,但是运行以后有错误
[B,map]=imread('C:\MATLAB6p5\work\图像\zawu.bmp');
[m,n]=size(B);
vHist=imhist(B,map);
p=vHist/(m*n);
pt=cumsum(p);
Ht=-cumsum(p.*log(p));
HL=Ht(length(Ht));
Yt=log(pt.*(1-pt))+Ht./pt+(HL-Ht)./(1-pt);
[ans,threshold]=max(Yt)
开始运行
出现
Warning: Log of zero.
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
ans =
NaN
threshold =
1
到底怎么解决,求高手帮忙 展开
[B,map]=imread('C:\MATLAB6p5\work\图像\zawu.bmp');
[m,n]=size(B);
vHist=imhist(B,map);
p=vHist/(m*n);
pt=cumsum(p);
Ht=-cumsum(p.*log(p));
HL=Ht(length(Ht));
Yt=log(pt.*(1-pt))+Ht./pt+(HL-Ht)./(1-pt);
[ans,threshold]=max(Yt)
开始运行
出现
Warning: Log of zero.
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
ans =
NaN
threshold =
1
到底怎么解决,求高手帮忙 展开
2个回答
2015-08-04
展开全部
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
Matlab出现Warning: Log of zero;
原因如下:
说明abs(Comp_tsf)返回了0值。
解决方法:
请检查Comp_tsf的计算过程。
Matlab出现Warning: Log of zero;
原因如下:
说明abs(Comp_tsf)返回了0值。
解决方法:
请检查Comp_tsf的计算过程。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好像是除数为零,造成的错误吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询