如果矩阵U由函数u(x,y)在方形网格点上的计算值组成,则4del2(U)为u的拉普拉斯算子的有限差分近似,即内部有
\[l=\frac{{\nabla}^{2}u}{4}=\frac{1}{4}\left( \frac{{d}^{2}u}{d{x}^{2}}+\frac{{d}^{2}u}{d{y}^{2}} \right)\]
其中
\[{l}_{ij}=\frac{1}{4}({u}_{i+1,j}+{u}_{i-1,j}+{u}_{i,j+1}+{u}_{i,j-1})-{u}_{i}\]
在边上,可以用同样的公式进行3次外推。
对于有更多变量的函数u(x,y,z,…),del2(U)可用下式近似:
\[l=\frac{{\nabla}^{2}u}{2N}=\frac{1}{2N}\left( \frac{{d}^{2}u}{d{x}^{2}}+\frac{{d}^{2}u}{d{y}^{2}}+\frac{{d}^{2}u}{d{z}^{2}}+... \right)\]
其中,N为u中的变量个数。
使用del2函数可以实现中心差分。该函数的函数格式如下。
L=del2(U):这里U为矩形数组,为下式的离散近似:
\[l=\frac{{\nabla}^{2}u}{4}=\frac{1}{4}\left( \frac{{d}^{2}u}{d{x}^{2}}+\frac{{d}^{2}u}{d{y}^{2}} \right)\]
矩阵L与U的大小相同,每个元素的值等于U的对应元素值与其周围4个相邻元素平均值的差。
-L=del2(U):当U为多维数组时,返回下式的近似
\[\frac{{\nabla}^{2}u}{2N}\]
其中N为ndims(u)。
L=del2(U,h):h为标量,表示每个方向的点间隔。默认时h=1。
L=del2(U,hx,hy):U是一个矩形数组,使用hx和hy指定的间隔。如果hx为标量,则给定x方向的点间隔。如果hx为向量,则它的长度必须为size(u,2),并且指定点的x坐标。类似地,如果hy为标量,则给定y方向的点间隔。如果hy为向量,则它的长度必须为size(u,1),并指定点的y坐标。
L=del2(U,hx,hy,hz,…):U是多维的,使用hx,hy,hz等指定不同方向上的间隔。
【例20】
对于下面的函数\(u(x,y)={x}^{2}+{y}^{2}\)有\({\nabla}^{2}u=4\)。
对于该函数,4*del2(U)的结果也是4,例如
code.matlab
>> [x,y] = meshgrid(-4:4,-3:3);
>> U = x.*x+y.*y
U =
25 18 13 10 9 10 13 18 25
20 13 8 5 4 5 8 13 20
17 10 5 2 1 2 5 10 17
16 9 4 1 0 1 4 9 16
17 10 5 2 1 2 5 10 17
20 13 8 5 4 5 8 13 20
25 18 13 10 9 10 13 18 25
>> V = 4*del2(U)
V =
4 4 4 4 4 4 4 4 4
4 4 4 4 4 4 4 4 4
4 4 4 4 4 4 4 4 4
4 4 4 4 4 4 4 4 4
4 4 4 4 4 4 4 4 4
4 4 4 4 4 4 4 4 4
4 4 4 4 4 4 4 4 4