查看原文
其他

漫谈高数——泰勒级数的物理意义

算法数学之美

日期:2019年1月17日

正文共:5809字2图

预计阅读时间:15分钟    

来源:算数学苑


高等数学干吗要研究级数问题?

是为了把简单的问题弄复杂来表明自己的高深? No,是为了把各种简单的问题/复杂的问题,他们的求解过程用一种通用的方法来表示。

提一个问题,99*99等于多少?相信我们不会傻到列式子去算,口算也太难了而是会做一个迂回的方法,99*(100-1),这样更好算。那么995*998呢?问题更复杂了,(1000-5)*(1000-2),式子比直接计算要复杂,但是口算却成为了可能。

归纳一下,x*y这样的乘法运算或者幂次运算,如何直接计算很麻烦的话,我们可以用因式分解的方法(中学生都能理解)来求解。

但是因式分解仍然不够通用,因为我们总是需要通过观察"特定"的待求解式子,找到一种规律,然后才能因式分解,这是我们从小学到中学数学方法的全部:特定问题特定的解答方法。那么,到了高等数学,怎么办?研究一种方之四海皆准的,通用的方法。

泰勒级数的物理意义是什么?就是把方程g(x)=0的解,写成曲线方程的形式看看和X轴有什么交 点。

例如f(x)=x^2=5等价于g(x)=x^2-5=0和x轴的交点。而这个曲线交点可以用直线切线的逼近方法(牛顿迭代法)来实现,这就是泰勒级数的物理意义:点+—次切线+2次切线+... + N次切线。每次切线公式的常数,就是泰勒级数第N项的常数。OK,从泰勒级数的式子可以看到,为了保证两边相等,且取N次导数以后仍然相等,常数系数需要除以n!,因为x^n取导数会产生n!的系数。

泰勒级数,就是切线逼近法的非跌代的,展开式。泰勒公式怎么来的,其实根据牛顿逼近法就可以得到从1阶一直可以推导到N阶。假设f1(x)=f(x)-f(a),由牛顿逼近法有f1(x)=f'(a)(x-a)+o(x-a)^2,所以f(x)=f(a)+f’(a)(x-a)+o(x-a)^2同理,假设f2(x)=f(x)-f(a)-f'(x)(x-a),

两边求导,f2'(x)=f,(x)-f,(x)-f"(x)(x-a)=-f"(a)(x-a)

再求不定积分f2(x)=-(1/2)f"(a)(x-a)^2+C, C就是那个高阶无穷小(需要证明)所以f(x)=f(a)+f'(a)(x-a)+f"(a)(x-a)A2+o(x-a)^3依次类推,最后就有了泰勒公式。另一种证明过 程干脆就是先写出来g(x)=a0+a1(x-a)+a2(x-a)^2+...+an(x-a)^n,然后从等式序列, g(a)=f(a),g'(a)=f'(a),...g…"(a)=f…"(a)......就得到所有的a0-an的泰勒展示系数了。

泰勒级数展开函数,能做什么?对于特定的x取值,可以求它附近的函数。y=xA100展开以后可 以求x = 1附近的0.9999的100次方等于多少,计算过程和结果不但更直观,而且可以通过舍弃一些高阶项的方法来避免不必要的精度计算,简化了计算,节省了计算时间(如果是计算机计算复杂数字的话)。

在图像处理的计算机软件中,经常要用到开方和幂次计算,而Quake III的源代码中就对于此类的计算做 了优化,采用泰勒技术展开和保留基本项的办法,比纯粹的此类运算快了4倍以上。

还可以做什么呢?对于曲线交点的问题,用方程求解的办法有时候找不到答案,方程太复杂解不出来,那么用泰勒级数的办法求这个交点,那么交点的精度要提高,相当于泰勒级数的保留项要增加,而这个过程对应于牛顿--莱布尼茨的迭代过程,曲线交点的解在精度要求确定的情况下,有了被求出的可能。

看到了吧,泰勒技术用来求解高方程问题,是一种通用的方法,而不是像中学时代那样一种问题一 种解决办法,高等数学之所以成为"高等",就是它足够抽象,抽象到外延无穷大。

那么,更感兴趣的一个问题是,对于高阶的微分方程表达的问题,怎么求解呢?泰勒级数不行了, 就要到傅立叶级数-傅立叶变换-拉普拉斯变化。这几个工具广泛用于各个领域的数学分析,从信号与系统到数理方程的求解。

中学数学和高等数学最大的区别是什么?中学数学研究的是定解问题,例如根号4等于2。高等数 学研宄什么呢----它包含了不定解问题的求解,例如用一个有限小数位的实数来表示根号5的值。我们用泰勒级数展开求出的根号5的近似值,无论保留多少位小数,它都严格不等于根号5,但是实际应用己经足够了。

不可解的问题,用高等数学的通解办法,可以求出一个有理数的近似解,它可以无限接近于上帝给出的那个无理数的定解。通解可行性的前提是,我们要证明这种接近的收敛性,所以我们会看到高等数学上册的课本里面,不厌其烦的,一章接一章,一遍又一遍的讲,一个函数,在某个开区间上,满足某个条件,就能被证明收敛于某种求和式子。初等数学求的是定解,那么如果没有定解呢?高等数学可以求近似解。牛顿莱布尼茨就是切线逼近法的始祖。例如求解一般的3次方程的根,求解公式可以是定解形式。但是问题是根号内的无理数仍然无法表示出来。

那么逼近法求一个数的N次方根就派上用场了。

f{m}=m(k+1) = m(K)+{A/m^2.(k)-m(k)}1/n.

n是方次,A被开方数。

例如,A=5, 5介于1的3次方至2的3次方之间。我们可以随意代入一个数m,例如2,那么:

第一步,2 + [5/ (2x2) -2]x1/3 = 1.7;

第二步,1.7+[5/(1.7x1.7)-1.7]x1/3 = 1.71;

第三步,1.71 + [5/(1.71x1.71)-1.71]x1/3 = 1.709;

每次多取一位数。公式会自动反馈到正确的数值。

具体的求解过程:先说说泰勒级数:一个方程,f(x)=0,求解X,它唯一对应x-f(x)二维图像上的 一条曲线。那么x的求解过程可以用牛顿-莱布尼茨逼近法求得(迭代)。例如x^2=5可以看成 f(x)=x^2-5 = 0的求曲线和X轴的交点。牛顿迭代法可以用来求解线性方程的近似解。

那么如何求解非线性方程呢? f(x)用泰勒级数展开,取前N项(通常N = 2),得到一个线性的方程,这个方程相当于是原来 的曲线在求解点附近做了一条切线,其求解过程和牛顿迭代法等价。迭代次数越多,越接近非线性。用泰勒级数来分解sin(t),把一个光滑的函数变成一些列有楞有角的波形的叠加。用傅立叶级数来分解方波, 把有楞有角的波形变成一些光滑曲线的集合。

但是傅立叶级数舍弃项的时候,会产生高频的吉布斯毛刺(上升下降的边沿,迪利赫里条件不符合)。局部的收敛性不如泰勒级数展开----因为泰勒级数展开有逐项衰减的常数因子。

举个例子,用泰勒级数求解欧拉公式。没有欧拉公式,就没有傅立叶变换,就没有拉普拉斯变化,就不能把高阶导数映射到e的倒数上面,也就无法把微分方程等价为一个限行方程。欧拉公式有什么用?它把实数的三角运算变成了复数的旋转运算,把指数运算变成了乘积运算,把纯微分方程的求解过程变成了指数方程的求解过程,大大简化了运算。

推广一下。怎么分析一个函数?怎么分析一个几何的相交问题?怎么解决一个多维的问题?初等的方法是根据函数或者图形的几何性质,去凑答案----当然大部分情况是凑不到答案的,因为能凑到答案是因为问题/题目给出了一些特殊的数学关系以使得我们恰好能凑到答案!

例如一个圆球在正方体里面,求通过某个顶点的切面方程或者距离什么的,我们可以通过做辅助面求得。但是这个求解太特殊了,对于普通的 点,例如切面方程13x+615y+72z-2=0这样的,初等方法就无能为力了。说白了初等方法就是牛顿在《自然哲学的数学原理 》提到的几何方法,牛顿并没有把微积分上升到解析的思想。

普通数学分析则提出了解析的代数运算思想,把具体的问题用通用的方式来求得,而问题的题设只是一种把函数的实际参数带入形式参数的过程,使得问题可以形式化了----如果数学问题不能形式化就不能通过状态机来求解,试想,计算机怎么会画辅助线呢?几何图形是有意义的,但是形式求解本身没有意义,它必须把实际的"意义 "问题变成代数运算,例如求最大值最小值变成导数=0。电路分析当中的模型是什么?就是数学建模。

因为电压和电流是可以测量的量,那么我们就要看什么量是不变量/变量,什么量是自变量/因变量。如果电压是不变量,我们认为是理想电压源;如果电流是不变量就是理想电流源,如果电压电流的比例不变就是恒定电阻;如果电压电流乘积不变就是理想功率源。把控制电路作为一个整体,那么电压/电流控制电压/电流,作为一个黑盒,对外的特性就是电压转移系数,电流转移系数,转移电阻和转移电抗。

在物理学的电场分析当中电压/电势是一个矢量,但是到了集总电路分析的领域就退化成了一个标量。对于复杂问题的分析,好比物理学当中的动量/能量守恒,电路分析是以电流守恒为基础的,于是就有了节电电流法和环路电压法的概念。这些概念的建立都是为了分析的目的而存在的,是分析工具。

我们首先得到一个工具,当 直接分析很困难的时候,我们采用逼近的方法来解决----因为极限就是我们所求的。正是因为解析的思想 是一种通用的求解方式,爱因斯坦在晚年才会追求4大场的统一理论,当然他忽略了这个"解析"的形式系统本身在量子的尺度上失效了,忽略了不确定性和概率的影响,令人惋惜。

说的太远了,高数里面为什么有那么多种正交展开?泰勒级数,傅立叶级数,罗朗级数----其实就是因为初等的方法无法精确分析出定解,那么就去寻找一种"不断逼近"的方法来求解。复变函数研宄的就是如何用幂级数不断的逼近原函数这个基本命题。


泰勒是怎么想出来的?

为什么泰勒级数,傅立叶级数,这些展开式都可以写成某个通项公式的和呢?是不是真理都是简单的美的,就像毕达哥拉斯所设想的一样?这个观点也许搞反了因果的方向。

我们看一下泰勒级数是怎么得到的。泰勒假设f(x)=f(a)+f’(x)(x-a)+o(x-a)^2,这个是牛顿莱布尼茨公式可以推出来的,那么有了一次项以后,如何继续逼近?方法类似,一次的求解是g1(x)=f(x)-f(a)=f’(x)(x-a),那么可以写出 g2(x)=f(x)-f(a)-f’(x)(x-a)两边对x求导再求不定积分,就得到了 2阶的泰勒级数。依次类推,可以得到N阶的泰勒级数。

由于每一阶的推导过程是"相似"的,所以泰勒项数的子项肯定也就具有了某种形式意 义上的相似性。说白了,不是因为客观存在某种规律使得函数可以展开成具有通项公式的幂级数,而是为了把函数展开成具有通项公式的幂级数再去看每个子项应该等于什么,然后为了保证严格再给出收敛以及一致收敛的条件。

不是客观存在某种''简单而且美"的真理,而是主体把某种''简单而且美"的形式强加给客观,再看客观在"强加"语境下的特性如何。傅立叶级数的思想,频率分析的思想,和这个相似,是把我们心中的某个概念赋予外界的实在,按主管意识的想法来拆借外界----只有这样,思想才能被理解。

当然,实数范围的泰勒级数和傅立叶级数展开的条件仍然比较严格,复变函数引入了对应的洛朗级数和傅立叶/拉普拉斯变换,通用性强多了。说白了,复变函数就是函数逼近论。为了解决初等思想没法解决的不可能想明白的问题而引入的高等方法。逼近思想的一个应用就是理解曲率的公式A=|y’’|/sqrt(1+y’A2)。画出逼近图形就可以理解了,用两个相似三角形就可以证明这个公式。

复变函数说白了就是2维正交元素组成的数域。 

(1+i)^i=exp(iLn(1+i))=exp(i[Ln|1+i|+i(arg(1+i)+2kPi])=exp(-Pi)(1/4+2k)*(cos[ln2/2]+isin[ln2/2]),是一个正交的表达式,它保留了两个方向上的分量,使得2维分析变得可能。这样一来,高等数学当中的曲线积分,积分的变量不再是x和y而是只剩下了z,形式上简 单多了。

假设曲线积分S1=S(Pdx+Qdy)其中Q=xA2-2xy-yA2,P=xA2-yA2+2xy,显然满足格林公式。 

然后负数积分 

S(zA2)dz=S(xA2+2xyi-yA2)d(x+yi)=S( (xA2-2xy)dx+(yA2-2xy)dy )。

而 S(xA2+2xyi-yA2)d(x+yi)实部=S(xA2-yA2)dx-2xyA2dy,虚部=S(2xydx+(xA2- yA2)dy),实部和虚部相加就是S1,也就是说,S是S1(曲线积分和路径无关)的复数形式。我们可以验证S(z^2)dz 沿不同积分路线从起点到终点的积分结果。zA2=(xA2-yA2)+i2xy,显然满足柯西-黎曼条件。于是它和实数积分的格林公式统一了。

实际的模型总是难以精确的解释的,所以我们创造一些理想模型去逼近现实。当然,两者不会相等, 但是只要误差在容许的范围之内,我们认为数学的分析就成功了。这就是一切数学建模的思想。工科电子类的专业课,第一门数学建模的课程就是电路分析。这里传输线的问题被一个等效电路替代了。

实际电源被一个理想的电压源加上一个电阻替代了,三级管放大电路的理论模型就是电流控制的电流源。一切都是为了分析的方便。只要结果足够近似,我们就认为自己的理论是有效的。

出了这个边界,理论就需要修正。理论反映的不是客观实在,而是我们''如何去认识"的水平,理论是一种主观的存在,当实际情况可以影射到同一种理论的时候,我们说理论上有了一种主观的”普遍联系”,就像电路分析和网络流量的拓扑分析有很多共同点。这种普遍联系不是客体的属性,只和主体的观点有关。

说点题外话,对于工科电子类/计算机类的学生来说,我们学习了太多了经过精简压缩贯通的课程, 以至于不知道了这些理论原有的面貌。有一种趋势就是把重要的思想性的原理性的东西去掉只留下工程实用性的内容下来。

于是工科学生学到的都是"阉割"过的科学与技术----缺少灵魂的学问是无法用来做研究的。没有强大的数学基础,所谓的"科研",只能是某种一边发明数学一边凑答案的抓狂,只能是空谈。 还是老老实实的做项目,搞软硬件研发,开发市场,做技术支持,写报告,等等.

- End - -


更多精彩:

数学系鄙视物理系的经典桥段,全部看懂了算我输!

科学史上最著名十六大赌局,输了四局的霍金最后却赢得生死之赌

什么是几何学——在复旦大学的演讲

程序员搞笑故事:给女儿织的辫子,你知道是什么算法吗?

数学公式背后的有趣的故事

高斯函数---最接近上帝的函数


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存