多元函数一般是指某个定义域为 D D D 的函数 f f f 有两个及以上的自变量, z = f ( x 1 , x 2 , x 3 , . . . ) z=f(x_1,x_2,x_3,...) z=f(x1,x2,x3,...),18.02这门课一般研究含有两个或三个的函数。
(严谨的定义请参见百度百科多元函数词条,或相关参考书)
举两个例子:
f ( x , y ) = x 2 + y 2 f(x,y)=x^2+y^2 f(x,y)=x2+y2 f ( x , y , z ) = x y log ( z ) f(x,y,z)=xy\log(z) f(x,y,z)=xylog(z)
如果函数的表达式为 z = f ( x 1 , x 2 ) z=f(x_1,x_2) z=f(x1,x2),则 x 1 , x 2 x_1,x_2 x1,x2被称为函数的自变量,因为他们可以取定义域内的任意值,而因变量 z z z 会随着自变量取值的变化而变化。
由于受维度的限制,一般情况我们只能画出二元函数 f ( x , y ) f(x,y) f(x,y) 的图像和三元函数等值面 f ( x , y , z ) = C f(x,y,z)=C f(x,y,z)=C 的图像(等值面下一节会写到)
一般步骤为:
比如,效仿以上步骤我们可以画出 f ( x , y ) = x 2 + y 2 f(x,y)=x^2+y^2 f(x,y)=x2+y2的图像:
等值面是由一个函数固定其因变量的值而得到的,比如在二元函数 z = f ( x , y ) z=f(x,y) z=f(x,y)中就是固定 z z z的值,然后画出其 x y xy xy 平面上的曲线,如果将每一个固定 z z z的值之后得到的曲线画在一起,就得到了等高线图。
如图,当 z = 4 z=4 z=4得到的圆盘就是等值面(level curves),而整个由各个圆盘组成的图像被称为等高线图。也可以认为等高线就是从上往下切割,并做出其在水平面上的投影。
令 w = f ( x , y ) w=f(x,y) w=f(x,y)是一个二元函数,它的关于 x x x 的偏导数表示为:
∂ f ∂ x ∣ ( x 0 , y 0 ) o r ∂ f ( x , y 0 ) ∂ x ∣ x 0 o r f x ( x 0 , y 0 ) \frac{\partial f}{\partial x}\big |_{(x_0,y_0)}\quad or\quad \frac{\partial f(x,y_0)}{\partial x}\big |_{x_0}\quad or\quad f_x(x_0,y_0) ∂x∂f∣∣(x0,y0)or∂x∂f(x,y0)∣∣x0orfx(x0,y0)
同理,关于 y y y 的偏导数为:
∂ f ∂ y ∣ ( x 0 , y 0 ) o r ∂ f ( x 0 , y ) ∂ x ∣ y 0 o r f y ( x 0 , y 0 ) \frac{\partial f}{\partial y}\big |_{(x_0,y_0)}\quad or\quad \frac{\partial f(x_0,y)}{\partial x}\big |_{y_0}\quad or\quad f_y(x_0,y_0) ∂y∂f∣∣(x0,y0)or∂x∂f(x0,y)∣∣y0orfy(x0,y0)
三元甚至多元函数的偏导数也同理。
在单变量微积分中,函数的导数只针对一个方向;而在多元函数当中,求导数需要参考某一个方向,做一个类比,在爬山的时候,沿着你的正面或侧面望去,山的陡峭程度是不同的。同理,在求多元函数的导数必须要声明导数是参考于哪个方向,即针对哪个变量。
对于单变量函数来说,通过线性近似我们得到了一元函数的微分形式:
y + d y = f ( x 0 ) + f ′ ( x 0 ) d x o r d y = f ′ ( x ) d x y+dy=f(x_0)+f'(x_0)dx\quad or \quad dy=f'(x)dx y+dy=f(x0)+f′(x0)dxordy=f′(x)dx
通过类比,对于二元函数来说,我们会立马想到用切面来近似二元函数某一点的值。二元函数某一点 ( x 0 , y 0 , w 0 ) , ( w 0 = f ( x 0 , y 0 ) ) (x_0,y_0,w_0),\ (w_0=f(x_0,y_0)) (x0,y0,w0), (w0=f(x0,y0))的切面要包含该函数在这一点的两条切线,同时我们设这个平面的方程为:
A ( x − x 0 ) + B ( y − y 0 ) + C ( w − w 0 ) = 0 A(x-x_0)+B(y-y_0)+C(w-w_0)=0 A(x−x0)+B(y−y0)+C(w−w0)=0 w − w 0 = − A C ( x − x 0 ) − B C ( y − y 0 ) w-w_0=-\frac{A}{C}(x-x_0)-\frac{B}{C}(y-y_0) w−w0=−CA(x−x0)−CB(y−y0)
这是标准的三维坐标下的平面方程(两个垂直向量的点乘为0)。通过上面的图像我们知道,在 y y y固定为常数的时候有:
w = w 0 + f x ( x 0 , y 0 ) ( x − x 0 ) w=w_0+f_x(x_0,y_0)(x-x_0) w=w0+fx(x0,y0)(x−x0)
同理,在 x x x固定的时候有
w = w 0 + f y ( x 0 , y 0 ) ( y − y 0 ) w=w_0+f_y(x_0,y_0)(y-y_0) w=w0+fy(x0,y0)(y−y0)
让该平面方程中的 x = x 0 x=x_0 x=x0(得到该切面与 x = x 0 x=x_0 x=x0平面的交线),得到 w − w 0 = − B C ( y − y 0 ) w-w_0=-\frac{B}{C}(y-y_0) w−w0=−CB(y−y0);让该平面方程中的 y = y 0 y=y_0 y=y0(得到该切面与 y = y 0 y=y_0 y=y0平面的交线),得到 w − w 0 = − A C ( x − x 0 ) w-w_0=-\frac{A}{C}(x-x_0) w−w0=−CA(x−x0),通过恒等关系,可以得到:
A C = − f x , B C = − f y \frac{A}{C}=-f_x,\quad\frac{B}{C}=-f_y CA=−fx,CB=−fy切平面的表达式就变成了 w − w 0 = f x ( x − x 0 ) + f y ( y − y 0 ) w-w_0=f_x(x-x_0)+f_y(y-y_0) w−w0=fx(x−x0)+fy(y−y0)
如果令 x 0 = y 0 = 0 x_0=y_0=0 x0=y0=0,则切面近似就是:
w = f ( 0 , 0 ) + f x ( x ) + f y ( y ) w=f(0,0)+f_x(x)+f_y(y) w=f(0,0)+fx(x)+fy(y)
通过切面的近似我们就能得到多元函数的微分形式,该表达式是多变量微积分中最重要的公式。
从上一节可以看出,切面近似公式当中蕴含着函数变化量与它的偏导数之间的关系。如果偏导数 f x , f y f_x,\ f_y fx, fy在点 ( x 0 , y 0 ) (x_0,y_0) (x0,y0)附近是连续的,则令 w − w 0 = Δ w , y − y 0 = Δ y , x − x 0 = Δ x w-w_0=\Delta w,\ y-y_0=\Delta y,\ x-x_0=\Delta x w−w0=Δw, y−y0=Δy, x−x0=Δx就可以得到多元函数的变化量:
Δ w ≈ f x Δ x + f y Δ y \Delta w \approx f_x\Delta x+f_y\Delta y Δw≈fxΔx+fyΔy
其对应的微分形式就是:
d w = f x d x + f y d y dw=f_xdx+f_ydy dw=fxdx+fydy
同理,对三元函数 w = f ( x , y , z ) w=f(x,y,z) w=f(x,y,z)来说,
d w = f x d x + f y d y + f z d z dw=f_xdx+f_ydy+f_zdz dw=fxdx+fydy+fzdz
对多元函数 w = f ( x 1 , x 2 , x 3 , x 4 ⋯   ) w=f(x_1,x_2,x_3,x_4\cdots) w=f(x1,x2,x3,x4⋯)来说,
d w = f x 1 d x 1 + f x 2 d x 2 + f x 3 d x 3 + f x 4 d x 4 + ⋯ dw=f_{x_1}d{x_1}+f_{x_2}dx_2+f_{x_3}dx_3+f_{x_4}dx_4+\cdots dw=fx1dx1+fx2dx2+fx3dx3+fx4dx4+⋯
与学习单变量微积分的时候一样,我们不仅关注函数值的微分随其固有的自变量的变化,还关注参数化(常见的参数化有将自变量表达为随时间变化的函数)之后的微分形式,通过变化后的微分形式我们就得到了新的偏导数表达形式,也就是链式法则。(注意符号 ∂ \partial ∂和 d d d没有本质上的区别,都表示微分)
如果函数 w = f ( x , y ) w=f(x,y) w=f(x,y) 的自变量 x , y x,y x,y在参数化之后能写成 x = x ( u , v ) , y = y ( u , v ) x=x(u,v),\ y=y(u,v) x=x(u,v), y=y(u,v)的形式,其偏导数形式就变成了:
∂ w ∂ u = ∂ f ∂ x ∂ x ∂ u + ∂ f ∂ y ∂ y ∂ u \frac{\partial w}{\partial u}=\frac{\partial f}{\partial x}\frac{\partial x}{\partial u}+\frac{\partial f}{\partial y}\frac{\partial y}{\partial u} ∂u∂w=∂x∂f∂u∂x+∂y∂f∂u∂y ∂ w ∂ v = ∂ f ∂ x ∂ x ∂ v + ∂ f ∂ y ∂ y ∂ v \frac{\partial w}{\partial v}=\frac{\partial f}{\partial x}\frac{\partial x}{\partial v}+\frac{\partial f}{\partial y}\frac{\partial y}{\partial v} ∂v∂w=∂x∂f∂v∂x+∂y∂f∂v∂y
三元及三元以上的函数也同样遵循链式法则。
在上述的微分形式中,我们见到了熟悉的乘法和加法形式( d w = f x d x + f y d y + f z d z dw=f_xdx+f_ydy+f_zdz dw=fxdx+fydy+fzdz,其中三元函数 w = f ( x , y , z ) w=f(x,y,z) w=f(x,y,z)),转化成向量点乘的写法就得到: d w = < f x , f y , f z > ⋅ < d x , d y , d z > dw=<f_x,f_y,f_z>\cdot<dx,dy,dz> dw=<fx,fy,fz>⋅<dx,dy,dz>
其中, ∇ f = < f x , f y , f z > \nabla f=<f_x,f_y,f_z> ∇f=<fx,fy,fz>被定义为函数 w ( x , y , z ) w(x,y,z) w(x,y,z)的梯度, f x f_x fx是 ∂ f ∂ x \frac{\partial f}{\partial x} ∂x∂f的简写。 d r = < d x , d y , d z > d\bold r=<dx,dy,dz> dr=<dx,dy,dz>,这也就是方向向量的微分。微分就可以被重写成:
d w = ∇ f ⋅ d r dw=\nabla f\cdot d\bold r dw=∇f⋅dr
通常梯度经常与参数化曲线相结合(常见的是用参数 t t t),微分形式为:
d w d t = f x d x d t + f y d y d t + f z d z d t \frac{dw}{dt}=f_x\frac{dx}{dt}+f_y\frac{dy}{dt}+f_z\frac{dz}{dt} dtdw=fxdtdx+fydtdy+fzdtdz d w d t = ∇ f ⋅ d r d t \frac{dw}{dt}=\nabla f\cdot \frac{d\bold r}{dt} dtdw=∇f⋅dtdr
其中, d r d t = < d x d t , d y d t , d z d t > \frac{d\bold r}{dt}=<\frac{dx}{dt},\frac{dy}{dt},\frac{dz}{dt}> dtdr=<dtdx,dtdy,dtdz>
从某种意义来说,这个式子简化了微分的写法。
梯度一定与函数的等值面的切线垂直
思路及推导:
上文在函数 w = f ( x , y , z ) w=f(x,y,z) w=f(x,y,z),注意是整个维度上的 w w w来明确了梯度的定义,如果函数 w w w是个定值(即函数 w w w的一个等值面),也就是在 w = f ( x , y , z ) = C w=f(x,y,z)=C w=f(x,y,z)=C(即 w w w为常数)且 r \bold r r在是等值面或等值面的一条切线(这里考虑的是三元函数,所以 r \bold r r为等值面内的一条切线)的情况下重新推导微分形式。
∵ d w d t = ∇ f ⋅ d r d t and d w d t = d w ( x , y , z ) d t = C d t = 0 \because \quad \frac{dw}{dt}=\nabla f\cdot \frac{d\bold r}{dt}\quad \text{and}\quad\frac{dw}{dt}=\frac{dw(x,y,z)}{dt}=\frac{C}{dt}=0 ∵dtdw=∇f⋅dtdranddtdw=dtdw(x,y,z)=dtC=0 ∴ ∇ f ⋅ d r d t = ∇ f ⋅ v = 0 \therefore\quad \nabla f\cdot \frac{d\bold r}{dt}=\nabla f\cdot \bold v=0 ∴∇f⋅dtdr=∇f⋅v=0
可以看出, v \bold v v就是等值面的切线,所以结论有梯度一定与函数等值面的切线垂直。
当提到梯度的时候,就会立即想到梯度的方向是确定的,即垂直于函数等值面的切线的。而任意方向的导数则需要对上文的推导做一些改进,这时我们放弃 w = f ( x , y , z ) = C w=f(x,y,z)=C w=f(x,y,z)=C的假设并令 r \bold r r是函数图像上任意一条曲线,也就是 d w d t ≠ 0 \frac{dw}{dt}\ \ \neq0 dtdw ̸=0。这时
d w d t = ∇ f ⋅ d r d t = ∣ ∇ f ∣ ∣ d r d t ∣ cos θ = ∣ ∇ f ∣ ∣ v ∣ cos θ \frac{dw}{dt}=\nabla f\cdot\frac{d\bold r}{dt}=|\nabla f||\frac{d\bold r}{dt}|\cos\theta=|\nabla f||\bold v|\cos\theta dtdw=∇f⋅dtdr=∣∇f∣∣dtdr∣cosθ=∣∇f∣∣v∣cosθ
又因为速度 ∣ v ∣ = d s d t |\bold v|=\frac{ds}{dt} ∣v∣=dtds,所以我们就可以得到只包含梯度和与方向向量微分的夹角 θ \theta θ 的方程:
d w d t d s d t = d w d s = ∣ ∇ f ∣ cos θ = ∇ f ⋅ u ^ < ∣ ∇ f ∣ \frac{\frac{dw}{dt}}{\frac{ds}{dt}}=\frac{dw}{ds}=|\nabla f|\cos\theta=\nabla f\cdot\bold{\widehat u}\ <\ |\nabla f| dtdsdtdw=dsdw=∣∇f∣cosθ=∇f⋅u < ∣∇f∣
其中 u \bold {u} u为曲线 r \bold r r的单位方向向量。
方向导数的准确表达式:
d w d s ∣ P 0 , u 0 = ∇ f ⋅ u \frac{dw}{ds}\big |_{P_0,\bold{u_0}}=\nabla f\cdot\bold{u} dsdw∣∣P0,u0=∇f⋅u
可以看出,方向导数是梯度向量在某一指定方向的投影,它一定小于梯度向量的大小,也就说明了函数沿梯度方向下降的最快(因为梯度包含了函数变化快慢的信息)。
与单变量微积分中定义函数的导数来求最值一样(先算出让一阶导数为0的点,再计算其二阶导数来判断是最大值还是最小值)。定义多元函数的偏导数和微分形式也是为了方便求解函数的最值,了解函数的特征。但在这一节关注的是求多元函数在没有约束条件下的最值(自变量之间是无关的)
二元二次函数的一般式为: w = a x 2 + b x y + c y 2 = y 2 ( a ( x y ) 2 + b ( x y ) + c ) w=ax^2+bxy+cy^2=y^2(a(\frac{x}{y})^2+b(\frac {x}{y})+c) w=ax2+bxy+cy2=y2(a(yx)2+b(yx)+c)其中, w x = 2 a x + b y w_x=2ax+by wx=2ax+by, w y = 2 c y + b x , A = w x x = 2 a , B = w x y = w y x = b , C = w y y = 2 c w_y=2cy+bx,A=w_{xx}=2a,\ B=w_{xy}=w_{yx}=b,\ C=w_{yy}=2c wy=2cy+bx,A=wxx=2a, B=wxy=wyx=b, C=wyy=2c
更加一般化的证明以后需要了我再补上。
2.5节是用偏导数求解当函数自变量无关的情况下函数的最值,而有些时候,函数的自变量是相关的,即在函数 w = f ( x , y , z ) w=f(x,y,z) w=f(x,y,z)满足约束条件 g ( x , y , z ) = C g(x,y,z)=C g(x,y,z)=C的前提下,最大化或最小化函数 w w w。
拉格朗日乘数法本质上是一种几何解法,让函数的等值面不断向约束条件靠近,最终两曲线相切,其梯度成倍数关系,即:
∇ f = λ ∇ g \nabla f=\lambda\nabla g ∇f=λ∇g
令 u \bold u u为沿着约束条件 g ( x , y , z ) = C g(x,y,z)=C g(x,y,z)=C 的速度方向,那么函数 w = f ( x , y , z ) w=f(x,y,z) w=f(x,y,z)取到最小值的时候它在这一方向上的方向导数必为0,即 d f d s ∣ u = ∇ f ⋅ u = 0 \frac{df}{ds}\big |_{\bold u}=\nabla f\cdot\bold u = 0 dsdf∣∣u=∇f⋅u=0
即该函数的梯度向量与该约束条件的方向向量垂直,又因为约束条件函数的梯度 ∇ g \nabla g ∇g也垂直于该方向向量,所以 ∇ f = λ ∇ g \nabla f=\lambda\nabla g ∇f=λ∇g。
需要注意的是, λ \lambda λ算出来之后并不能确定是最大值还是最小值点,需要进行额外的判断,可以代入其他的数值进行确认。
非独立变量的问题依然是基于约束条件的,求含有非独立变量的函数 w = f ( x , y , z ) w=f(x,y,z) w=f(x,y,z)在约束条件 z = g ( x , y ) z=g(x,y) z=g(x,y) 的条件下的偏导数 ( ∂ f ∂ z ) y (\frac{\partial f}{\partial z})_y (∂z∂f)y。
先明确符号表示, ( ∂ f ∂ x ) y (\frac{\partial f}{\partial x})_y (∂x∂f)y为 y y y固定下函数 f f f对于 x x x的偏导数。
标量场和矢场在物理学中非常重要。标量场就是由空间上某个点所含有的一些变量的信息转化为一个数字的函数,只有大小,没有方向(和标量的定义是一致的)常见的标量场有温度场(比如地球任意经纬度海拔高度下的一点的温度);浓度场(液体中没一点的浓度)。
通常用等高线图来描述标量场(回顾梯度与等高线图的垂直关系)
在矢量场中,空间里的每一个点都有大小和方向(和向量定义一致)。在第一章中,讲过向量函数,也就是矢量场的另一种表达方式。常见的矢量场有速度场(液体的流速),电磁场!!!!(电场和磁场,这是多变量微积分非常重要的应用!),重力场等