此示例示出了如何解决上的L形区域拉普拉斯算子的特征值问题。
考虑一个固定在边界上的膜 一个区域的 在平面上。它的位移 由本征值问题描述 ,其中 是拉普拉斯算子吗 是一个标量参数。边界条件 对所有人 。
拉普拉斯算子是自伴和负定的,也就是说,只有实的负特征值 存在。存在一个极大的(负的)离散特征值,对应的特征函数 被称为基态。在这个例子中, 为l形区域,与此区域相关的基态为l形膜,即MATLAB®徽标。
以特征值问题的最简单的方法是近似拉普拉斯
由有限差分近似(一模版)在一个由点和距离构成的正方形网格上hx
在
方向和距离沪元
在
方向。在这个例子中,是近似值
用一笔S_H
围绕中点9个规则的网格点
。未知数就是权重
。
SYMSU(X,Y)每股收益A11A10A1_1A01A00a0_1a_11a_10a_1_1SYMShx沪元正S_H = a_11 * U(X - 每股收益* HX,Y +每股收益* HY)+...A01 * U(X,Y +每股收益* HY)+...A11 * U(X +每股收益* HX,Y +每股收益* HY)+...a_10 * U(X - 每股收益* HX,Y)+...A00 * U(X,Y)+...A10 * U(X +每股收益* HX,Y)+...a_1_1 * U(X - 每股收益* HX,Y - 每股收益* HY)+...a0_1 * U(X,Y - 每股收益* HY)+...A1_1 * U(X +每股收益* HX,Y - 每股收益* HY);
使用象征性的参数每股收益
排序这个表达式的由权力膨胀hx
和沪元
。知道了权值,您就可以通过设置来近似拉普拉斯行列式EPS = 1
。
T =泰勒(S_H,EPS,'订购'7);
使用多项式系数
函数的作用是:提取幂次相同的项的系数每股收益
。每个系数都是幂的表达式hx
,沪元
,以及u
关于
和
。自S_H
代表
的所有其他导数的系数u
必须为零。通过替换的所有衍生提取的系数u
,除了
和
,0。取代
和
1。这就把泰勒展开式化为你想要计算的系数,从而得到下面六个线性方程。
C =式(coeffs(吨,EPS,“所有”));EQ0 =潜艇(C(7)中,u(X,Y),1)== 0;eq11 =潜艇(C(6),[DIFF(U,X),DIFF(U,Y)],[1,0])== 0;eq12 =潜艇(C(6),[DIFF(U,X),DIFF(U,Y)],[0,1])== 0;EQ21 =潜艇(C(5),[DIFF(U,X,X),DIFF(U,X,Y),DIFF(U,Y,Y)],[1,0,0])== 1;eq22 =潜艇(C(5),[DIFF(U,X,X),DIFF(U,X,Y),DIFF(U,Y,Y)],[0,1,0])== 0;eq23 =潜艇(C(5),[DIFF(U,X,X),DIFF(U,X,Y),DIFF(U,Y,Y)],[0,0,1])== 1;
由于有九个未知的权重S_H
,要求所有的三阶导数u
都是0。
eq31 =潜艇(C(4),[DIFF(U,X,X,X),DIFF(U,X,X,Y),DIFF(U,X,Y,Y),DIFF(U,Y,Y,Y)],[1,0,0,0])== 0;eq32 =潜艇(C(4),[DIFF(U,X,X,X),DIFF(U,X,X,Y),DIFF(U,X,Y,Y),DIFF(U,Y,Y,Y)],[0,1,0,0])== 0;eq33 =潜艇(C(4),[DIFF(U,X,X,X),DIFF(U,X,X,Y),DIFF(U,X,Y,Y),DIFF(U,Y,Y,Y)],[0,0,1,0])== 0;eq34 =潜艇(C(4),[DIFF(U,X,X,X),DIFF(U,X,X,Y),DIFF(U,X,Y,Y),DIFF(U,Y,Y,Y)],[0,0,0,1])== 0;
解决为九点未知的权重产生的10式。使用ReturnConditions
求出包括任意参数在内的所金宝搏官方网站有解。
[A11,A10,A1_1,A01,A00,a0_1,a_11,a_10,a_1_1,参数,条件] =...解决([EQ0,eq11,eq12,EQ21,eq22,eq23,eq31,eq32,eq33,eq34]...[A11,A10,A1_1,A01,A00,a0_1,a_11,a_10,a_1_1]...'ReturnConditions',真正);扩大([a_11,A01,A11;...a_10,A00,A01;...a1_1、a0_1 a_1_1])
ans =
参数
参数=
使用潜艇
函数以其计算值替换权重。
C =简化(潜艇(C));
的表情C(7)
,C(6)
和C(4)
包含的0阶,1阶和3阶导数u
消失。
[C(7),C(6),C(4)]
ans =
表达方式C(5)
是的拉普拉斯u
。
C(5)
ans =
因此,使用上面计算的权重值,模板S_H
接近拉普拉斯高达秩序hx ^ 2
,hy ^ 2
对于任意参数的任意值z
,前提是z
被选为有秩序的O(1 / HX ^ 2,1 / HY ^ 2)
。
尽管解决方案包含一个自由参数z
,该表达式C(3)
含的第四阶导数u
不能由适当选择变成零z
。另一种选择是把它变成拉普拉斯算子的平方的倍数。
SYMSd拉普拉斯= @(u)拉普拉斯(u,[x,y]);扩大(d *拉普拉斯(拉普拉斯(u)))
ANS(X,Y)=
挑的不同衍生物u
在C(3)
,并使它们的系数与相应的项相等。
潜艇(C (3), [diff (u, x, x, x, x), diff (u, x, x, y, y), diff (u, y, y, y, y)], [1, 0, 0)) = = d
ans =
潜艇(C(3),[DIFF(U,X,X,X,X),DIFF(U,X,X,Y,Y),DIFF(U,Y,Y,Y,Y)],[0,1,0])== 2 * d
ans =
潜艇(C(3),[DIFF(U,X,X,X,X),DIFF(U,X,X,Y,Y),DIFF(U,Y,Y,Y,Y)],[0,0,1])== d
ans =
因此,你可以选择d = HX ^ 2/12 = HY ^ 2/12
和z = 2 * d / (hx hy ^ ^ 2 * 2)
,这意味着hx =沪元
和Z = 1 /(6 * * HX HY)
。因此,模板S_H
近似于改进的拉普拉斯上的正方形格子HX = HY = H
。
SYMShhx = h;hy = h;d = h ^ 2/12;
取代hx
和沪元
通过h
。
C =潜艇(C);
取代z
通过它的价值,1 /(6 * H ^ 2)
。因为z
不存在于MATLAB®工作空间中,您只能将其作为值存储在参数
数组中。
C =潜艇(C,参数,1 /(6 * H ^ 2));
验证式(1)。
简化(C(3) - d *拉普拉斯(拉普拉斯(U)))
ANS(X,Y)=
现在,考虑第三阶项hx
,沪元
。
简化(C (2))
ans =
由于在模版的膨胀不存在这样的术语中,术语 in(1)实际上是有序的 。考虑模具的第四阶术语。
因子(简化(C (1)))
ans =
检查这些条款可与拉普拉斯算子的又一力量来识别。然而,与比较
拉普拉斯(拉普拉斯(拉普拉斯(u)))
ANS(X,Y)=
表示的是有序的表达式 不能被认定为拉普拉斯算子的第三功率的某个倍数,因为系数不能匹配。
对于方形网格的距离h
在相邻的网格点与上述权值的选择之间,得到:
使用这个扩展的数值方法特征值问题 。加上某个倍数 到特征值方程。
这个等式的左边用模板很好地近似了 。因此,使用(2),一个数值特征值 令人满意的模板 一定是特征值的近似值吗 拉普拉斯算子与
对于给定 ,解决 获得的拉普拉斯特征值的更好近似。需要注意的是,在二次方程式的解 平方根的正确的符号是由要求,即给定的 为 。
考虑一个l形区域 由三个单位正方形。
定义区域角的坐标值。
XMIN = -1;XMAX = 1;YMIN = -1;YMAX = 1;
考虑一个正方形网格组成的奇数的NX = 2 * NX-1
在网格点x
方向和奇数NY = 2 * NY-1
在网格点y
方向。
nx = 6;Nx = 2 * nx-1;hx = (xmax-xmin) / (Nx-1);纽约= 6;纽约= 2 * ny-1;hy = (ymax-ymin) / (Ny-1);
创建尹恩惠
-通过-NX
符号矩阵
。它的条目u (i, j)
代表的值u(xmin + (j - 1)*hx,ymin + (i - 1)*hy)
该解决方案的U(X,Y)
特征值问题
。
U =符号(“u”(纽约Nx]);
的边界 对应于以下指标:
左边界对应(i = 1:Ny, j = 1)
。
下边界对应于(I = 1,J = 1:NX)
。
右边界对应于(i = 1:ny, j = Nx)
和(i = ny: ny, j = nx)
。
上边界对应于(I = NY,J = 1:NX)
和(i = ny, j = nx: nx)
。
U(:,1)= 0;%左边界u (1) = 0;%下边界U(1:NY,NX)= 0;右上边界u(纽约:纽约,nx) = 0;右边界,下半部分U(NY,1:NX)= 0;%上边界,左部U(NY中,nx:NX)= 0;%上边界,右部
该地区与
和
不属于
。设置相应的矩阵项(ⅰ= ny的+ 1:NY,J = NX + 1:NX)
零。他们发挥没有进一步的作用,将被忽略。
u(ny + 1: ny,nx + 1: nx) = 0;
问题的未知数是以下矩阵的元素:
u
U =
该区域的内部点
对应于指数
包含未知值的
的问题。在载体中收集这些未知瓦尔
。
(I, J) =找到(u ~ = 0);var = u (u ~ = 0);
相关联的符号表达(通过在该示例中的第一部分得到的给定模板)与每个索引(即,与每个未知)。
n =长度(var);陆=符号(0 (n, 1));为K = 1:n的I = I(K);当J = J(K);路(K)= 1/6 * U(I + 1,J-1)+ 2/3 * U(I + 1,J)+ 1/6 * U(I + 1,J + 1)...+ 2/3*u(i,j-1) - 10/3*u(i,j) + 2/3*u(i,j+1)...+ 1/6 * U(I-1,J-1)+ 2/3 * U(I-1,j)的+ 1/6 * U(I-1,J + 1);结束陆=陆/ hx ^ 2;
因为这个表达式在未知元素中是线性的u
(存储在瓦尔
,你可以把它看成作用于这个向量的矩阵瓦尔
。
S_H =雅可比(路,乏);
你可以把S_H
作为拉普拉斯算子的矩阵近似。计算它的特征向量和特征值。
[V D] = eig (vpa (S_h));
三个最大本征值是由D的第一对角元素给定
[d(1,1),d(2,2),d(3,3)]
ans =
因为对于这个近似值,你使用了一个有少量点的网格,只有特征值的前导数字是正确的。
l形区域上拉普拉斯算子的第三高特征值 是清楚的。拉普拉斯算子的特征函数就是这个函数 与(精确)相关联的本征值 。事实上,利用上面的方程(3),你可以得到一个更好的拉普拉斯特征值的近似值 从模板特征值 :
亩= d(3,3)
μ=
拉姆达= 2 *亩/(SQRT(1 +亩* HX ^ 2/3)+ 1)
λ=
绘制与第三最高特征相关联的本征函数。
V = V(:,3);为K = 1:N个U(I(K),J(K))= V(k)的;结束U =双(U);冲浪(XMIN:HX:XMAX,YMIN:HY:YMAX,U');视图(125年,30);
当您使用符号矩阵,极大地增加不推荐的网格点的数量,因为象征性的计算是显著慢于与MATLAB的双精度矩阵的数值计算。本示例的这一部分说明了如何使用稀疏双算术,其允许改进的数值网格。该L形区域
设置方式与以前相同。相反,通过象征性的表示未知数内部点,初始化网格值u
由1和定义
由边界点和外部点的值设置为零。而不是限定的符号表达为每个内部点并计算模版作为雅可比,直接设置在模板矩阵作为稀疏矩阵。
XMIN = -1;XMAX = 1;YMIN = -1;YMAX = 1;为nx = 30;Nx = 2 * nx-1;hx = (xmax-xmin) / (Nx-1);NY = 30;纽约= 2 * ny-1;hy = (ymax-ymin) / (Ny-1); u = ones(Ny,Nx); u(:,1) = 0;%左边界U(1:NY,NX)= 0;右上边界u(纽约:纽约,nx) = 0;右边界,下半部分u (1) = 0;%下边界U(NY,1:NX)= 0;%上边界,左部U(NY中,nx:NX)= 0;%上边界,右部u(ny + 1: ny,nx + 1: nx) = 0;[I,J] =查找(U〜= 0);N =长度(I);S_H =稀疏(N,N);为K = 1:n的I = I(K);当J = J(K);S_H(K,I == I + 1&J == J + 1)= 1/6;S_H(K,I == I + 1&J == j)的2/3 =;S_H(K,I == I + 1&J == J-1)= 1/6;S_H(K,I == I&J == J + 1)= 2/3;S_H(K,I == I&J == j)的= - 10/3;S_H(K,I == I&J == J-1)= 2/3;S_H(K,I == I-1&J == J + 1)= 1/6;S_H(K,I == I-1&J == j)的2/3 =; S_h(k,I==i-1 & J==j-1)= 1/6;结束S_H = S_h./hx^2;
这里,S_H
是(稀疏的)模板矩阵。使用eigs
它处理稀疏矩阵来计算三个最大的特征值。
[V D] = eigs (S_h 3“拉”);
这三个最大的特征值是D的第一个对角线元素
[d(1,1),d(2,2),d(3,3)]
ans =1×3-9.6493 -15.1742 -19.7006
d(3,3)
接近准确的特征值
。利用上面的方程(3),推导出更精确的拉普拉斯特征值近似值
从模板特征值
。
亩= d(3,3)
μ= -19.7006
拉姆达= 2 *亩/(SQRT(1 +亩* HX ^ 2/3)+ 1)
拉姆达= -19.7393
绘制与第三最高特征相关联的本征函数。
V = V(:,3);为K = 1:N个U(I(K),J(K))= V(k)的;结束冲浪(xmin: hx: xmax ymin::为什么ymax, u ');视图(125年,30);
注意MATLAB膜
函数用不同的方法计算拉普拉斯算子的特征函数。
膜(3中,nx - 1,8,8);