Skip to content
Scroll to top↑

微积分

MIT微积分公开课[1][2]学习笔记,课程总体偏向于应用,对理论部分没有太多深入。而且很多是高中内容,可适度跳着看。

导数

基本初等函数的导数

比较精彩的是指数函数和对数函数的部分。

daxdx=limΔx0ax+ΔxaxΔx=axlimΔx0aΔx1Δx

M(a)=limΔx0aΔx1Δx,则daxdx=M(a)ax

INFO

x=0,daxdx=M(a),知M(a)y=axx=0点的斜率。

e是使M(e)=1的数,即limx0ex1x=1,围绕e有如下发现:

  1. y=ex的导数仍为y=ex

  2. 定义新函数对数函数f(x)=log(x),若ey=x,则y=log(x)。此时所有y=ax可以表示为y=elog(a)xax=(et)xa=ett=log(a))。 因此可以利用链式法则求y=ax的导数:

    y=axy=elog(a)xlog(a)=axlog(a)

    y=log(x)则可以利用隐函数求导:

    ey=xeydy=dxy=1ey=1x
  3. 欲求y=fg,其中fg均是关于x的基本初等函数,利用隐函数求导法则:

    y=fg, 两边取对数log(y)=glog(f),此时左右两边都是基本初等函数,有yy=glog(f)+gfy=fg(glog(f)+gf),当f(x)=g(x)=x时,即xx,其导函数为xx(log(x)+1)

  4. 欲求limx(1+1n)n,令Δx=1n,有:

    limΔx0(1+Δx)1Δx=limΔx0elog((1+Δx)1Δx)=elimΔx0log((1+Δx)1Δx)=elimΔx01Δxlog(1+Δx)=elimΔx01Δx(log(1+Δx)log(1))=e1=e

    如此提供了一种近似计算e的值的方法。

INFO

GS老爷子的微积分先导课程提到另一种定义指数函数的方法:

微积分本质是一种研究两个函数关系的科学。有这样一组关系dydx=y,假设我们已知yx=0时等于1,则可以定义满足这个微分方程的函数y=ex。并且从这个方程可以推出ex的“表达式”:

x=0y=1得到dydx=1,为使y求导得到1,我们要在y中添加一个x得到y=1+x,于是dydx=1+x,为了得到这个x,我们又要在y中添加一个12x2,于是y=1+x+12x2,为了得到这个12x2,我们又要在y中添加16x3……如此得到一个无限的式子,其第n项为1n!xn

利用ex的展开式还可以得到exey=ex+y的性质,相乘观察相同次数的项即可。

线性近似

导数的定义,f(x0)=limΔx0ΔfΔx,知Δx0f(x0)ΔfΔx。利用切线值近似函数的值,在x0处的切线为yx0=k(xx0),即f(x)f(x0)+f(x0)(xx0),若x0=0,则x0,有f(x)f(0)+f(0)x。可以用来在现实中快速计算一些f(x)的值。例如:

f(x)f(x)f(0)f(0)f(x)
sin(x)cos(x)01x
exex111+x
ln(x+1)(x+1)101x

由第三个式子可以进一步推出令u=x+1,x=u1, 则当u1时,ln(u)u1。和我们将u0=1带入f(u)f(u0)+f(u0)(uu0)得到的结果是一致的。

一个计算y=(1+1x)x的例子,其中x。两边取对数,log(y)=xlog(1+1x)=1klog(1+k)1kk=1,知当x时,y近似等于e

有些时候,可能需要计算二阶近似来获得更接近的值,f(x)f(x0)+f(x0)(xx0)+f(x0)2(xx0)2。例如cos(x),由f(0)=1f(0)=0发现一阶线性近似为1,但更多时候我们还是希望保留小角度x,于是有二阶近似cos(x)112x2。更高阶的近似即更高阶的泰勒展开式。

INFO

二阶近似也可以给我们另一种视角来看待最大最小值问题(与导数、导数变化率的视角相对),Δff(a)Δx+12f(a)Δx2,当切线水平时f(a)=0,而Δx20,于是Δf的变化完全由f(a)决定。

牛顿法

欲求x2=5,可以令y=x25,即求y=0。思路是将曲线看成是线性的,选取一个离目标较近的点,求出曲线在该点切线与x轴的交点,即为下一步的选择,重复这个过程可以得到一个比较接近的解。 由yf(x0)=m(xx0),选取点xn,有0f(xn)=m(xxn),则下一个选点xn+1=xnf(xn)f(x0)(或者直接利用线性近似理解xaf(a)f(a)a即上一个选取的xn)。在这个具体的例子中,若初始选择的点为2,下一个点为2.25,再一个约为2.23611,而5实约为2.23606,已经非常接近了。

MVT

f(x)a<x<b上可导并且在axb上连续,则ab上必存在一点c使得f(c)=f(b)f(a)ba。可导意味着图像平滑没有尖角,否则就会像图中第二条曲线那样,找不到满足条件的c点了。

洛必达法则

对于f(a)=g(a)=0型的极限,有limxaf(x)g(x)=limxaf(x)/(xa)g(x)/(xa)=limxaf(x)f(a)xag(x)g(a)xa=f(a)g(a),要求右侧极限存在且g(a)0。洛必达法则对于a=±f(a)g(a)=±、右侧极限为±的场景也成立。本质上讲洛必达法则刻画的是函数变化的速度。

积分

FTC1

根据FTC1,若F=f,有abf(x)dx=F(b)F(a),即ΔF=abf(x)dx,两边同时除以Δx,有ΔFΔx=1Δxabf(x)dx=1baabf(x)dx,右边表示的是f的平均值。ΔF=Avg(F)Δx,可想而知它大于FminΔx,小于FmaxΔx(在a<x<b上)。

举例来说,F(x)=11+xF(0)=1,利用MVT我们可以判断出A<F(4)<BAB值:F(4)F(0)=F(c)(40)=11+c4,其大于11+04,小于11+44,利用这里的思想,F(4)F(0)=04dx1+x,其大于0415dx=45,小于0411+0dx=4。两者表述的意思是等价的,这种表述的几何意义,是积分区域的面积小于大矩形的面积,大于小矩形的面积:

FTC2

如果f连续,可以基于f定义新的函数G(x)=axf(t)dt,其中a是常量,并且有G(x)=f(x)。注意这里的积分是针对t来积的,x不过是其积分上限,也就是说积分时将x视为常量对t积分后得到一个式子,用x带入计算得到关于x的表达式。

INFO

FTC2还可以这样理解:G(x)是微分方程{y=fy(a)=0的解。

看图像理解证明比较简单,ΔGΔxf(x),若f连续,有limΔx0ΔGΔx=f(x)。证明了FTC2进一步可证明FTC1,不妨设f(x)的原函数是F(x),由G(x)=F(x),有G(x)=F(x)+c,则F(b)F(a)=(G(b)+c)(G(a)+c)=G(b)G(a)=abf(x)dx

FTC2使得我们拥有了一种新的定义函数的手段,例如定义函数L(x)满足:L(x)=1xL(1)=0,我们完全可以将这个作为对数函数的定义。甚至是一些无法用基本初等函数表达的函数(transendental function),例如若某函数G(x)满足G(x)=ex2G(0)=0,这个导数是积不出来的,现在我们都知道该导数其实就是正态分布密度函数的原型。G(x)正无穷方向的渐近线是y=π2

暂时忘掉以前学的对数函数的定义,利用这里定义的对数函数L(x)我们也可以总结出L(x)的一些性质,例如L(ab)=L(a)+L(b),即1abdtt=1adtt+aabdtt,显然这里的重点在于证明L(b)=1bdtt=aabdtt,可以利用换元的思想得到:设u=at,则du=adt,当t=1时,u=a,当t=b时,u=ab,从而1bdtt=aabduu

另外一些积不出来但可以利用这种思想定义的函数如C(x)=0xcos(t2)dtS(x)=0xsin(t2)dtH(x)=0xsin(t)tdt等。以及著名的黎曼函数Li(x)=2xdtln(t),可以用来估计小于x的质数个数。

分部积分法

(uv)=uv+vu,有uvdx=uvuvdx。例如对lnx的积分,可以选取u=lnxv=x,则lnxdx=xlnx1xxdx=xlnxx+C

反常积分

af(a)dx=limNaNf(x)dx。若极限存在,积分结果收敛,或者说积分的面积有限。

有时不好判断积分结果是否收敛,这时可以利用从洛必达法则中带来的思想,如果在xf(x)/g(x)1,那么af(x)dxag(x)dx(对于一个足够大的a)要么都收敛,要么都发散。

直线与平面

对非零点N=[abc]与原点构成的向量,可以唯一确定一个平面,使得N与该平面垂直,从而平面上的任意一点与原点构成的向量P=[xyz]N垂直,有PTN=0,得到平面的方程ax+by+cz=0。如果平面不是过原点而是过另一不与N相同的点P0=[x0y0z0],则平面上的向量可以表示为PP0,有(PP0)TN=0,得平面方程ax+by+cz=d,其中d是关于x0y0z0的常量。观察这两个平面,d可以被看作是将第一个平面平移距离的度量,类比二维的情形,其实就是“截距”。如果要判断某点在平面哪一侧,可以将该点带入平面方程左侧,得到的“截距”与d相比较即可。

直线除了可以看作是两个平面方程的交集之外,还可以用参数方程的方式定义:给定两个点Q0=[x0y0z0]Q1=[x1y1z1],一个点Q0确定位置,一个向量Q0Q1确定方向,从而直线上任一点与Q0组成的向量都可以看作是该向量的倍数。有Q0Q(t)=tQ0Q1

[xx0yy0zz0]=t[x1x0y1y0z1z0]

写成Q(t)=Q0+tQ0Q1的形式:

x(t)=x0+t(x0x1)y(t)=y0+t(y0y1)z(t)=z0+t(z0z1)

INFO

对于以两平面交线方式给出的方程如L={x+2y+3z=4x+3y+3z=5,如何将其与参数方程的形式关联起来呢?通过线代课程的学习我们可以求出方程系数矩阵A的零空间向量xn=[301]和一个特解xp=[210],从而得到解的一般形式x=xp+txn,这正是直线的参数方程,零空间向量即上面的向量Q0Q(t),特解即上面的Q0。(Axn=0其实就是xn与两平面法向量垂直,无数可选的Q0点对应了无数的特解)。这里的例子是一个行满秩列不满秩矩阵,如果两个平面平行,则它们的法向量平行,则A各行线性相关,行不满秩,从而方程有0解(平行且不重合)或无数解。

对于常见的3×3矩阵,若Ax=0只有零解即矩阵可逆,说明找不到一个向量同时与三个平面的法向量垂直,此时三个平面的交集只有一点,或者说三个法向量不在一个平面上,可以正交化为三个标准基向量,而反之的情况就比较多了。

假设两不重合直线交于一点O=[x0y0z0],可以唯一确定一个平面(切平面)使得它们都在平面上。这时可分别取两直线上与O不同的一点AB,利用平面上任意点与其法向量垂直,OP(OA×OB)=0解出平面方程。例如若Oz=f(x,y)上,如果有fx(x0,y0)=afy(x0,y0)=b,即在固定x0y0的情况下给出了相应切线的斜率,从而确定了两条切线的方程L1={z=z0+a(xx0)y=y0L2={z=z0+b(yy0)x=x0,为了计算的方便可取L1上的点A=[0y0z0ax0]L2上的点B=[x00z0by0],解出切平面的方程zz0=a(xx0)+b(yy0),或者理解成线性近似Δz=fx(x0,y0)Δx+fy(x0,y0)Δy

INFO

如图,二元用切平面近似曲面,解出切平面方程可得Δz=zxΔx+zyΔy。我们将Δz方向上的变化解耦成了两个相互正交的分量ΔxΔy上的变化的组合。

:::

开普勒第二定律

相同时间内行星扫过的面积相同,设半径为r,有S=12|r×Δr|=12|r×v|Δt。也就是说r×vt无关,ddt(r×v)=0,而ddt(r×v)=drdt×v+r×dvdt=v×v+r×a=0。所以这个表述等价于说r×a=0,即ar平行,而行星受到的引力也确实总是径向的。

Critical Points

由上面对切平面的讨论,如果fx=fy=0切平面变为水平,但这时还不足以判断切点是最大值、最小值还是鞍点。与单变量的方法类似,这时需要借助二阶导数fxxfxy(=fyx)fyy,判别式fxxfyyfxyfyx

  1. fxxfyyfxyfyx>0,则:
    • fxx>0fyy),则取得局部最大值;
    • fxx<0取得局部最小值;
  2. fxxfyyfxyfyx<0,鞍点;
  3. fxxfyyfxyfyx=0无法判断,可以代值进去。

同样可以利用线性近似的方法理解这个判别式,利用泰勒展开时,注意一阶线性近似由于fx=fy=00,因此需要二阶近似,ΔffxΔx+fyΔy+12fxxΔx2+fxyΔxΔy+12fyyΔy2,通过配方可以得到相同的结果(其实就是根的判别式)。

梯度向量

dwdt=wxdxdt+wydydt+wzdzdt理解为两个向量相乘=[wxwywz]v=drdt=[dxdtdydtdzdt],这个就称为梯度向量

由于v在曲面上该点的切平面内,而v对任意的v都成立,故与该点的切平面垂直。对于平面方程w(x,y,z)=ax+by+cz=d,显然=[abc],正是我们用来定义平面的法向量N。对于二元的情况如f(x,y)=x2+y2,等高线f(x,y)=c是以原点为圆心的圆,而=[2x2y],即半径所在的直线。

WARNING

一直二维三维傻傻分不清楚的我:为什么f(x,y)的图像画成三维曲面,但梯度向量却不是该图像的切平面法向量而是水平的,而w(x,y,z)经常画出来的图像也是三维的(其实是取了w=c),其梯度向量又是切平面法向量了☕。

应用:求曲面上任一点的切平面

对于曲面方程x2+y2z2=4,欲求其在点P=[211]处的方程,一种方式我们可以利用线性近似ΔwfxΔx+fyΔy+fzΔz,当趋近于PΔw0,有0=4(x2)+2(y1)2(z1);另一种方式利用,在P处的=[422],这是切平面的法向量,可立即得到平面方程4(x2)+2(y1)2(z1)=0

方向导数

用力的分解也许好理解一点。梯度给了我们对该点处曲线有多陡的直观感受,如果沿着梯度的方向,无论施加的力多大都无法实现在曲面上(等高线上)的移动(因为梯度向量与该处切平面垂直),而如果我们偏离一个角度,从而这个力在梯度方向上的分力不产生位移,带来加速度的是与梯度方向垂直方向的分力。用一个单位向量u表示力的方向,方向导数dwds|u=wu=|w|cos(θ)表示的是力在梯度方向上的分解,当垂直的时候方向导数为0而沿着等高线切线方向的分力最大。

拉格朗日数乘法

在某些问题中,要求f(x,y,z)在一个约束条件g(x,y,z)=c下的最大最小值。如果画出两曲面的等高线图会发现在取得极值处两等高线相切,或者这样理解:类比无约束情况下取极值处有df=0,这里只有在沿着g=c等高线的方向上df=0=dfds|u=fu(“沿着”的意思是相切,即等高线的切线方向),同时dg=dc=0=dgds=dgds|u=gu。从而有f=λg,联立方程{fx=λgxfy=λgyfz=λgzg(x,y,z)=c可解。

非独立变量

另一种方法看待有g(x,y,z)=c约束的极值问题,g可以变型为z=z(x,y)。在固定y的情况下解出(fz)y

  1. 利用微分:

    df=fxdx+fydy+fzdz=fxdx+fzdz,为了消去dx,利用约束条件dg=gxdx+gydy+gzdz=0,有dx=gxgzdz,从而df=(fxgzgx+gz)dz,括号中的部分即(fz)y=fxgzgx+gz

  2. 利用链式法则:

    (fz)y=fx(xz)y+fy(yz)y+fz(zz)y=fx(xz)y+0+fz1=fx(xz)y+gz,同理由(gz)y=0可解出(xz)y=gzgx,带入第一个式子得到与微分法相同的结果。

WARNING

f(x,y)=x+y,有fx=1,如果换元x=u,y=u+v得到fu=2fx。为什么x=u但偏微分项不等?这是因为保持不变的量不一样:(fx)v(fx)y

二重积分

雅可比矩阵

二重积分dV=Rf(x,y)dA可以看成是求z=f(x,y)与其正下方平面区域R的体积。dA=dxdy,如果将xy换元为u=u(x,y)v=v(x,y),那么新的dA需要确定。

依然利用微分:

du=uxdx+uydydv=vxdx+vydy,如图所示,知dudv=det([uxvxuyvy])dxdy=(|[uxuy]×[vxvy]|)dxdy。这里得到的矩阵即雅可比矩阵

以极坐标系x=rcosθy=rsinθ为例,dx=xrdr+xθdθ=cosθdr+r(sinθ)dθdy=yrdr+yθdθ=sinθdr+rcosθdθ,知dA=(rcos2θ+rsin2θ)drdθ=rdrdθ,和我们从图形中得到的结果是一致的。

向量场

F=Mi+Nj,其中M=M(x,y),N=N(x,y),即在平面的每一处我们有一个与位置有关的力F

做功与曲线积分

对一个小方向上的位移ΔrW=(force)(distance)=FΔr。从而全过程的做功通过将全轨迹累加得到,这是一种“line integral”:

W=CFdr(=limΔr0iFΔri)

INFO

力只有在位移的方向上才有功,所以是一个内积的关系。想想也是,如果力与位移方向垂直,这个力不做功。

为了求解,注意C是关于时间t的参数方程,有CFdr=t1t2(Fdrdt)dt。实际上我们选择的参数化方式对积分结果没有影响,参数化只是一种解释问题的视角。

F=[MN]dr=[dxdy],有CFdr=CMdx+Ndy

Gradient Field

如果Mdx+Ndy恰好是一种全微分形式,从而MN是某一隐函数f的偏微分,M=M(x,y)=fx(x,y),N=N(x,y)=fy(x,y)。这时F就成了该函数的梯度向量F=f=[fxfy]

INFO

M=fxN=fy,有My=Nx=fxy,利用这个性质可以判断是不是gradient field。但是要求F在平面上每一点处都可微,或者在一个单连通区域内部。

在gradient field中,有对应的FTC:

当力使物体从P0运动到P1时,Cfdr=f(P1)f(P0)。由Cfdr=t0t1(fxdxdt+fydydt)dt=t0t1dfdtdt=[f(x(t),y(t))]t0t1可证。f就是功的计量,这个积分可以被理解为物体从P0移动到P1力所做的功等于力使物体从另外某处P移动到P1,减去从P移动到P0所作功的差值。

进一步推出有关gradient field的两个特性:

  1. 路径无关性:如果轨迹C1C2具有相同的起点和终点,从而积分结果相同(做功相同);
  2. 保守性:如果是闭合轨迹,则积分结果为0(先做正功,再做负功,或者反过来,总之最后啥也没干)。

物理意义

If the force field F is the gradient of a potential f, then work of F = change in value of potential.

如果向量场F是势f的梯度,则保守力F的做功等于势能的变化。没有额外的能量能够从闭合的轨迹上被”释放“。

Conservativeness means that energy comes from change in potential f, so no energy can be extracted from motion along a closed trajectory (conservativeness = conservation of energy: the change in kinetic energy equals the work of the force equals the change in potential energy).

仅对gradient field有四个等价的表述:

  1. 如果对任意闭合轨迹CCFdr=0,则F是保守的;
  2. Fdr是路径无关的(相同的终点相同做功,与路径无关);
  3. F是一个gradient field有F=f=fxi+fyj
  4. Mdx+Ndy(=fxdx+fydy=df)是一个全微分(exact differential)形式。

通过令C1=C2C=C1C2=0可知(1)和(2)是等价的。(3)利用FTC可推出(2),同时也是寻找隐函数的一种方式:如果具备路径无关性质,可以通过(0,0)(x,y)Fdrf(x,y),一般利用相互正交的两段轨迹dx=0dy=0简化计算。另一种求隐函数的方式是由fx得到f(x,y)=fxdx+g(y),然后利用fy来求g(y)。(3)和(4)只不过是同一种说法的不同表现形式。

旋度和散度

旋度curl(F)=NxMy,旋度是力所带来扭矩(torque)的度量,可以类比速度:

  • 在平移运动中,ForceMass=acceleration=ddt(velocity)
  • 在旋转变换中,TorqueMoment of inetia=angular acceleration=ddt(angular velocity)

散度div(F)=Px+Qy,应用格林公式并替换M=QN=P可证CFnds=Rdiv(F)dAnf(x,y)法向量。散度是发散度的度量,可以描述一个向量场的点是汇聚点还是发散点。

INFO

一些个人理解:

如图,z=f(x,y)是对势能的刻画,F如果不是z的梯度向量(注意F不是图中三维曲面的梯度向量,而是一个固定的势z平面与该曲面相截所得二维曲面的梯度向量。假定物体初始动能为0,这个势z是系统的初始能量),那么会存在一个额外的分量(图中红色向量N)。这时即使物体在闭合回路上走了一遭回到了起点,势能不变,N所做的功却不为0,它实际上改变了物体的动能,使物体产生角速度。用物理学的话说,物体所受的合力F可以被分解为保守力F和非保守力N,保守力做功带来势能变化,非保守力带来动能变化。

在三维情况下,势w=w(x,y,z)其实是一个“等势体”了。

从可汗学院盗的图:

dr=dxi+dyj,为了得到法向量n可以进行顺时针旋转,注意n要取成单位向量,有n=dyidxj|dr|,而|dr|=ds,因此有Fnds=F(dyidxj)。因此点乘的结果为PdyQdx,由格林公式,(旋转后的nds就相当于r,旋转使得F=NiMj=Pi+Qj),有CPdyQdx=RPx(Qy)dA==Rdiv(F)dA。此处格林公式说明了通过区域边界的量与区域内部散度的关系。

格林公式

如果R是被一个正向(使得所包围区域总是在自己左侧的方向)闭合曲线C包裹起来的区域,有:

CFdr=Rcurl(F)dA

或者写成:

CMdx+Ndy=R(NxMy)dA

可以用来将复杂的曲线积分简化为简单的二重积分或反之。例如拿它来证明gradient field的性质:

定理:如果F=Mi+Nj在平面上处处连续且可微,那么Nx=My可推出F是保守的,也即F是一个gradient field.

Nx=MyCFdr=Rcurl(F)dA=R0dA=0,得证。

证明

  1. 定理其实可以分成两个部分CMdx=RMydACNdy=RNxdA
  2. 首先观察到如下事实,如右上角图所示,如果将R划分成R1,R2,R=R1R2两个部分,两个部分的包裹曲线分别为C1C2,有C=C1+C2,这是因为中间的那段各自方向相反,相互抵消了。

从而我们可以在R中划出图中阴影区域,这个区域外围的轨迹可以分为四个部分C1,C2,C3,C4,其中C2,C4由于dx=0,有C2Mdx=C4Mdx=0,有:

LHS: C=C1+C3=abM(x,f0(x))dxabM(x,f1(x))dx

式中f0(x)f1(x)即沿着C1C3的两条曲线,课程notes上写成了C1C2应该是不对的。同时注意到沿着C3x是从ba的,所以要负号。有:

RHS: RMydA=abf0(x)f1(x)Mydydx=ab(M(x,f1(x))M(x,f0(x))dx=LHS

由于所有的区域都可以被划分为这样一个个小的区域,将它们相加在一起后,左边就是外围曲线C的积分,右边则是整个区域R的积分,CMdx=RMydA。同理用水平的方式去划分区域,可以证明CNdy=RNxdA,从而证明了格林公式。

除了告诉我们曲线积分可以转化为曲面积分,反过来格林公式也告诉我们区域面积可以用曲线积分求得Cxdy=R1dA

单连通区域

讨论来源于对F=yi+xjx2+y2的计算,C是一个逆时针的单位圆,可以算出CFdr=2π,而Rcurl(F)dA=0,不满足格林公式。原因在于区域内包含了0点,而在这一点上F是无定义的。

但也不是完全没有办法,我们可以把没有定义的这块挖掉,如下图,则有CFdrCFdr=Rcurl(F)dA

直观点说单连通区域就是个中间没有洞的区域,上面的图像看起来中间有个大洞,但如果将轨迹作为区域边界的话,它无疑是没有洞的。

三重积分

和二重积分基本类似,算子可以只当作是一个辅助记忆的符号。


  1. https://www.bilibili.com/video/av34481507 ↩︎

  2. https://www.bilibili.com/video/BV1nt411d7bu ↩︎