查看: 121|回复: 0|关注: 0

[未答复] 请教一下matlab里面判断double型值是否相等为什么这个==是错的?我用了网上说的abs( a - b )<= tol(tol设定的为1e-10)也不行,到底是哪儿出错 了

[复制链接]

新手

5 麦片

财富积分


050


3

主题

6

帖子

0

最佳答案
发表于 5 天前 | 显示全部楼层 |阅读模式
tic
clc;
clear all;
clf;
G_loc=0;
p1_loc=0;
p2_loc=0;
a=0.1;
b=0.1;
TC=0.01;
TR=0.01;
Smax=0;
Smax1=0;
G_minloc=0;
p1_minloc=0;
p2_minloc=0;
t=0;
for G=0:1:10
    for p1=0:0.1:1
        for p2=0:0.1:1
            S=(a.*G.*exp(-a.*G)+G.*(p1+2.*a.*p2).*(1-exp(-a.*G))).*exp(-G.*(p1+2.*a.*p2))./((1-exp(-a.*G)).*(2.*a+b+TR+TC+G.*(p1+2.*a.*p2).*(1-b).*exp(-G.*(p1+2.*a.*p2)))+(G.*a.*(1-b).*exp(-a.*G)+a).*exp(-G.*(p1+2.*a.*p2)))
            if S==0.6644
                G_minloc=G;
                p1_minloc=p1;
                p2_minloc=p2;
                Smax1=S;
            end
            if(S>Smax)
                   G_loc=G;
                   p1_loc=p1;
                   p2_loc=p2;
                   Smax=S;
            end
            if (S==Smax)
               t=t+1;
            end
        end
    end
end
G_minloc
p1_minloc
p2_minloc
Smax1
G_loc
p1_loc
p2_loc
Smax
t
toc

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表