Mathematica:使用 'Refine' 和不可解的积分

Mathematica: Using 'Refine' with an unsolvable integral

我希望 Mathematica 能够根据一系列假设告诉我积分是正数还是负数。我正在尝试使用 'Refine' 命令来执行此操作。我没有得到我想要的结果,所以我将我的假设简化为以下内容:

Clear[part1a, M, l, phi];
part1a = Integrate[D[M[q,P,k,phi,w,L,t,f,l,s,r,y,b,h,c],l], {phi, 1.5, Infinity}]
Refine[part1a<0, {part1a<0}]

函数 M[q,P,k,phi,w,L,t,f,l,s,r,y,b,h,c] 未指定,phi 的值也未指定.鉴于假设,当 Mathematica 仍然无法告诉我这是对还是错时,我感到很惊讶。

为什么会这样?有没有办法让 Refine 使用这样的积分?还有其他更合适的命令吗?最终我想使用我原来的假设列表,但似乎首先我需要弄清楚为什么 Refine[part1a<0, {part1a<0}] 甚至不起作用。

如果您对已清除的 part1a 执行相同的过程,则效果很好:

Clear[part1a];
Refine[part1a<0, {part1a<0}]

你会得到

Out= True

我认为您真正的问题是未评估的积分作为较大表达式的一部分出现..(否则它相当微不足道)。不管怎样,首先请注意 Simplify 有效:

 Simplify[ part1a < 0, Assumptions -> {part1a < 0}]

True

另一个技巧是先用符号替换你的表达式:

 Refine[ (part1a /. part1a -> int) < 0, {int < 0}]

True