1、Page 2Page 3()c uauf()udc uauft22()uec uauft()c uaudu 22()uuedc uuuauftt Page 4个个、按按照照一一定定方方式式相相互互连连结结在在一一起起的的单单元元的的组组合合体体。将将PDE转转换换成成离离散散的的线线性性代代数数方方程程系系统统进进行行求求解解。特特点点各各种种复复杂杂单单元元可可以以用用来来对对复复杂杂的的几几何何形形状状的的求求解解域域进进行行模模型型化化处处理理。各各节节点点上上的的解解的的近近似似函函数数可可以以用用来来求求解解整整个个求求解解域域上上任任意意点点的的结结果果。Page 5Page 6【
2、】Page 7tuuf Page 8hur()nc uqugPage 9u1=hyperbolic(u0,ut0,tlist,b,p,e,t,c,a,f,d)Page 1022()udc uauftutPage 11Page 12:moviein、movie、pedplot、pdesurf等等Page 13Page 142222221111()0|0,0 (,0)atansin(),(,0)2cos(2xxyytuuutxyuuuuyyu x yxu x y)expcos()2xy=squareg;%定定义义单单位位方方形形区区域域b=squareb3;%左左右右零零边边界界条条件件,顶顶底底
3、零零导导数数边边界界条条件件c=1;a=0;f=0;d=1;(2)初初始始的的粗粗糙糙网网格格化化p,e,t=initmesh(squareg);(3)初初始始条条件件x=p(1,:);%注注意意坐坐标标向向量量都都是是列列向向量量y=p(2,:);u0=atan(sin(pi/2*x);ut0=2*cos(pi*x).*exp(cos(pi/2*y);Page 15n=31;tlist=linspace(0,5,n);%在在05之之间间产产生生n个个均均匀匀的的时时间间点点(5)求求解解此此双双曲曲问问题题u1=hyperbolic(u0,ut0,tlist,b,p,e,t,c,a,f,d)
4、;得得到到如如下下结结果果:Page 16插插值值delta=-1:0.1:1;uxy,tn,a2,a3=tri2grid(p,t,u1(:,1),delta,delta);gp=tn;a2;a3;(7)在在05时时间间内内动动画画显显示示newplot;%建建立立新新的的坐坐标标系系M=moviein(n);umax=max(max(u1);umin=min(min(u1);Page 17Page 18态态解解图图可可以以直直接接通通过过MATLAB仿仿真真程程序序执执行行看看出出,图图1是是动动态态图图的的某某一一瞬瞬间间的的解解的的分分布布。Page 19Page 20Page 2120
5、000 (,)|0,(,)|2sin(,)|,(,)|0ttxxxx Ltttua uu x tu x ttu x tu x t 1221sin(/)4(1)2sin()sinsinsin(/)()()nnx an atn xutnL aaLLLaL Page 22Page 23Page 24u0,ut0,在在MATLAB中中是是指指如如下下形形式式:求求解解抛抛物物线线方方程程使使用用如如下下命命令令:u=parabolic(,tlist,b,p,e,t,c,a,f,d)parabolic函函数数性性质质与与hyperbolic大大致致相相同同Page 25()udc uauftut求求解解
6、域域是是方方形形区区域域,其其中中空空间间坐坐标标的的个个数数由由具具体体问问题题确确定定Page 26222211()0 (,)|0 1 (0.4)(,0)0 (0.4)xyxyuuutxyu x y turu x yr Page 27olic(u0,tlist,b,p,e,t,c,a,f,d);(6)矩矩形形网网格格插插值值x=linspace(-1,1,31);y=x;unused,tn,a2,a3=tri2grid(p,t,u0,x,y);(7)动动画画图图示示结结果果newplot;Mv=moviein(nframes);umax=max(max(u1);umin=min(min(u
7、1);for j=1:nframes,.u=tri2grid(p,t,u1(:,j),tn,a2,a3);%用用tri2grid的的第第三三种种形形式式,以以最最快快速速度度插插值值Page 28Page 29Page 30 题题:Page 31200 (,)|(,)|0(,)|()txxxx ltua uu x tu x tu x tx 0,(10,30)()1,(1030)xxxx Page 32 2()1210 30(,)coscossinn atlnnnnu x texnlllPage 33 含含有有源源项项的的标标准准稳稳定定场场方方程程,也也即即是是泊泊松松方方程程在在MATLAB
8、中中是是指指如如下下形形式式:求求解解椭椭圆圆方方程程用用命命令令:u=assempde(b,p,e,t,c,a,f)各各输输入入量量的的意意义义同同前前由由于于是是稳稳定定场场方方程程,则则输输出出的的矩矩阵阵u是是坐坐标标矩矩阵阵p相相应应的的解解Page 34()c uauf,并并将将计计算算机机仿仿真真解解与与精精确确解解比比较较,方方程程如如下下:方方法法1:其其解解可可以以用用偏偏微微分分方方程程工工具具箱箱求求得得,并并绘绘制制出出其其图图形形。方方法法2:求求出出解解析析解解,再再利利用用MATLAB编编程程绘绘制制出出其其解解析析解解和和误误差差解解的的图图形形分分布布。【解
9、解】满满足足边边值值条条件件的的解解析析解解(精精确确解解)为为:Page 3511|0ruu 221(1)4uxy并并将将仿仿真真结结果果与与精精确确解解(解解析析解解)进进行行比比较较:(1)题题目目定定义义g=circleg;%单单位位圆圆b=circleb1;%边边界界零零条条件件c=1;a=0;f=1;(2)初初始始的的粗粗糙糙网网格格化化p,e,t=initmesh(g,hmax,1);%hmax是是内内部部常常数数,每每个个三三角角形形网网格格的的大大小小不不能能超超过过hmax;1代代表表三三角角形形网网格格个个数数增增加加的的速速度度(一一般般在在1.3左左右右)Page 3
10、6解解error=;er=1;while er0.001,p,e,t=refinemesh(g,p,e,t);u=assempde(b,p,e,t,c,a,f);exact=(1-p(1,:).2-p(2,:).2)/4;er=norm(u-exact,inf);%er是是u-exact的的无无穷穷大大的的模模error=error er;fprintf(Error:%e.Number of nodes:%dn,er,size(p,2);end%运运行行结结果果是是Error:1.292265e-002.Number of nodes:25Page 37rf(p,t,u);pdeplot(p,
11、e,t,xydata,u,zdata,u,mesh,on);figure;%pdesurf(p,t,u-exact);pdeplot(p,e,t,xydata,u-exact,zdata,u-exact,mesh,on);%误误差差解解图图显显示示Page 38Page 39 yb/2上上,对对满满足足泊泊松松方方程程,且且边边界界上上的的值值为为零零的的定定解解问问题题的的解解,给给出出计计算算机机仿仿真真图图形形。【解解】所所讨讨论论的的定定解解问问题题即即为为:Page 402220 (,)|(,)|0(,)|(,)|0bbxx ayyux yu x yu x yu x yu x y 序
12、序:(程程序序中中取取a=8,b=8)symsa ba=8;b=8;X,Y=meshgrid(0:0.2:a,-b/2:0.2:b/2)Z1=0;for n=1:1:10Z2=a4*b*(-1)n*n2*pi2+2-2*(-1)n)*sinh(n*pi.*Y/a).*sin(n*pi.*X/a)/(n5*pi5*sinh(n*pi*b/(2*a);Z1=Z1+Z2;endPage 4142233551(1)22(1)()sinh()sinh()12 sinh /(2)nnnxya bnn xn yuaxnn baaa3)/12;colormap(hot);mesh(X,Y,Z)view(119
13、,7);Page 42Page 43振振动动xxyyuuu 22sinsinnmmnn xmyXx Yycbmnbc 2ttxxyyUaUUPage 44 sinsinnmn xmyXx Yycb22mnmnbc Page 45figure(2)subplot(2,2,1);mesh(X,Y,w11);view(0,90)subplot(2,2,2);mesh(X,Y,w12);view(0,90)subplot(2,2,3);mesh(X,Y,w21);view(0,90)subplot(2,2,4);mesh(X,Y,w22);view(0,90)Page 46figure(3)subpl
14、ot(2,2,1);contour(X,Y,w11);subplot(2,2,2);contour(X,Y,w12);subplot(2,2,3);contour(X,Y,w21);subplot(2,2,4);contour(X,Y,w22);Page 4700.511.5200.20.40.60.8100.511.5200.20.40.60.8100.511.5200.20.40.60.8100.511.5200.20.40.60.81比比较较下下面面两两副副图图的的区区别别:figure(4)subplot(2,2,1);C,h=contour(X,Y,w11,20);clabel(C,
15、h,manual);subplot(2,2,2);C,h=contour(X,Y,w12,20);clabel(C,h,manual);subplot(2,2,3);C,h=contour(X,Y,w21,20);clabel(C,h,manual);subplot(2,2,4);C,h=contour(X,Y,w22,20);clabel(C,h,manual);figure(5)subplot(2,2,1);C,h=contour(X,Y,w11,20);clabel(C,manual);subplot(2,2,2);C,h=contour(X,Y,w12,20);clabel(C,man
16、ual);subplot(2,2,3);C,h=contour(X,Y,w21,20);clabel(C,manual);subplot(2,2,4);C,h=contour(X,Y,w22,20);clabel(C,manual);Page 48Page 49 sinmnmnTtat 对对MATLAB8.1以上版本可以直接用以上版本可以直接用imwrite函数将动画存储为函数将动画存储为GIF动画动画Page 50Page 51E工工具具箱箱求求解解并并进进行行可可视视化化 MATLAB仿仿真,真,M文文件件编编程程求求解解并并可可视视化化双双曲曲型型:波波动动方方程程的的求求解解与与可可视视化化抛抛物物型型:热热传传导导方方程程的的求求解解与与可可视视化化椭椭圆圆型型:稳稳定定场场方方程程的的求求解解与与可可视视化化本本征征值值方方程程的的求求解解与与可可视视化化