对于很多数学和工程问题,我们常常需要使用到梯度、散度和旋度公式,而有的时候,虽然在使用这些公式,却对他们其中的物理意义不甚清楚,这样的后果是只能对公式死记硬背,但结果还是常常忘记。这篇文章便从这三大公式的本质入手,推导它们在三大经典坐标系下的形式,授以“捕鱼”之道!
开始之前,我们先来回忆一下梯度公式的数学意义,它描述了函数在某点函数值增加最快的方向,它的模就等于函数在该点方向导数的最大值。用直观的解释就是,假设你现在位于一座山上,则这一点的梯度是在该点坡度(或者说斜度)最陡的方向,梯度的大小告诉我们坡度到底有多陡。
那么为什么梯度的方向就是函数增加最大的方向呢?证明过程十分简单:
如果\(f(x,y,z)\)在点\(P_{0}(x_{0},y_{0},z_{0})\)可微,则函数在该点任意方向的\(e_{l}\)的方向导数为\(\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\),其中\(cos\alpha、cos\beta、cos\gamma\)为\(l\)的方向余弦。
我们把上式看成两个向量点积的形式,则变为
\[\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))
\]
又因为\(|(cos\alpha,cos\beta,cos\gamma)|=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}) )|\)。要取得该最大值,就是将\(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}) )\)恰恰是该点处梯度的方向,至此,我们便证明了梯度的方向就是函数值增加最大的方向。
笛卡尔坐标系下的梯度公式
在上面的推导过程中,我们已经得到了在笛卡尔坐标系下的梯度公式:
\[\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)\)在\(\vec{e_{r}}、\vec{e_{\theta}}、\vec{e_{z}}\)方向的偏导数组成的向量,也就是\((f_{\vec{e_{r}}},f_{\vec{e_{\theta}}},f_{\vec{e_{z}}})\),接下来,我们只需推导这三个偏导数即可。
\[f_{\vec{e_{r}}} = \lim_{\bigtriangleup r->0}\frac{f+\bigtriangleup f - f}{r+\bigtriangleup r - r}=\frac{\partial f}{\partial 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}
\]
\[f_{\vec{e_{z}}} = \lim_{\bigtriangleup z->0}\frac{f+\bigtriangleup f - f}{z+\bigtriangleup z - z}=\frac{\partial f}{\partial 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}
\]
说明:梯度终究是一个由位移的偏导数组成的量,但是对\(\theta\)的偏导数并不是一个对位移的偏导数,所以其最后转化成了弧长!
球面坐标系下的梯度公式
如果你能搞懂柱面坐标下的梯度公式是怎么来的话,球面坐标系下的梯度公式也不在话下了。
\[f_{\vec{e_{r}}} = \lim_{\bigtriangleup r->0}\frac{f+\bigtriangleup f - f}{r+\bigtriangleup r - r}=\frac{\partial f}{\partial 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}
\]
\[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}
\]
这样,我们也就得到了球面坐标系下的梯度公式:
\[\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}
\]