格林函数是在边界条件或初始条件固定后,求解带源项的线性微分方程的标准工具。通俗地说,它告诉你:当系统在 ξ\xi 处受到一个单位点源作用时,会如何响应。

对于线性算子 LL,格林函数 G(x,ξ)G(x,\xi) 由下面这个点源问题定义:

LG(x,ξ)=δ(xξ)L\,G(x,\xi) = \delta(x-\xi)

这里把 xx 看作变量,并要求它满足最终解也必须满足的同样边界条件或初始条件。这里的 δ(xξ)\delta(x-\xi) 是狄拉克 delta,它是一种分布,用来表示集中在 ξ\xi 处的单位源。

如果这样的格林函数存在,并且问题是线性的,那么

Lu(x)=f(x)L\,u(x) = f(x)

的解通常可以写成

u(x)=G(x,ξ)f(ξ)dξ.u(x) = \int G(x,\xi) f(\xi)\, d\xi.

这就是核心思想:先把点源问题解一次,再把这些点响应组合起来,处理一般的源项 ff

格林函数的含义

delta 源正是这个定义有用的关键。你不是一开始就去解完整方程,而是先问:对最集中的输入,系统会怎样响应?

因此,你可以把 G(x,ξ)G(x,\xi) 理解为“在 ξ\xi 处施加一个单位脉冲后,在 xx 处产生的效果”。更复杂的源项 ff,则可以看成许多点源的连续叠加。这一步之所以成立,只是因为问题是线性的。

为什么边界条件会改变答案

格林函数并不只由微分算子决定。它属于整个问题,而不仅仅是方程本身。

例如,在区间 0<x<10<x<1 上,算子 u-u'' 配合条件 u(0)=u(1)=0u(0)=u(1)=0,其格林函数就不同于同一个算子配合 Neumann 边界条件时的格林函数。方程看起来也许一样,但允许的解变了,所以核函数也会变。

这是最常见的错误之一。除非题目已经把条件包含进去,否则并不存在某个“这个方程唯一的格林函数”。

例题:u(x)=f(x)-u''(x)=f(x) 的 Dirichlet 问题

考虑下面这个边值问题:

u(x)=f(x),0<x<1,-u''(x) = f(x), \qquad 0 < x < 1,

并满足

u(0)=0,u(1)=0.u(0)=0, \qquad u(1)=0.

对于这个具体问题,格林函数是

G(x,ξ)={x(1ξ),xξ,ξ(1x),xξ.G(x,\xi) = \begin{cases} x(1-\xi), & x \le \xi, \\ \xi(1-x), & x \ge \xi. \end{cases}

它关于 xx 是连续的,在 x=0x=0x=1x=1 处为零,并且它的一阶导数在 x=ξx=\xi 处具有正确的跳跃。正是这个跳跃,使得方程 G(x,ξ)=δ(xξ)-G''(x,\xi)=\delta(x-\xi) 中出现了 delta 源。

一旦这个核函数已知,对于同一个边值问题的任意源项,都可以使用同一个公式:

u(x)=01G(x,ξ)f(ξ)dξ.u(x)=\int_0^1 G(x,\xi) f(\xi)\, d\xi.

取一个简单的源项:

f(x)=1.f(x)=1.

那么

u(x)=01G(x,ξ)dξ=0xξ(1x)dξ+x1x(1ξ)dξ.u(x)=\int_0^1 G(x,\xi)\, d\xi = \int_0^x \xi(1-x)\, d\xi + \int_x^1 x(1-\xi)\, d\xi.

分别计算两部分:

0xξ(1x)dξ=(1x)x22,\int_0^x \xi(1-x)\, d\xi = (1-x)\frac{x^2}{2}, x1x(1ξ)dξ=x(1x)22.\int_x^1 x(1-\xi)\, d\xi = x\frac{(1-x)^2}{2}.

把它们相加,得到

u(x)=x(1x)2.u(x)=\frac{x(1-x)}{2}.

快速检验一下:

u(x)=12x2,u(x)=1,u'(x)=\frac{1-2x}{2}, \qquad u''(x)=-1,

所以

u(x)=1=f(x),-u''(x)=1=f(x),

而边界值为

u(0)=0,u(1)=0.u(0)=0, \qquad u(1)=0.

这个例子清楚地展示了格林函数方法的价值。你不需要对每个新的 ff 都重新搭建方法;核函数保持不变,只需要改变积分中的源项。

格林函数的常见错误

  1. 误以为格林函数对非线性问题也能以同样方式使用。叠加这一步依赖于线性性。
  2. 忘记边界条件或初始条件本身就是定义的一部分。
  3. 认为核函数一定是对称的。对称性通常需要额外结构,例如合适的自伴设定。
  4. 把格林函数和基本解混为一谈。它们关系很近,但并不总是同一个对象。
  5. 没有先确认该问题的格林函数是否存在,就直接套用积分公式。

格林函数用在哪里

只要线性常微分方程或偏微分方程中出现源项,格林函数就会出现。它在静电学、扩散问题、波动问题、量子力学和弹性理论中都很常见。

在线性时不变系统中,它也与冲激响应密切相关。不同学科的说法可能不同,但核心思想相似:先理解系统对一个集中输入的响应,再由此构造对一般输入的响应。

一个快速记忆的方法

如果你忘了正式定义,可以记住这一句:

Green’s function=对单个点源的响应.\text{Green's function} = \text{对单个点源的响应}.

然后,完整解就是把定义域中所有点源响应加总起来,而这正是积分所做的事情。

试试一个类似的源项

保持相同的边界条件,但把 f(x)=1f(x)=1 换成 f(x)=xf(x)=x。核函数保持不变,变化的只有最后那个积分:

u(x)=01G(x,ξ)ξdξ.u(x)=\int_0^1 G(x,\xi)\,\xi\, d\xi.

这是一个很好的下一步练习,因为它能把两个变化部分清楚地区分开:格林函数属于问题设定本身,而源项则可以因题而异。如果你想继续练习,可以自己换一个源项,并检查所得积分结果是否满足边界条件。

需要解题帮助?

上传你的问题,几秒钟内获得经过验证的分步解答。

打开 GPAI Solver →