【作者声明】


  本文所有文字均为作者原创,所有图片均为作者本人真实制作。

  版权所有,仅供阅读欣赏,严禁任何单位或个人以任何形式转载、复制、引用、抄袭、截图、模仿、翻译本评测的部分或全部内容(包括但不限于文字、图片)。

  作者保留所有权利。

  请尊重作者劳动成果,谢谢合作。


第一部分 无穷限广义积分的计算

  一直有人会问函数计算器怎么输入无穷大,问这个问题的目的一般是需要计算带有无穷限(+∞或者-∞)的广义积分(或称反常积分)。我们有时对这个问题的回答一般是建议购买带有计算机代数系统(CAS)的计算器以直接输入“∞”符号进行积分。由于带有CAS的计算器价格非常昂贵,一般用户难以承受,况且有时候为了算一个广义积分而专门破费也不太划算。因此,我们有必要找出一种有效的方法来使得函数计算器可以计算广义积分。

  首先,有部分人肯定会按照下面这个方法来解决问题:既然函数型计算器里设置最大能计算到9.9999999999999×10^99(约为10的100次方),那么就在积分上下限里输入一个大数或者多输入几个9(例如9999999999999999、1e+8这样的),也足够用了。这样的思路是正确的。那么来看看实际情况:

  从结果可以看出,当输入的上限合适的时候,结果是一个很大的数,我们可以认为是无穷了。太大的话,由于超出计算器的计算范围,计算器显示“数学错误”(或者“Math ERROR”)注意,这里的广义积分是发散的,结果是无穷,计算器算的数字也非常大,达到了预期的目的。但是对于收敛的广义积分,这个方法就有一定的问题了。

  那么现在用函数计算器计算一个收敛的广义积分:
函数f(x)=1/(1+x^2)在-∞到+∞上的积分。

  这个积分是收敛的,结果应该是π,但是计算器给出了数学错误,这不是我们想要的结果。那么把上下限改小再试试。

  上下限改小之后能计算,但是结果显然不正确。原因在后面说明。现在把上下限再改小。

  改到1e+5之后结果虽然与正确结果较为相近,但是远没有达到我们要的精度。经过试验,能够保证计算精度而又足够大的“无穷大”大约为1×10^12。

  再增大一个数量级,结果就不正确了。

  函数型计算器只能进行数值计算,计算积分也不例外。例如卡西欧MS系列采用辛普森数值积分法,ES(PLUS)、ClassWiz系列采用高斯积分法。为了简要说明原因,这里用辛普森积分法作讲解(注意:高斯积分法与辛普森积分法原理不同,这里只是为了便于理解,以辛普森法为例说明原因)。

  首先应该知道,利用数值计算方法计算定积分时,需要经历四个步骤:将曲边梯形分成很多小曲边梯形,然后将每一个小曲边梯形的曲边近似代替成方便计算的形状(例如直线、抛物线),然后对面积求代数和,最后取极限。

  辛普森法则是用二次曲线逼近的方式取代最简单的矩形或梯形积分公式,以得到比矩形或梯形积分公式更精确的结果。MS系列在积分时,需要确定分割积分区间的数目,输入1-9之间的整数n,能够将区间分为2^n个小区间,然后逐个计算小区间上的梯形面积并求和,得到结果。

  使用±1e+99作上下限时的结果说明,将小梯形面积加起来的过程中,和可能超过了计算器的最大计算范围。另外还有一种情况,计算器先综合被积式对积分上下限进行运算处理,处理过程中出现超出计算范围的情况,直接报错。

  但是,使用±1e+30或±1e+13作上下限时的结果也不是我们需要的。计算器在进行数值计算的时候,由于自身精度的影响,导致计算结果变得非常小。也可以拿第二个重要极限说明这个问题,(1+1/x)^x,当x取1×10^13时,结果为2.718281828(即自然对数的底e),但是x取1×10^14时,结果就变成1了,因为1/x太小,加到1上面就被忽略了。

  那么到这里我们可以得到一个初步的结论,用函数计算器计算广义积分的时候应当选取好合适的上下限。不过,“无穷大”的取值还与被积函数x的最低幂次有关,在后面会再讲到。

  以上的结论,对于卡西欧的fx-9860系列(包括fx-9750GII、fx-7400GII)与fx-CG系列(fx-CG10、fx-CG20)同样适用。

  对于德州仪器的非CAS计算器(如TI-36X Pro、TI-84 Plus等等),由于内部的计算精度低了一些,比较精确的结果就不要幻想了,还是前面的例子,只能把“无穷大”取在1×10^7,再大一些(比如1×10^8)会出现由于积分区间过大导致公差值错误,而且计算时间也很长。

  最新款的TI-84 Plus CE测试结果,与TI-84 Plus相同。

  上面的例子是x^(-2)级别的,对于更收敛的函数,例如x^(-4)级别的,用1×10^12替代无穷会出现计算错误。经分析,“无穷大”的值和被积函数中x的最低幂次项有关。经过一系列测试,对x^(-3)级别的广义积分收敛的函数,卡西欧计算器建议取1×10^7,德州仪器计算器建议取1×10^5。

  x^(-4)级别的,卡西欧计算器建议取1×10^5,德州仪器计算器建议取1×10^4。

  至于其他的函数,可以按照类似方法自己判断无穷限的替代值。


第二部分 无界函数广义积分的计算

  由于存在类似于除以0的问题,有时候会遇到计算定积分直接报错的情况,例如图中所示。这里要对1/x²积分,积分下限是0,计算器优先判断1/0而报错。

  在这种情况下可以把0用一个很小的数来代替,例如1×10^(-10),即可计算出结果,可以看到计算结果是一个很大的数,因此可以认为该广义积分发散。

  再看一个收敛的积分,函数f(x)=1/√(2²-x²)从0到2的积分,同样地,在x=2处会使得被积式无意义。

  因此,我们需要避开瑕点,在x=2的左δ邻域取2-δ为积分上限,这里取δ=1×10^(-10)。最终的结果精度也是比较好的。

  有时候,一些非CAS图形计算器能够计算部分瑕积分,只不过耗时较一般的积分时间长。

  另外,还有一类积分由于积分区间出现了可去间断点使得函数不连续,因此需要将积分区间从间断点处分开。以下将以sin(x)/x为例。

  计算sin(x)/x从-1到1的定积分,直接输入计算器就会报错:

  这里需要注意,函数机仍然需要使用一个很小的数去加上或者减去间断点。

  如果遇上同时拥有无界函数和无穷限两种情况的广义积分,还应该结合前篇所述的方法确定上下限。如图所示。