3

我正在尝试学习如何使用 Maxima。集成出现问题:

(%i) integrate(exp(x^3),x,1,2);
(%o) (gamma_incomplete(1/3,-8)-gamma_incomplete(1/3,-1))/3
(%i) float(%);
(%o) .3333333333333333 (- 715.7985328824436 %i - 413.26647564521807)
(%i) expand(%);
(%o) - 238.59951096081454 %i - 137.75549188173935

你怎么看?

4

2 回答 2

1

将 Maxima 的结果与 Wolfram Alpha 进行比较,看起来 Maxima 假设 -x/((-x^3)^(1/3)) = 1。在调试了一段时间后,我无法判断该术语是否最初是结果,它被简化了,或者如果它从未存在过。有了这个术语,并使用立方根的主分支,我得到 275.510983 + (epsilon)*%i 与数值结果一致,即 quad_qags(exp(x^3), x, 1, 2) = > 275.510983。

作为记录,这个积分在函数 INTEGRATE-EXP-SPECIAL 中被处理为 maxima/src/sin.lisp 中的“类型 1a”。

于 2012-09-25T06:24:22.503 回答
0

从数学上讲,我认为指数积分的复杂答案没有任何根本性的错误。一般来说,如果你整合 e^(x^n) 你会遇到奇怪的函数,比如不完整的 gamma 函数等,因为答案在常规函数中是不可表达的,所以没有常规的真正解析解。

但是,我认为这里肯定存在一些不准确之处。Mathematica 给出了一个不同的答案,更接近于真实的答案,并且当我要求更准确时,实部似乎趋于零,正如您所期望的那样。

如果您想进行数字积分(听起来像您这样做),您可以使用不同的函数。integrate用于分析集成,这就是为什么它给你一个公式而不是一个数字。查找quad_qags一些非常聪明的数值积分函数及其朋友。

于 2012-09-21T10:43:02.427 回答