对于很多数学和工程问题,我们常常需要使用到梯度、散度和旋度公式,而有的时候,虽然在使用这些公式,却对他们其中的物理意义不甚清楚,这样的后果是只能对公式死记硬背,但结果还是常常忘记。这篇文章便从这三大公式的本质入手,推导它们在三大经典坐标系下的形式,授以“捕鱼”之道!
开始之前,我们先来回忆一下梯度公式的数学意义,它描述了函数在某点函数值增加最快的方向,它的模就等于函数在该点方向导数的最大值。用直观的解释就是,假设你现在位于一座山上,则这一点的梯度是在该点坡度(或者说斜度)最陡的方向,梯度的大小告诉我们坡度到底有多陡。
那么为什么梯度的方向就是函数增加最大的方向呢?证明过程十分简单:
如果 f ( x , y , z ) f(x,y,z) f(x,y,z)在点 P 0 ( x 0 , y 0 , z 0 ) P_{0}(x_{0},y_{0},z_{0}) P0(x0,y0,z0)可微,则函数在该点任意方向的 e l e_{l} el的方向导数为 ∂ f ∂ l ∣ ( x 0 , y 0 , z 0 ) = f x ( x 0 , y 0 , z 0 ) c o s α + f y ( x 0 , y 0 , z 0 ) c o s β + f z ( x 0 , y 0 , z 0 ) c o s γ \frac{\partial f}{\partial l}|_{(x_{0},y_{0},z_{0})}=f_{x}(x_{0},y_{0},z_{0})cos\alpha + f_{y}(x_{0},y_{0},z_{0})cos\beta + f_{z}(x_{0},y_{0},z_{0})cos\gamma ∂l∂f∣(x0,y0,z0)=fx(x0,y0,z0)cosα+fy(x0,y0,z0)cosβ+fz(x0,y0,z0)cosγ,其中 c o s α 、 c o s β 、 c o s γ cos\alpha、cos\beta、cos\gamma cosα、cosβ、cosγ为 l l l的方向余弦。
我们把上式看成两个向量点积的形式,则变为 ∂ f ∂ l ∣ ( x 0 , y 0 , z 0 ) = ( f x ( x 0 , y 0 , z 0 ) , f y ( x 0 , y 0 , z 0 ) , f z ( x 0 , y 0 , z 0 ) ) ⋅ ( c o s α , c o s β , c o s γ ) ) \frac{\partial f}{\partial l}|_{(x_{0},y_{0},z_{0})}=(f_{x}(x_{0},y_{0},z_{0}),f_{y}(x_{0},y_{0},z_{0}),f_{z}(x_{0},y_{0},z_{0}) )\cdot(cos\alpha,cos\beta,cos\gamma)) ∂l∂f∣(x0,y0,z0)=(fx(x0,y0,z0),fy(x0,y0,z0),fz(x0,y0,z0))⋅(cosα,cosβ,cosγ))
又因为 ∣ ( c o s α , c o s β , c o s γ ) ∣ = 1 |(cos\alpha,cos\beta,cos\gamma)|=1 ∣(cosα,cosβ,cosγ)∣=1,所以,上面那个方向导数的最大值就是 ∣ ( f x ( x 0 , y 0 , z 0 ) , f y ( x 0 , y 0 , z 0 ) , f z ( x 0 , y 0 , z 0 ) ) ∣ |(f_{x}(x_{0},y_{0},z_{0}),f_{y}(x_{0},y_{0},z_{0}),f_{z}(x_{0},y_{0},z_{0}) )| ∣(fx(x0,y0,z0),fy(x0,y0,z0),fz(x0,y0,z0))∣。要取得该最大值,就是将 l l l的方向取成向量 ( f x ( x 0 , y 0 , z 0 ) , f y ( x 0 , y 0 , z 0 ) , f z ( x 0 , y 0 , z 0 ) ) (f_{x}(x_{0},y_{0},z_{0}),f_{y}(x_{0},y_{0},z_{0}),f_{z}(x_{0},y_{0},z_{0}) ) (fx(x0,y0,z0),fy(x0,y0,z0),fz(x0,y0,z0))的方向,而 ( f x ( x 0 , y 0 , z 0 ) , f y ( x 0 , y 0 , z 0 ) , f z ( x 0 , y 0 , z 0 ) ) (f_{x}(x_{0},y_{0},z_{0}),f_{y}(x_{0},y_{0},z_{0}),f_{z}(x_{0},y_{0},z_{0}) ) (fx(x0,y0,z0),fy(x0,y0,z0),fz(x0,y0,z0))恰恰是该点处梯度的方向,至此,我们便证明了梯度的方向就是函数值增加最大的方向。
在上面的推导过程中,我们已经得到了在笛卡尔坐标系下的梯度公式: ▽ f ( x , y , z ) = ∂ f ∂ x i ⃗ + ∂ f ∂ y j ⃗ + ∂ f ∂ z k ⃗ \bigtriangledown f(x,y,z)=\frac{\partial f}{\partial x}\vec{i}+\frac{\partial f}{\partial y}\vec{j}+\frac{\partial f}{\partial z}\vec{k} ▽f(x,y,z)=∂x∂fi+∂y∂fj+∂z∂fk
柱面坐标系也是正交坐标系,可以看成是笛卡尔坐标系在空间重旋转了一个角度得到的,根据笛卡尔坐标系下梯度公式的推导,我们可以很自然地想到柱面坐标系下的梯度就是 f ( x , y , z ) f(x,y,z) f(x,y,z)在 e r ⃗ 、 e θ ⃗ 、 e z ⃗ \vec{e_{r}}、\vec{e_{\theta}}、\vec{e_{z}} er、eθ、ez方向的偏导数组成的向量,也就是 ( f e r ⃗ , f e θ ⃗ , f e z ⃗ ) (f_{\vec{e_{r}}},f_{\vec{e_{\theta}}},f_{\vec{e_{z}}}) (fer,feθ,fez),接下来,我们只需推导这三个偏导数即可。
f e r ⃗ = lim △ r − > 0 f + △ f − f r + △ r − r = ∂ f ∂ r f_{\vec{e_{r}}} = \lim_{\bigtriangleup r->0}\frac{f+\bigtriangleup f - f}{r+\bigtriangleup r - r}=\frac{\partial f}{\partial r} fer=△r−>0limr+△r−rf+△f−f=∂r∂f
f e θ ⃗ = lim △ θ − > 0 f + △ f − f r ( θ + △ θ ) − r θ = ∂ f r ∂ θ f_{\vec{e_{\theta}}} = \lim_{\bigtriangleup \theta->0}\frac{f+\bigtriangleup f - f}{r(\theta+\bigtriangleup\theta) -r\theta}=\frac{\partial f}{r\partial \theta} feθ=△θ−>0limr(θ+△θ)−rθf+△f−f=r∂θ∂f
f e z ⃗ = lim △ z − > 0 f + △ f − f z + △ z − z = ∂ f ∂ z f_{\vec{e_{z}}} = \lim_{\bigtriangleup z->0}\frac{f+\bigtriangleup f - f}{z+\bigtriangleup z - z}=\frac{\partial f}{\partial z} fez=△z−>0limz+△z−zf+△f−f=∂z∂f
于是,我们便得到了柱面坐标下的梯度公式: ▽ f ( r , θ , z ) = ∂ f ∂ r e r ⃗ + ∂ f r ∂ θ r θ ⃗ + ∂ f ∂ z e z ⃗ \bigtriangledown f(r,\theta,z)=\frac{\partial f}{\partial r}\vec{e_r}+\frac{\partial f}{r\partial \theta}\vec{r_\theta}+\frac{\partial f}{\partial z}\vec{e_z} ▽f(r,θ,z)=∂r∂fer+r∂θ∂frθ+∂z∂fez
说明:梯度终究是一个由位移的偏导数组成的量,但是对 θ \theta θ的偏导数并不是一个对位移的偏导数,所以其最后转化成了弧长!
如果你能搞懂柱面坐标下的梯度公式是怎么来的话,球面坐标系下的梯度公式也不在话下了。
f e r ⃗ = lim △ r − > 0 f + △ f − f r + △ r − r = ∂ f ∂ r f_{\vec{e_{r}}} = \lim_{\bigtriangleup r->0}\frac{f+\bigtriangleup f - f}{r+\bigtriangleup r - r}=\frac{\partial f}{\partial r} fer=△r−>0limr+△r−rf+△f−f=∂r∂f
f e θ ⃗ = lim △ θ − > 0 f + △ f − f r ( θ + △ θ ) − r θ = ∂ f r ∂ θ f_{\vec{e_{\theta}}} = \lim_{\bigtriangleup \theta->0}\frac{f+\bigtriangleup f - f}{r(\theta+\bigtriangleup\theta) -r\theta}=\frac{\partial f}{r\partial \theta} feθ=△θ−>0limr(θ+△θ)−rθf+△f−f=r∂θ∂f
f e ϕ ⃗ = lim △ ϕ − > 0 f + △ f − f r s i n θ ( ϕ + △ ϕ ) − r s i n θ ϕ = ∂ f r s i n θ ∂ ϕ f_{\vec{e_{\phi}}} = \lim_{\bigtriangleup \phi->0}\frac{f+\bigtriangleup f - f}{rsin\theta(\phi+\bigtriangleup \phi) - rsin\theta\phi}=\frac{\partial f}{rsin\theta\partial \phi} feϕ=△ϕ−>0limrsinθ(ϕ+△ϕ)−rsinθϕf+△f−f=rsinθ∂ϕ∂f
这样,我们也就得到了球面坐标系下的梯度公式:
▽ f ( r , θ , ϕ ) = ∂ f ∂ r e r ⃗ + ∂ f r ∂ θ r θ ⃗ + ∂ f r s i n θ ∂ ϕ e ϕ ⃗ \bigtriangledown f(r,\theta,\phi)=\frac{\partial f}{\partial r}\vec{e_r}+\frac{\partial f}{r\partial \theta}\vec{r_\theta}+\frac{\partial f}{rsin\theta\partial \phi}\vec{e_\phi} ▽f(r,θ,ϕ)=∂r∂fer+r∂θ∂frθ+rsinθ∂ϕ∂feϕ