数与图(18)——求积分

《数与图(14)》中我们给出了积分的定义:区间[x1,x2]内函数曲线与x轴之间所包围的曲边梯形面积。本文将根据这一定义,利用程序求出六次幂函数在特定区间内的积分近似值,然后再利用数学方法求出同样区间内积分的精确值,并进行对照。

用程序求积分的近似值,很容易想到要使用循环语句,针对区间[x1,x2]内间隔为dx的每一个点,求该点附近的微面积ds

ds= y*dx

然后再将全部的ds累加起来,就得到了该区间内的积分值。随着dx的减小,积分的近似值趋近于精确值。

《数与图(17)》中的项目另存为“求积分”,在水平布局6中添加一个按钮,命名为“积分按钮”,将显示文本修改为“求积分”,然后开始编写程序。

首先声明一个全局变量——积分区间,如图1所示,设其初始值为(0.5,2),稍后会将其改为(-1,0.5)。

图1 声明全局变量——积分区间

创建一个有返回值过程——积分,代码如图2所示,其中的参数x1、x2为积分区间的边界值,且x1<x2,参数dx>0。

图2 有返回值过程——积分

再创建一个无返回值过程——填充积分区域,代码如图3所示。

图3 无返回值过程——填充积分区域

最后编写积分按钮的点击事件处理程序,代码如图4所示。在点击事件中,首先绘制六次幂函数的曲线,然后针对选定的区间,计算不同dx所对应的积分值,并将结果显示在标签中。最后一行代码的作用是填充积分区域,考虑到计算量,dx选为0.01。

图4 积分按钮的点击事件处理程序

下面进行测试,首先求的是区间[0.5,2]内的积分值,结果如图5所示。测试结果显示,当dx=0.00001时,积分收敛到50.94593。

图5 求[0.5, 2]区间内的积分值

然后将全局变量积分区间改为(-1,0.5),将填充颜色改为橙色,再次进行测试,结果如图6所示,积分结果为负值,当dx=0.00001时,积分收敛到-34.6736。

图6 求[-1,0.5]区间内的积分值

以上是用程序方法求得的积分近似值,下面用数学方法来求积分的精确值。

首先介绍一下积分的表达形式,设函数y=x3,如果求该函数在[a,b]区间内的积分S,那么S被表示为

这个表达是体现了积分的定义,x3表示函数值,dx表示自变量x的微分,两者的乘积就是微面积s,积分符号∫可以理解为求和运算,将区间[a,b]内的所有微面积求和,就得到了函数在该区间内的积分值。

那么这个表达式是如何运算的呢?接下来要明确一点,积分是求导的逆运算,举例来说,y=x4的导数函数为y’=4x3,那么反过来y=x3的积分函数则是

其中的C为常量。式⑴的计算结果最终可以表示为

具体来说,如果求y=x3在[0,1]区间内的积分,那么

这就是数学上求积分的方法。下面我们来求6次幂函数在[-1,0.5]及[0.5,2]区间内的积分值,函数表达式(见《数与图(15)》)为

它的积分函数为

下面编写程序计算积分函数的值。创建一个有返回值的过程——积分函数,代码如图7所示。

图7 有返回值过程——积分函数

下面用单步执行的方法测试计算结果,如图8所示。

图8 用数学方法求得的积分值

比较图8与图5、图6中的数值,发现结果完全相同。

文章写到这里,我忍不住对自己的发现表示赞叹。从上大学开始学习微积分,就一直对积分的计算结果表示怀疑,36年过去了,今天终于依靠程序的力量解除了这个迷惑,一块石头落了地。感谢计算机,感谢程序语言!

接下来还要简单地介绍一下积分的应用。

从积分的计算方法中可以窥见积分的意义,它表示某个量的累积效果。

2010年前后,我曾经想开发一款关于葡萄酒的游戏,于是阅读了很多关于葡萄种植的图书资料,其中讲到了一个“积温”的概念,它是某段时间内日平均气温的总合。这里所谓的“某段时间”要求是连续的日平均气温≥10℃的一段时间。有些晚熟型葡萄品种,如酿造干红常用的赤霞珠,需要积温在3300-3700之间,如果积温不足,则葡萄的糖分低,酿出的酒的度数就无法达到要求。

说到累计效果,我还曾经告诫某位晚辈:要让你生命的每一分、每一秒都有意义,这样才能累计出精彩的人生。

(0)

相关推荐