比较两个浮点不工作Maple 18

时间:2014-12-02 21:49:12

标签: maple

我正在尝试比较两个浮点数,如果它更大,则将tempdiffer设置为不同,但它总是以最后一个函数值结束。这是非常基本的,但它没有设置与最高值不同。有人能指出我正确的方向吗?

with(orthopoly):
chebpade(BesselJ(1, x), x = -1 .. 1, [3, 4]):
Ttest := subs(T = orthopoly[T], chebpade(BesselJ(0, x), x = -1 .. 1, [3, 4])):
plot([Ttest, BesselJ(0, x)], x = -1 .. 1);
b := evalf(subs(x = -1, BesselJ(0,x))):
t := evalf(subs(x = -1, Ttest)):
differ := abs(t-b/t):
for i from -1 by 1 to 1 do 
    b := evalf(subs(x = i, BesselJ(0,x))):
    t := evalf(subs(x = i, Ttest)):
    tempdiffer := abs(t-b/t):
    if tempdiffer > differ then
        differ := tempdiffer;
    end if:
end do;

1 个答案:

答案 0 :(得分:2)

你需要t-b附近的parens。

您正在计算abs(t - (b / t)),这会让您t给出或取一小部分(假设bt几乎相等)。您想要的是abs((t - b) / t),它会将您的差异作为t的一小部分。