思想海洋的远航分享 http://blog.sciencenet.cn/u/xying 系统科学与数学水手札记

博文

狄拉克δ函数应用的迷思 精选

已有 20222 次阅读 2015-6-12 08:06 |个人分类:科普|系统分类:科普集锦| 工程, 应用数学, 电路

理工科学生都知道狄拉克δ(x) 函数。作为解决实际问题的数学模型,它基本有两种用法。一是类比于分布函数,把所有权重集中在一点,用积分来抽取与之相乘的函数在这点函数值。狄拉克在获取连续谱波函数分解系数时,以此来与离散谱的计算保持形式和直观上的统一。傅立叶变换与傅立叶级数分析的类比即是如此。另一,常用在工程中,称为单位脉冲函数,作为简化计算的近似数学模型,计算系统在极短时间内供应了总量后的状态变化。前者模型关心极限处的性质,用有穷的此岸推测无穷彼岸中的表现,后者用极限来近似现实中瞬间作用后的状态。这两种应用的模型很容易转换地想象,互相解读,非常直观。

$\delta(t)= \right\displaystyle \left\{\begin{matrix} + \infty &\mbox{if} & t=0 \\ 0& \mbox{if} & t\neq 0\end{matrix}\right$    和     $\int_{-\infty}^{\infty}\delta(t)dt = 1$

这是人们通常了解δ函数的基本性质。上篇《狄拉克δ函数的数学迷思》里谈过,在严格数学意义上,δ函数不是数域到数域的函数,而是个定义在函数空间上的泛函。上面的两个公式不是δ函数的真正定义,前者只是它在函数对偶空间以参数为变量的范数值函数,或看作单位脉冲函数极限情况的性质;后者则是对常值1函数积分内积的泛函值。它们都不足以确定广义函数,只是部分性质的描述。真正能够反映泛函功能的定义应该是:

$\int_{-\infty}^\infty f(t)\delta(t-s)dt = f(s) \;\;\;\forall f\in C^0(R)$

从δ(x) 函数容易推出一些初等性质,如缩放、对称、平移、线性、代数、微分等等,也有许多典型用法的范例,物理和工程学生多已熟知。有这些知识后,在绝大多数情况可以忘却数学上泛函的定义,以上述δ函数基本性质为数学模型,只用到初等代数运算和微积分的基本概念,便能让物理学者和工程师不需要解微分方程,凭借直观推理得出许多问题的答案。

学了更多数学知识的人会以为,用这个只需要初等数学的工具解题,应该不是件难事。其实,按数学从定义开始的严格推理,与应用者拥有许多已知实例和模式来直观推算,是两种不同的才能。就像程序员自始至终独立开发软件,与在所知甚少已有的大程序中纠错扩展,这是两种不同的技能。

物理学者和工程师的基本功是直观想象,用一个个可以清晰想象的概念作为思考的砖块,被验证或证明成立的事实和理论作为构件,典型模式作为算法结构,通过逐步的推测来理解事物,以此构建心中世界的图像。在这过程中,累积了大量的实例、推理模式和抽象规律。应用起来左右逢源,不再纠结于长考。凡对所学没有清晰图像的人,书没读通,更无把握应用和研究。

现在将δ函数的一个应用为例,挖掘工程师知其然背后的所以然。也以此说明,对工程师们都能轻松解的题,缺乏经验即使更有数学知识,却会在深思中迷惑。

下面是清华大学的电路原理课一道题(图例抄自课文),在几个论坛里,就见过电机、物理和数学大学生和教授,对电阻R上的初始电流 $i_R(0)$ 值的解题争议。吵什么呢?

对工科生都不难推算如下。这个脉冲电源供给的电量 Q 1mC(题中没给出单位,毫库仑是对电子电路合理的量级),在极短的瞬间加在1mF电容后,产生的电压是 U= 1mC/1mF = 1V,这电压加在电阻 R=1kΩ 上的电流是 IR(0) = U/R = 1V/1kΩ= 1mA,经过1RC电路放电后,电流是 IR(1)= IR(0)exp(-1/RC) = 0.368mA. 这不过是考RC线路电流和电学单位而已。

详细点写出公式和推理过程。电量是电流在时间区间上的积分。在脉冲源供电时,这瞬间,电源上所有的电量 Q 都到了电容。按电容上电压与电量的关系,这时电容C两端的电压是 $Q/C$。与之并联的电阻有相等的电压,所以电流 $i_R(0)=Q/RC$。当 $t > 0$ 时,脉冲电源不再供电了,这是典型的电容通过电阻的放电过程,已有熟知的公式:$ i_R(t)  = i_R(0)\exp(-\frac{t}{RC})$。套入数值便得到答案。

对爱思考的人,质疑来了。针对这个推理过程中δ函数作用,凭什么脉冲电源中所有电量都到电容里,去电阻的只有0

答:供电时,因为持续时间极短,在这无穷小的瞬间,通过电阻的电量为0.

又问:这只有现实中通过电阻的电流 $i_R(0)$ 是有限情况才对呀!既然电源的电流δ(0)可以是无穷大,在这假定的极端情况,为什么 $i_R(0)$ 不能也是无穷大?

这就需要用电压等式来进一步解释。如果 $i_R(0)$ 是无穷大,则电阻和与之并联电容上的电压也是无穷大。这只有电容上的电量也是无穷大才有可能,而已知的电源总电量是1,矛盾排除了这个可能。所以 $i_R(0)$ 必须是个有界的数,不论是多少,这个瞬间流过电阻的电量都是 0。所以说,电源中所有的电量,在无穷大电流下一瞬间都给了电容。当然,实际电路上的电流不可能是无穷大,也没有供电区间为 0 的δ函数电源,但上述的分析推算,不难看出是一个很好的近似,当供电区间非常小时,脉冲电源的电量几乎全到了电容上。在极限情况则全部是了。

既然质疑这 $i_R(0)$ 的数值,我们最好验算一下。这关于电压电流均衡状态的数值,最好用方程来说明。在电源充电的瞬间,根据电流和电压公式,分别有:

$i_R(t)+i_C(t)=\delta(t)\;\;\;(1)$                 $i_R(0+)R=\frac{1}{C}\int_{0-}^{0+}i_C(t)dt\;\;\;(2)$

将式(1)在[0-, 0+]区间(0的无穷小邻域)积分,代人(2)式后有 $\int_{0-}^{0+}i_R(t)dt+i_R(0+)RC =1$ ,便得到 $i_R(0+)=1/RC$ ,这与工科生的算术推理完全一样。

有人再较真这电容的瞬间充电过程。一说是电容在开始充电的瞬间形同短路,它上面的电压是 0,所以电阻上的电流也应该是 0 才对。而上面认为,这电压不是 0,是电容上被脉冲电源瞬间建立起的电压,因此电阻上的电流必须是上面的计算数值。也有的说,这该是你们说的两数中间值。

到底哪个对呢?其实各有道理,一个着眼于电源开始供电的时刻,另一反映了供电完成时刻,还有的在中间。将这供电的瞬间从 0 拉长为实际的区间,在开始供电的过程中,电阻上的电流随着电容充电建立起电压,从 0 开始上升直到最大。在电源停止供电后,才从最高点按指数函数下落。δ(t) 函数是将这个脉冲电源供电区间收缩为一个点的极限情况,所以在这个时间点上,电阻上电流的数值可以是从 0 1/RC 区间中某个数值,依它是从脉冲函数的什么相位来看而定。

认真地用数学证明方式验算一下,假设电源供给矩形脉冲电流是:$H_{h,k}(t)$,这里 h 是脉冲时间区间的宽度,k 是在 0 到 1 中的一个时间相位值,我们来看在这供电区间电阻上的电流是多少。

                        $H_{h,k}(t) = \right\displaystyle \left\{\begin{matrix} 0 &\mbox{if} & t<-kh \\ 1/h & \mbox{if} & -kh \le t \le (1-k)h \\ 0 & \mbox{if} & t > (1-k)h \end{matrix}\right$

这个矩形电流脉冲的宽度是 h 高为 1/h,所以总电量是 1,脉冲从 $–kh$ 时刻开始,  $0\le k\le 1$。不难列出这电路上在电阻电流 $i_R(t)$ 的微分方程

$\frac{d }{d t}i_R(t)+\frac{1}{RC}i_R(t)=\frac{1}{RC}H_{h,k}(t)$  它的解在 $-kh \le t \le(1-k)h$ 区间是:

$i_R(t) = \frac{1}{h}(1-\exp(-\frac{t+kh}{RC}))$  我们有 $i_R(0) =\frac{1}{h}(1-\exp(-\frac{kh}{RC}))$

当脉冲宽度趋向 $h \rightarrow0$ 时,矩形电流脉冲函数 $H_{h,k}(t) \rightarrow \delta(t)$,这时有: $i_R(0) =\frac{k}{RC}$k 0 1 中的一个数,所以依 0 点在脉冲电流源的相位,$i_R(0)$,可以是 0 1/RC 中的某个数值。

再回到极限前的情况,注意到在 0 点矩形电流脉冲并没有结束供电,供电结束是在 $t=(1-k)h$ 时刻,这时电阻上的电流是:

$i_R((1-k)h)) = \frac{1}{h}(1-\exp(-\frac{h}{RC}))$

当脉冲宽度趋向 $h \rightarrow0$  时,电流脉冲 $H_{h,k} f(t) \rightarrow \delta(t)$,供电结束时间 $t=(1-k)h  \rightarrow0$,记为 0+,在这时刻 $i_R(0_+) = \frac{1}{RC}$,可以证明,这对于无论什么样的脉冲电流源理想化成δ函数都是一样的。

数学上 $i_R(t)$ 0 点是个函数值从 0 跳跃到 1/RC 的间断点,作为这点的定义值,它具体是哪个数值,对工程应用并没有什么意义,而右极限 $i_R(0_+)$ 的数值,是脉冲电源供电后决定后续变化的初值。所以在应用上不再区分00+,认为 $i_R(0)=i_R(0_+)$。在脉冲电源供电期间,通过电阻的电量是它上面的电流对这段时间区间的积分,不难算出当 h 很小时约等于 $h/(2RC)$,以致在极端情况可以忽略。这时所有的电量可以看作都加在电容上。

这便是对这种应用模式的工科计算,穷究到底的数学依据。在分析δ(x) 函数作为动力源的工程系统中,有了可以模仿的范例后,工科生都会很自然地认为它所带来的总量在 $t = 0$ 时刻,可以完成对电容的全部赋予,用直观的算术推理便能得出答案,而不必重覆细究这应用模式的细节证明。

在这里我们可以看出数学和应用者的解法不同。物理和工程的思考如同算术的计算,套用各种熟知的模式,推理直观明朗,至于无实用价值的细节,则不予深究。而数学思考出发于严格的定义,犹如代数的计算,将具体的问题归纳为抽象问题,或再把抽象问题转化成从另一种的抽象,精确分析引用已被证明过的答案,过程严谨冷峻,摒除想象的误导。在上面的分析中,对δ函数,我们只用到不被认为是“定义”的部分性质作为推理的根据,即使在计算中也只把它当作近似中的极端情况,丝毫没有作为泛函来处理。因为在这个工程应用中,我们关心的是现实系统近似的表现,由于极端情况下的性质易于估算,我们以此来简化计算。

如果满足于在工程和教学中的计算应用,你在校所受到的数学训练是足够了。那些都是专业中的前辈,为后辈挑选出来基本的数学工具,也提供了便于仿效的简化计算推理的范例,它们的正确性已经被数学证明和实践检验过,你只要知其然,认真仿效便足以谋生。如果你不满足于此,想知其所以然,还想有所创新,你就要有更深邃的数学眼光。

另一方面,学好数学并不见的就懂得应用。这必须接地气,对应用对象有真实的感觉和经验,才能用虚拟世界里的想象,指引现实天空下的飞翔。



https://blog.sciencenet.cn/blog-826653-897336.html

上一篇:狄拉克δ函数的数学迷思
下一篇:工程应用狄拉克δ函数的模型问题
收藏 IP: 50.156.25.*| 热度|

30 马磊 刘全慧 魏焱明 马德义 赵继慧 苏力宏 郭年 王春艳 孟凡 张江敏 田云川 石胜利 李伟钢 李宇斌 赵美娣 文克玲 黄永义 王国强 张天蓉 韦玉程 张云 徐晓 shenlu icgwang yangb919 zjzhaokeqin lrx changtg xuexiyanjiu xqhuang

该博文允许注册用户评论 请点击登录 评论 (37 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-20 00:37

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部