我希望Maple为ln(abs(x))
返回int(1/x,x)
而不是ln(x)
。
是否有一种使用模式给出规则的方法,以便int
可以在Mathematica中使用,因此可以在这种情况下使用?即以某种方式针对上述特定结果覆盖int
结果?还是可以设置一些全局选项?
枫树2018.1
答案 0 :(得分:1)
一种处理方式:
REALINT2 := proc (f, x) local func, a;
func := int(f, x);
a := selectfun(func, ln);
`assuming`([simplify(eval(func, [seq(a[k] = map(proc (x) options operator, arrow;
abs(x) end proc, a[k]), k = 1 .. nops(a))]))], [x in real]) end proc:
REALINT2(1+1/x, x);
REALINT2(1/sin(x), x);
REALINT2(x/(x^2+1), x);
REALINT2(tan(x), x);
REALINT2((diff(f(x), x))/f(x), x);
REALINT2(1+1/abs(x), x);
`assuming`([REALINT2(1/x, x)], [x < 0])
# x + ln(|x|)
# ln(1 - cos(x)) - ln(|sin(x)|)
# 1 / 2 \
# - ln\x + 1/
# 2
# -ln(|cos(x)|)
# ln(|f(x)|)
# / x - ln(-x) x < 0
# |
# < undefined x = 0
# |
# \ x + ln(x) 0 < x
# ln(-x)