一种不基于微积分的求多项式函数下面积的方式
Gold14526
·
·
算法·理论
本人初三,下面介绍的是一种自己想出来的方法,内容原创,不知道有没有已经成为前人的智慧。
作为一个 OIer,一些证明的过程不会很严谨,请见谅。
描述
对于一个给定的函数 f(x)=a_0x^0+a_1x^1+a_2x^2+\dots +a_nx^n,求 l\le x\le r 时,函数 f(x) 与 x 轴所夹的面积。
注意这里认为面积有正负性,即在 x 轴上方,函数 f(x) 下方的面积为正,x 轴下方,函数 f(x) 上方的面积为负。
分解
首先先将 f(x) 拆成 g_0(x)+g_1(x)+g_2(x)+\dots+g_n(x),其中 g_i(x)=a_ix^i。
那么 f(x) 下的面积也可以拆成 g_0(x),g_1(x),g_2(x),\dots,g_n(x) 下的面积之和。
于是我们只要能求每个 g_i(x) 下的面积即可。
不妨设 l\ge 0(l<0 时同理),在 l\le x\le r 这段区间的面积可以用 0\le r 部分的面积减去 0\le x\le l 部分的面积得到,于是我们只需解决 0\le x\le r 的问题即可。
构造模型
现在我们只需解决这么一个问题:
- 有函数 f(x)=x^k,求 0\le x\le r 时 f(x) 下的面积。
考虑当 x=a 时,f(x)=a^k,这相当于一个边长为 a 的 k 维立方体的体积,设 k 维的坐标表示为 (x_0,x_1,x_2,\dots,x_{k-1}),那么这个立方体可以表示为 0\le x_0\le a,0\le x_1\le a,0\le x_2\le a,\dots,0\le x_{k-1}\le a。
那么对于 0\le x\le r 这段区间的这些立方体之和可以表示为一个 k+1 维的锥形体 0\le x_0\le r,0\le x_1\le x_0,0\le x_2\le x_0,\dots 0\le x_k\le x_0。
那么这个锥形体的体积就是上述提到的 f(x) 下的面积。
求答案
可以构造出 k+1 个等价的锥形体(为了方便书写,以下默认 x_i\ge 0):
-
x_0\le r,x_1\le x_0,x_2\le x_0,\dots,x_k\le x_0
-
x_1\le r,x_0< x_1,x_2\le x_1,\dots,x_k\le x_1
-
x_2\le r,x_0<x_2,x_1<x_2,\dots,x_k\le x_2
-
\dots
-
x_k\le r,x_0<x_k,x_1<x_k,\dots,x_{k-1}<x_k
虽然上述几个锥形体中小于号取等的情况并不相同,但是实际上是一样的,因为两个数取等时这个图形是降维的,它在 k+1 维下的体积为 0。
于是上述 k+1 个图形可以拼成高维立方体 x_0\le r,x_1\le r,x_2\le r,\dots,x_k\le r,那么这 k+1 个锥形体的体积总和是 r^{k+1},那么一个锥形体的体积就是 \frac{r^{k+1}}{k+1}。
即,0\le x\le r 时,f(x)=x^k 下的面积为 \frac{r^{k+1}}{k+1}。
证明
接下来证明上述 k+1 个锥形体和最后那个立方体是相同的:
证明:锥形体中的点都在立方体中
对于任意锥形体,它被表示为 x_{max}\le r,x_0<x_{max},x_1<x_{max},\dots,x_k\le x_{max} 的形式,那么对于其中每一个点 (x_0,x_1,x_2,\dots,x_k),这几个坐标中的最大值小于等于 r,那么每一维都小于等于 r,那么这个点一定在立方体中。
证明:立方体中的点都在锥形体中
对于立方体中任意一个点 (x_0,x_1,x_2,\dots,x_k),取出其中的最大值 x_{max}(若有多个选择下标最小的一个),那么这个点一定在锥形体 x_{max}\le r,x_0<x_{max},x_1<x_{max},\dots,x_k\le x_{max} 中。
至此,证毕。
结论
对于函数 f(x)=x^k,在 0\le x\le r 内,f(x) 下的面积为 \frac{r^{k+1}}{k+1}。
对于函数 f(x)=a_0x^0+a_1x^1+a_2x^2+\dots+a_nx^n,在 l\le x\le r 内,f(x) 下的面积为 \sum_{i=0}^n a_i(\frac{r^{i+1}}{i+1}-\frac{l^{i+1}}{i+1})。