版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于Matlab偏微分方程数值解第1页求数值解方法差分方法有限元方法MATLABpedpe函数MATLABPDEtool工具箱第2页 偏微分方程分类椭圆偏微分方程双曲线偏微分方程抛物线偏微分方程第3页4椭圆偏微分方程特例拉普拉斯方程 拉普拉斯方程是最简单椭圆偏微分方程,以下以拉普拉斯方程为例,讲述椭圆偏微分方程数值解法。拉普拉斯方程形式以下:第4页5椭圆偏微分方程边界条件椭圆偏微分方程边界条件有以下三种提法: 其中第一个提法最为普遍,下面以第一个边界条件,拉普拉斯方程为例介绍椭圆偏微分方程惯用五点差分格式和工字型差分格式解法。第5页6五点差分格式五点差分格式最惯用格式,其形式以下:注意:这里边
2、界为矩形区域。第6页7五点差分格式算法 注意:要确保x方向和y方向上网格步长相等才能使用上面公式。第7页8 五点差分格式在MATLAB中实现function u=peEllip5(nx,minx,maxx,ny,miny,maxy)%x方向节点数:nx%求解区间x左端:minx%求解区间x右端:maxx%y方向节点数:ny%求解区间y左端:miny%求解区间y右端:maxy%求解区间上数值解:uformat long;hx=(maxx-minx)/(nx-1);hy=(maxy-miny)/(ny-1);u0=zeros(nx,ny);for j=1:ny u0(j,1)=EllIni2Uxl
3、(minx,miny+(j-1)*hy); u0(j,nx)=EllIni2Uxr(maxx,miny+(j-1)*hy);endfor j=1:nx u0(1,j)=EllIni2Uyl(minx+(j-1)*hx,miny); u0(ny,j)=EllIni2Uyr(minx+(j-1)*hx,maxy);end %边界条件离散第8页9 五点差分格式在MATLAB中实现A=-4*eye(nx-2)*(ny-2),(nx-2)*(ny-2);b=zeros(nx-2)*(ny-2),1);for i=1:(nx-2)*(ny-2); if mod(i,nx-2)=1 if i=1 A(1,2
4、)=1; A(1,nx-1)=1; b(1)=-u0(1,2)-u0(2,1); else if i=(ny-3)*(nx-2)+1 A(i,i+1)=1; A(i,i-nx+2)=1; %注意边界节点离散方式 b(i)=-u0(ny-1,1)-u0(ny,2); else A(i,i+1)=1; A(i,i-nx+2)=1; A(i,i+nx-2)=1; b(i)=-u0(floor(i/(nx-2)+2,1); end end else if mod(i,nx-2)=0 if i=nx-2第9页10 五点差分格式在MATLAB中实现 A(i,i-1)=1; %注意边界节点离散方式 A(i,
5、i+nx-2)=1; b(i)=-u0(1,nx-1)-u0(2,nx); else if i=(ny-2)*(nx-2) A(i,i-1)=1; A(i,i-nx+2)=1; b(i)=-u0(ny-1,nx)-u0(ny,nx-1); else A(i,i-1)=1; A(i,i-nx+2)=1; A(i,i+nx-2)=1; b(i)=-u0(floor(i/(nx-2)+1,nx); end end else if i1 & i(ny-3)*(nx-2) & i0,a0格式不一样是为了满足差分格式稳定性,若第一个式子a0 for j=1:(n+M) u0(j)=IniU(minx+(j
6、-M-1)*h); %向左延拓M个节点函数值 endelse for j=1:(n+M) u0(j)=IniU(minx+(j-1)*h); %向左延拓M个节点函数值 endendu1=u0;for k=1:M if a0 for i=(k+1):n+M u1(i)=-dt*a*(u0(i)-u0(i-1)/h+u0(i); end else for i=1:n+M-k u1(i)=-dt*a*(u0(i+1)-u0(i)/h+u0(i); end 一维对流方程迎格调式第19页20一维对流方程迎格调式算例end u0=u1;endif a0 u=u1(M+1):M+n);else u=u1(1
7、:n);endformat long;第20页 21 一维对流方程迎格调式算例 然后在MATLAB窗口输入以下命令: u=peHypbYF(1,0.005,101,0,1,100);第21页22一维对流方程迎格调式算例结果t=0时,u,x分布图t=0.5时,u,x分布图第22页23一维对流方程拉克斯-弗里德里希斯格式第23页24一维对流方程拉克斯-弗里德里希斯格式第24页25拉克斯-弗里德里希斯格式算例第25页26拉克斯-弗里德里希斯格式算例第26页27拉克斯-弗里德里希斯格式算例第27页28一维对流方程拉克斯-温德洛夫格式第28页29一维对流方程拉克斯-温德洛夫格式第29页30一维对流方程拉
8、克斯-温德洛夫格式算例第30页31一维对流方程拉克斯-温德洛夫格式算例第31页32一维对流方程拉克斯-温德洛夫格式算例第32页33一维对流方程比姆-沃明格式第33页34一维对流方程比姆-沃明格式第34页35一维对流方程比姆-沃明格式算例第35页36一维对流方程多步格式 多步格式也有各种,这里只简单介绍其中几个格式。包含Richtmyer多步格式、拉克斯-温德洛夫多步格式、MacCormack多步格式。第36页37一维对流方程多步格式第37页 38 一维对流方程多步格式算例 Richtmyer多步格式算出结果并不理想,不但左边有波动,而且光滑性也不好。拉克斯-温德洛夫多步格式算出结果比较不错,即
9、使左边有点小波动,不过初始函数宽度和高度都保持不错。 MacCormack多步格式求得结果和拉克斯-温德洛夫多步格式算出结果差不多。第38页39双曲线偏微分方程二维对流方程第39页40二维对流方程拉克斯-弗里德里希斯格式第40页41二维对流方程拉克斯-弗里德里希斯格式第41页42二维对流方程拉克斯-弗里德里希斯格式算例u=peHypb2LF(1,1,0.005,101,0,1,101,0,1,100);第42页43二维对流方程拉克斯-弗里德里希斯格式算例 结果与初始值对比,能够看出,拉克斯-弗里德里希斯格式算出结果非常好。第43页44二维对流方程近似分裂格式近似分裂格式也是一个不错格式,其结果
10、也非常靠近理论值。第44页45抛物线偏微分方程扩散方程 在实际应用中碰到抛物线偏微分方程主要是扩散方程。扩散方程有很强物理背景,比如不用物质之间扩散过程、热传递过程、波传输等过程都能够用扩散过程来描述。下面以扩散方程为例介绍几个差分格式。第45页46扩散方程显式格式第46页47扩散方程显式格式第47页48扩散方程显式格式算例u=peParabExp(1,0.005,101,0,1,100)第48页49扩散方程显式格式算例 我们知道显示格式即使简单,但其精度很差,而且求得解轻易出现震荡。次算例结果以下:数值结果震荡非常厉害,说显著式格式在这种条件下不稳定。第49页50扩散方程跳点格式相同算例数值
11、结果一样震荡非常厉害,说明跳点格式在这种条件下也不稳定。第50页51扩散方程隐式格式第51页52扩散方程隐式格式第52页53扩散方程隐式格式第53页54扩散方程隐式格式算例用隐式格式求解下面扩散方程初值问题:u=peParabImp(1,0.005,101,0,1,0,1,100)第54页55扩散方程隐式格式算例结果是一条比较稳定直线。第55页56扩散方程克拉克-尼科尔森格式第56页57扩散方程克拉克-尼科尔森格式第57页58扩散方程克拉克-尼科尔森格式第58页59扩散方程克拉克-尼科尔森格式算例第59页60扩散方程克拉克-尼科尔森格式算例第60页61扩散方程加权隐式格式 经过算例我们能够知道
12、,经过取不一样参数,用加权隐式格式算得结果差异不大,只是到达稳态时间不一样而已。第61页62差分方法小结 以上我们介绍了差分方法在椭圆型、抛物型和双曲型偏微分方程中应用,用差分格式求解偏微分方程基本步骤是一样,首先把连续问题离散化,建立差分格式,然后依据差分格式对求解区域进行网格剖分,最终求解方程。 下面将简单介绍有限元方法。 另外变分法、边界元法、混合有限元法和多重网格法等也是偏微分方程数值求解方法,有兴趣同学能够参考相关书籍。第62页63有限元方法介绍 有限元方法是数值求解偏微分方程边值问题一个方法,此方法首先于20世纪50年代初由工程师提出,并用于求解简单结构问题。有限元方法是这一个系统
13、数值方法,并奠定其数学基础,是在60年代中期以冯康先生为代表中国学者与西方学者独立并行完成。有限元方法不一样于差分方法,主要有以下三大特点:(1)从数学物理问题变分原理出发,而不是从微分方程出发,所以事从问题整体描述而不是从问题局部描述出发。(2)对所考虑问题区域(以二维情形为例)作三角形(或其它简单多边形)剖分,而不是仅作矩形剖分。(3)用剖分区域上简单函数(如分片多项式)去迫近原问题解,而不是只在剖分节点上数值迫近。第63页64有限元方法一维边值问题算例用有限元方法求解以下一维边值问题:解:一维边值问题线性有限元数值解法MATLAB程序以下:%线性有限元方法%参数设置N=10;X=0:1/
14、(N+1):1;b=zeros(N+1,1);A=zeros(N+1,N+1);for i=2:N+1 F1=(x)2*(N+1)*(x-X(i-1).*sin(pi*x/2);%句柄函数 R1=quad(F1,X(i-1),X(i); F2=(x)2*(N+1)*(X(i+1)-x).*sin(pi*x/2); R2=quad(F2,X(i),X(i+1); b(i-1)=R1+R2;第64页65endF1=(x)1.*sin(pi*x/2);b(N+1)=quad(F1,X(N+1),X(N+2); %quad:数值积分%适应度矩阵a11=(N+1)+(pi2)/(12*(N+1);a12
15、=-(N+1)+(pi2)/(24*(N+1);for i=1:N A(i,i)=2*a11; A(i,i+1)=a12; A(i+1,i)=a12;endA(N+1,N+1)=a11;%得到初始数值解%解方程Ax=bc=Ab;x=vertcat(0,c);%垂直串联矩阵y=4/(pi2)*sin(pi*X/2);y=y;Error=x-y;%绘制图像figure(1);有限元方法一维边值问题算例第65页66grid on;plot(X,y,ro-,X,x,b);title(Numerical solutions vs Accurate solutions);legend(Accurate s
16、olutions,Numerical solutions,0);%添加图例 如图所表示为数值解与解析解比较,可知有限元方法对这个一维边值问题是比很好。有限元方法一维边值问题算例第66页67MATLABpedpe函数pedpe函数说明 MATLAB软件提供了pdepe函数,该函数不但能够用来求解偏微分方程,也能够用来求解偏微分方程组,函数调用格式为: 输入参数中 pdefun是偏微分方程描述函数,方程必须含有以下形式函数pdefun由用户自己编写,函数形式为: 其输出c,f,s即为式(1)中三个已知函数c,f,s,它们也能够是向量值函数,x,t,u与方程(1)中参数意义相同,du表示是u对x一阶
17、倒数。(1)第67页68MATLABpedpe函数pedpe函数说明pdebc是偏微分方程边界条件描述函数,函数必须含有以下形式:函数pdebc由用户自己编写,函数形式为:其中是xa,xb,ua,ub分别表示变量x,u下边界和上边界。pdeic是偏微分方程初始条件描述函数,函数必须含有以下形式:函数pdeic由用户自己编写,函数形式以下: 函数pdepe中m即为方程(1)中m。x,t是偏微分方程自变量,它们普通是多维向量。 输出sol是一个三维数组,sol(i,j,k)表示是自变量分别取x(i),t(j)时u(k)值。由sol能够直接经过pdeval()某个点函数值。第68页69MATLABp
18、edpe函数pedpe函数实例求解偏微分方程组(2)解:分别编写pdefun函数、pdebc函数、pdeic函数:第69页70MATLABpedpe函数pedpe函数实例% 目标PDE函数function c,f,s=pdefun (x,t,u,du)c=1;1;f=0.024*du(1);0.17*du(2);temp=u(1)-u(2);s=-1;1.*(exp(5.73*temp)-exp(-11.46*temp);% 边界条件函数function pa,qa,pb,qb=pdebc(xa,ua,xb,ub,t)%a表示下边界,b表示上边界pa=0;ua(2);qa=1;0;pb=ub(
19、1)-1;0;qb=0;1;% 初值条件函数function u0=pdeic(x)u0=1;0;编写好以上函数之后执行:第70页71MATLABpedpe函数pedpe函数实例x=0:0.05:1;t=0:0.05:2;m=0;sol=pdepe(m,pdefun,pdeic,pdebc,x,t);subplot(121)surf(x,t,sol(:,:,1)title(The Solution of u_1)subplot(122)surf(x,t,sol(:,:,2)title(The Solution of u_2)第71页72MATLABpedpe函数pedpe函数实例第72页73M
20、ATLABPDEtool工具箱 MATLAB专门提供了用于求解偏微分方程工具箱PDEtool,它可用来解各种常见二阶偏微分方程,但不能求解偏微分方程组。 工具箱对三种常见二阶偏微分方程有一定要求。 双曲型方程 抛物型方程上两式中,d,c,a,f必须是常数;椭圆型方程式中,c,a,f为给定函数或常数。第73页 74 MATLABPDEtool工具箱打开PDEtool交互窗口,如图所表示 pdetool在MATLAB命令行窗口利用命令:可解方程类型设置边界输入方程调整网格大小求解方程与绘制方程解图形第74页75 MATLABPDEtool工具箱实例抛物型方程定解问题: 第一步:单机工具栏“PDE”按钮,在弹出左窗口左侧选择Parabolic
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广西导游基础知识考试卷及答案(一)
- 青春期女孩HPV疫苗接种指南2026
- 大班综合教案:秋天多么美
- 讷河市龙河镇保安林场招聘社区网格员真题附答案详解
- 遂川县云岭林场招聘社区网格员考试试题附答案详解
- 江岸区球场街道招聘社区网格员考试试题附答案详解
- 肃州区东风场区招聘社区网格员考试试题附答案详解
- 《初中物理实验与科学探究与新时代楷模课|了解理念 树立意识》
- 涪陵区大木乡招聘社区网格员考试试题附答案详解
- 第3节 强化展示效果-添加其他多媒体元素教学设计初中信息技术(信息科技)第一册河北大学版(第3版)
- 急性心衰的急救与护理
- 广西三支一扶考试试题及答案
- 《美食制作中的魅力化学》课件
- TSDSCA 0001-2024 人脐带组织来源的间充质干细胞制备与质量控制
- 2025年内蒙古呼道德与法制中考试卷和浩特
- 2025年江苏省苏州工业园区管委会招聘14人历年高频重点提升(共500题)附带答案详解
- (高清版)DB52∕T 1450-2019 河道管理范围划界技术规程
- 《财务管理学(第10版)》课件全套 王化成 第1-12章 总论、财务管理的价值观念-并购与重组
- 中国戏曲剧种鉴赏智慧树知到期末考试答案章节答案2024年上海戏剧学院等跨校共建
- 汽车维修工时收费标准(二类企业)
- 韶音供应商QSA+QPA审核-checklist-V1
评论
0/150
提交评论