上大学的时候学习的微积分,虽然那时候的数学也挺好,但是有一些概念还是知其然不知其所已然。最近在学习图像识别方面的知识,里面用到了大量的微积分学的东西,因此不得不再次重温书本里面的东西。再次阅读时真的发现了一些不同于以往的知识感悟,所以说2千多年前的先辈总结的”温故而知新“真的是很有作用。
导数
以前对导数的理解就是干巴巴的数学公式,就是理解为在某一点上y的增量对x增量的商的极限值,因此导数又成为微商。其实导数的物理意义就是因变量在某一点附近对自变量的变化率,而在几何上则表示为曲线上某点的切线直线的斜率值。根据导数的定义:
f(x) - f(x0)
f'(x0) = lim --------------
x->x0 x - x0
那么我们可以得出一个公式 : f(x) ≈ f(x0) + f'(x0)*(x - x0) 当x越接近于x0时这个近视值就越相等,因此导数的一个实践意义就是如果我们知道某个函数在某点的值(总所周知或者比较容易计算出来)那么我们就可以通过导数来求出某点附近的函数值的大约值,这个可以用于某些测量和估算应用。通过上面的描述也可以看出如果某个函数在某点内有导数则说明这个函数是连续的而且在这这点上比较平滑,因此才可以用线性函数的值来代替曲线函数的值。
在几何上我们知道导数就是函数在某点x0的切线的斜率,那么我们就可以用导数来描述这条切线直线的函数:
设函数f(x)在某点x0处的导数为f'(x0).那么函数在x0处的切线的函数解析式F(x)的公式如下:
F(x) = f(x0) + f'(x0) *(x - x0)
因为切线和曲线只相交一点f(x0),所以 f(x0) = F(x0),得出:
F(x) - F(x0) = f'(x0)*(x - x0)
从上面的定义我们可以看出如果x->x0 则 F(x) = f(x) 也就是说我们可以通过线性直线来描述某个曲线的函数值,结果是我们可以把复杂的计算转化为简单的线性计算。
微分
我们知道微分的概念定义是函数在某一点的增量Δy 可以表示为某个常量A于Δx的乘积加上O(Δx),则成为函数在x0处可微,则称A*Δx为函数在x0处的微分记为dy
根据导数的定义我们知道:
Δy ≈ f'(x0)*Δx 因此dy = f'(x0)*Δx 而Δx因为对自己可微,因此有dy = f'(x0) * dx。
上面有导数的切线函数F(x)。则根据定义可以得到
F(x) - F(x0) = dy
因此我们可以得到微分的几何意义是某个函数在某一点的增量可以大概表示为线性函数F(x)的增量,也就是我们可以用线性的增量来计算复杂的曲线增量。
积分
从不定积分的概念我们知道积分就是微分的逆向运算。
F(x) + C = ∫ f(x)dx
f(x)是F(x)的导数,而f(x)dx = dy
所以得出F(x)+C = ∫dy
那么这里为什么积分要用∫f(x)dx 而不是∫f(x)呢,这里有2个原因:
1.积分是微分的逆运算
这里f(x)是F(x)的导数,f(x)dx是F(x)的微分,即f(x)dx=dF(x),那么∫f(x)dx=∫dF(x), 而∫f(x)dx就是为了求f(x)dx的原函数F(x),而dF(x)是求原函数F(x)的微分f(x)dx,这说明d和∫是互逆运算,互逆的两个运算符号放在一起是可以抵消的,即∫f(x)dx=∫dF(x)=F(x)
2.不定积分其实是定积分的一种特殊形式,也就是上下限中有一个是常数而另外一个是变量。
我们都知道∫f(x)dx=F(x)+C 其实任何不定积分都可以看作积分上限或者下限只有一个确定的定积分(看了基本公式的推到过程应该能更好地理解) 其中常数C可以看做F(x)的上限或者下限函数值。
正因为是上限或者下限只有一个确定(确定的这个值和C有关),而另外一个是x,所以叫不定积分。
∫可以看作连续值的∑,而显然又由导数的定义可以知道这里的∫f(x)dx直观地表示了F(x)-F(a)那么C=-F(a)
另外因为历史上是先有定积分而后有不定积分的,根据定分的定义其实就是某个区域内的微分的累加和,如果把这个概念扩展到负无穷区域和正无穷区域之间则变成了这个函数的微分的累加和,也就是函数本身的曲线了。所以积分里面是表示为∫f(x)dx而不是∫f(x)
那么在定积分定义里面
a
∫ f(x)dx
b
是定义为
b
lim ∑ f(x)*dx
dx->0 x=a
因为f(x)是原函数F(x)的导数,而f(x)*dx是F(x)在某处的微增量,那么从a->b的微增量的和也就是F(a)到F(b)的增量了,也就是说
a
F(b) - F(a) = ∫ f(x)dx
b
这就是为什么定积分的计算公式就是原函数的两个区间的差值了。从另外一个角度来说定积分的几何意义还表示为某个函数和x=a, x=b, y=0这个区域的面积,这个好理解。真的很神奇,定积分对于原函数F(x)来说是这个函数在某个区域内的y的增量和,而对于原函数的导数函数f(x)来说则是f(x)在a,b这个区域内的面积。
泰勒公式和麦克劳林公式
我们假设某个函数f(x)可以用某个幂级数表示:
f(x) = A0 + A1*(x-x0) + A2*(x-x0)^2 + A3*(x-x0)^3+ ... An*(x-x0)^n n->∞
那么我们有没有方法能够确定A0, A1,A2.... An的值?
上面公式求导我们可以得出: (** 注: 这里用 f(n)(x) 来表示f(x)的n阶导数)
f(x0) = A0
f'(x0) = 1*A1
f''(x0) = 2 * A2
f'''(x0) = 3*2*1*A3
f(n)(x0) = n! * An
因此可以得出:
A0 = f(x0)
A1 = f'(x0)/1
A2 = f''(x0) / (2 * 1)
A3 = f'''(x0) / (3 * 2 * 1)
An = f(n)(x0)/ n!
那么我们就可以根据上面的公式得出:
f(x) = f(x0) + f'(x0)(x-x0) + f''(x0)/2! * (x - x0)^2 + ... f(n)(x0)/n! * (x - x0)^n
这个公式就是所谓的泰勒公式,其中的x0可以是任意的数字。而当x0 = 0 时我们成为迈克劳林公式:
f(x) = f(0) + f'(0)x + f''(0)/2!*x^2 + ... f(n)(0)/n!*x^n
泰勒公式告诉我们一个函数可以表示为函数某点的各级导数的二项式乘积之和。也就是可以将某个函数的值通过初等函数来表达。但实际中我们不可能对n进行无穷的计算,我们只能通过计算有限个n来计算函数的值。但这里问题就来了,是否可以通过有限个n的计算来近似表达f(x)呢?
因为:
∞
f(x) = ∑ f(n)(x0)/n!*(x- x0)^n
n=0
设
N
F(x) = ∑ f(n)(x0)/n!*(x- x0)^n
n = 0
设R(x) = f(x) - F(x)。 也就是如果我们能用F(x)来表示f(x)的话,那么只要证明当N-> ∞ 时 R(x) -> 0就可以了。
很明显上述描述是正确的。因此我们可以通过泰勒公式来进行某个函数值的近似计算,并且当N越大时结果越接近真实的值。