Matlab-PDE工具箱有限元法求解偏微分方程
- 格式:doc
- 大小:629.50 KB
- 文档页数:11
偏微分方程Matlab 数值解法(补充4)Matlab 可以求解一般的偏微分方程,也可以利用偏微分方程工具箱中给出的函数求解一些偏微分方程。
1 偏微分方程组求解Matlab 语言提供了pdepe()函数,可以直接求解偏微分方程(,,,)[(,,,)](,,,)m mu u u u C x t u x x f x t u s x t u x t x x x-∂∂∂∂∂=+∂∂∂∂∂ (4.1)这样,偏微分方程可以编写为以下函数的描述,其入口为[,,](,,,)x c f s pdefun x t u u =其中:pdefun 为函数名。
由给定输入变量可计算出,,c f s 这三个函数。
边界条件可以用下面的函数描述(,,)(,,).*(,,,)0up x t u q x t u f x t u x∂+=∂ (4.2) 这样的边值函数可以写为Matlab 函数[,,,](,,,)a a b b x p q p q pdebc x t u u =初始条件数学描述为00(,)u x t u =,编写一个简单的函数即可0()u pdeic x =还可以选择x 和t 的向量,再加上描述这些函数,就可以用pdepe ()函数求解次偏微分方程,需要用如下格式求解(,@,@,@,,)sol pdepe m pdefun pdeic pdebc x t =【例1】 试求下列偏微分方程2111222221220.024()0.17()u u F u u t x u u F u u tx ⎧∂∂=--⎪⎪∂∂⎨∂∂⎪=+-⎪∂∂⎩ 其中: 5.7311.46()xx F x e e -=-,且满足初始条件1(,0)1u x =,2(,1)0u x =及边界条件1221(0,)0,(0,)0,(1,)1,(1,)0u u t u t u t t x x∂∂====∂∂解:对照给出的偏微分方程和(4.1),可将原方程改写为111222120.024/()1.*10.17/()u u x F u u u u x F u u t x ∂∂--⎡⎤⎡⎤⎡⎤⎡⎤∂∂=+⎢⎥⎢⎥⎢⎥⎢⎥∂∂-∂∂⎣⎦⎣⎦⎣⎦⎣⎦可知0m =,且1122120.024/()1,,10.17/()u x F u u c f s u x F u u ∂∂--⎡⎤⎡⎤⎡⎤===⎢⎥⎢⎥⎢⎥∂∂-⎣⎦⎣⎦⎣⎦编写下面的Matlab 函数function [c,f,s]=c7mpde(x,t,u,du)c=[1;1];y=u(1)-u(2);F=exp(5.73*y)-exp(-11.46*y);s=F*[-1;1]; f=[0.024*du(1);0.17*du(2)];套用(4.2)中的边界条件,可以写出如下的边值方程左边界2010.*00f u ⎡⎤⎡⎤⎡⎤+=⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦,右边界1100.*100u f -⎡⎤⎡⎤⎡⎤+=⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦ 编写下面的Matlab 函数function [pa,qa,pb,qb]=c7mpbc(xa,ua,xb,ub,t) pa=[0;ua(2)];qa=[1;0];pb=[ub(1)-1;0];qb=[0,1]; 另外,描述初值的函数function u0=c7mpic(x) u0=[1;0];有了这三个函数,选定x 和t 向量,则可以由下面的程序直接求此微分方程,得出解1u 和2u 。
基础知识偏微分方程的定解问题各种物理性质的定常(即不随时间变化)过程,都可用椭圆型方程来描述。
其最典型、最简单的形式是泊松(Poisson)方程),(2222y x f yux u u =∂∂+∂∂=∆ (1)特别地,当 f ( x , y ) ≡ 0 时,即为拉普拉斯(Laplace)方程,又称为调和方程02222=∂∂+∂∂=∆yux u u (2)带有稳定热源或内部无热源的稳定温度场的温度分布,不可压缩流体的稳定无旋流动及静电场的电势等均满足这类方程。
Poisson 方程的第一边值问题为⎪⎩⎪⎨⎧Ω∂=Γ=Ω∈=∂∂+∂∂=∆Γ∈),(),(),(),(),(2222y x y x u y x y x f y ux u u y x ϕ (3) 其 中 Ω 为 以 Γ 为 边 界 的 有 界区 域 , Γ 为 分 段 光 滑 曲 线, Ω U Γ 称 为 定 解区 域 ,f (x, y),ϕ(x, y) 分别为 Ω,Γ 上的已知连续函数。
第二类和第三类边界条件可统一表示成)0(0),(>=⎪⎭⎫⎝⎛+∂∂Γ∈a u n u y x α (4) 其中 n 为边界 Γ 的外法线方向。
当α = 0 时为第二类边界条件,α ≠ 0 时为第三类边界条件。
在研究热传导过程,气体扩散现象及电磁场的传播等随时间变化的非定常物理问题时,常常会遇到抛物型方程。
其最简单的形式为一维热传导方程)0(022>=∂∂-∂∂a xua t u (5) 方程(5)可以有两种不同类型的定解问题: 初值问题(也称为 Cauchy 问题)⎪⎩⎪⎨⎧+∞<<∞-=+∞<<-∞>=∂∂-∂∂x x x u x t x ua tu )()0,(,0022ϕ (6) 初边值问题⎪⎪⎪⎩⎪⎪⎪⎨⎧<<===<<<<=∂∂-∂∂lx t g t l u t g t u x x u l x T t x ua t u 0),(),(),(),0()()0,(0,002122ϕ (7) 其中ϕ)(),(),(21x g x g x ϕ为已知函数,且满足连接条件 )0()(),0()0(21g l g ==ϕϕ问题(7)中的边界条件)(),(),(),0(21t g t l u t g t u ==称为第一类界条件。
引言偏微分方程定解问题有着广泛的应用背景。
人们用偏微分方程来描述、解释或者预见各种自然现象,并用于科学和工程技术的各个领域fll。
然而,对于广大应用工作者来说,从偏微分方程模型出发,使用有限元法或有限差分法求解都要耗费很大的工作量,才能得到数值解。
现在,MATLAB PDEToolbox已实现对于空间二维问题高速、准确的求解过程。
偏微分方程如果一个微分方程中出现的未知函数只含一个自变量,这个方程叫做常微分方程,也简称微分方程;如果一个微分方程中出现多元函数的偏导数,或者说如果未知函数和几个变量有关,而且方程中出现未知函数对几个变量的导数,那么这种微分方程就是偏微分方程。
常用的方法有变分法和有限差分法。
变分法是把定解问题转化成变分问题,再求变分问题的近似解;有限差分法是把定解问题转化成代数方程,然后用计算机进行计算;还有一种更有意义的模拟法,它用另一个物理的问题实验研究来代替所研究某个物理问题的定解。
虽然物理现象本质不同,但是抽象地表示在数学上是同一个定解问题,如研究某个不规则形状的物体里的稳定温度分布问题,由于求解比较困难,可作相应的静电场或稳恒电流场实验研究,测定场中各处的电势,从而也解决了所研究的稳定温度场中的温度分布问题。
随着物理科学所研究的现象在广度和深度两方面的扩展,偏微分方程的应用范围更广泛。
从数学自身的角度看,偏微分方程的求解促使数学在函数论、变分法、级数展开、常微分方程、代数、微分几何等各方面进行发展。
从这个角度说,偏微分方程变成了数学的中心。
一、MATLAB方法简介及应用1.1 MATLAB简介MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
1.2 Matlab主要功能数值分析数值和符号计算工程与科学绘图控制系统的设计与仿真数字图像处理数字信号处理通讯系统设计与仿真财务与金融工程1.3 优势特点1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。
《应用matlab的pdetoolbox求解偏微分方程综合实验》编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(《应用matlab的pdetoolbox求解偏微分方程综合实验》)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为《应用matlab的pdetoolbox求解偏微分方程综合实验》的全部内容。
2011届信计专业学生综合实验题目(要求按照所附开题报告表的格式填写提交开题报告。
一个小组选做一题,小组全体成员共同完成,每个小组只提交一份实验报告,按照出力多少排名。
提交时间在本学期18周以前.)3 应用Matlab 的PDE Toolbox 求解偏微分方程熟悉Matlab 的PDE 工具箱的功能,并用其求解具有工程背景的偏微分方程,要求分别对三种类型方程:抛物型、椭圆形和双曲型。
阐述清楚如下方法:1、这里我们先脱离问题所含有的工程背景,分别举三个例子,大致的说明一下如何使用Matlab 的PDE 工具箱来求解三种类型的偏微分方程。
(1)椭圆形方程: 考虑一块圆形金属片,中心挖去一正方形,外边界满足Neumann 条件,内边界满足Dirichlet条件:考虑到入射波以方向,所以上式可以写成这样得到求解这个入射波的定解问题:这里取波长为0。
1。
现在用GUI 来求解上述这个问题,并最终获得其解得图形:图1 初始网格、加密以及网格剖分数据图 2解的三维图形Ω=+∇⋅∇-in f au u c ,)(.),(xik e y x v r π-=-=x -,ikx e r -=),(y x r ⎪⎪⎩⎪⎪⎨⎧-=-=∂∂-=-==+∆--外边界上内边界上在区域内,60,,0602i ik n ree r r k r xi ikx ,60=kλ图3 解的二维动画图附录1:二维动画的Matlab程序(2)抛物型方程:考虑一个圆柱形放射性杆,其左端供热,右端保持常温,侧面与环境有热交换。
偏微分方程的MATLAB求解精讲©MA TLAB求解微分/偏微分方程,一直是一个头大的问题,两个字,“难过”,由于MA TLAB对LaTeX的支持有限,所有方程必须化成MA TLAB可接受的标准形式,不支持像其他三个数学软件那样直接傻瓜式输入,这个真把人给累坏了!不抱怨了,还是言归正传,回归我们今天的主体吧!MA TLAB提供了两种方法解决PDE问题,一是pdepe()函数,它可以求解一般的PDEs,据用较大的通用性,但只支持命令行形式调用。
二是PDE工具箱,可以求解特殊PDE问题,PDEtool有较大的局限性,比如只能求解二阶PDE问题,并且不能解决偏微分方程组,但是它提供了GUI界面,从繁杂的编程中解脱出来了,同时还可以通过File->Save As直接生成M代码一、一般偏微分方程组(PDEs)的MA TLAB求解 (3)1、pdepe函数说明 (3)2、实例讲解 (4)二、PDEtool求解特殊PDE问题 (6)1、典型偏微分方程的描述 (6)(1)椭圆型 (6)(2)抛物线型 (6)(3)双曲线型 (6)(4)特征值型 (7)2、偏微分方程边界条件的描述 (8)(1)Dirichlet条件 (8)(2)Neumann条件 (8)3、求解实例 (9)一、一般偏微分方程组(PDEs)的MATLAB 求解1、pdepe 函数说明MA TLAB 语言提供了pdepe()函数,可以直接求解一般偏微分方程(组),它的调用格式为sol=pdepe(m,@pdefun,@pdeic,@pdebc,x,t)【输入参数】@pdefun :是PDE 的问题描述函数,它必须换成下面的标准形式(,,)[(,,,)](,,,)()m m u u u uc x t x x f x t u s x t u x t x x x−∂∂∂∂∂=+∂∂∂∂∂式1 这样,PDE 就可以编写下面的入口函数 [c,f,s]=pdefun(x,t,u,du)m,x,t 就是对应于(式1)中相关参数,du 是u 的一阶导数,由给定的输入变量即可表示出出c,f,s 这三个函数@pdebc :是PDE 的边界条件描述函数,必须先化为下面的形式(,,)(,,).*(,,,)0up x t u q x t u f x t u x∂+=∂ 于是边值条件可以编写下面函数描述为 [pa,qa,pb,qb]=pdebc(x,t,u,du)其中a 表示下边界,b 表示下边界@pdeic :是PDE 的初值条件,必须化为下面的形式00(,)u x t u =我们使用下面的简单的函数来描述为 u0=pdeic(x)m,x,t :就是对应于(式1)中相关参数【输出参数】sol :是一个三维数组,sol(:,:,i)表示u i 的解,换句话说u k 对应x(i)和t(j)时的解为sol(i,j,k)通过sol ,我们可以使用pdeval()直接计算某个点的函数值2、实例讲解试求解下面的偏微分2111222221220.024()0.17()u u F u u t xu u F u u tx ∂∂=−− ∂∂ ∂∂ =−− ∂∂ 其中, 5.7311.46()x x F x e e −=−,且满足初始条件12(,0)1,(,0)0u x u x ==及边界条件1221(0,)0,(0,)0,(1,)1,(1,)0u ut u t u t t x x∂∂====∂∂【解】(1)对照给出的偏微分方程,根据标注形式,则原方程可以改写为111222120.024()1.*1()0.17u u F u u x u u F u u t t x ∂−−∂∂∂=+ ∂−∂∂∂可见m=0,且1122120.024()1,,1()0.17u F u u x c f s u F u u x ∂−− ∂===∂−∂%% 目标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));(2)边界条件改写为12011010.*.*00000u f f u −+=+=下边界上边界%% 边界条件函数function [pa,qa,pb,qb]=pdebc(xa,ua,xb,ub,t) %a 表示下边界,b 表示上边界 pa=[0;ua(2)];qa=[1;0]; pb=[ub(1)-1;0]; qb=[0;1];(3)初值条件改写为1210u u =%% 初值条件函数function u0=pdeic(x) u0=[1;0];(4)最后编写主调函数 clcx=0:0.05:1; t=0:0.05:2; m=0;sol=pdepe(m,@pdefun,@pdeic,@pdebc,x,t);figure('numbertitle','off','name','PDE Demo ——by Matlabsky') subplot(211)surf(x,t,sol(:,:,1)) title('The Solution of u_1') xlabel('X') ylabel('T') zlabel('U') subplot(212)surf(x,t,sol(:,:,2)) title('The Solution of u_2') xlabel('X') ylabel('T') zlabel('U')二、PDEtool 求解特殊PDE 问题MATLAB 的偏微分工具箱(PDE toolbox)可以比较规范的求解各种常见的二阶偏微分方程,但是惋惜的是只能求解特殊二阶的PDE 问题,并且不支持偏微分方程组!PDE toolbox 支持命令行形式求解PDE 问题,但是要记住那些命令以及调用形式真的很累人,还好MATLAB 提供了GUI 可视交互界面pdetool ,在pdetool 中可以很方便的求解一个PDE 问题,并且可以帮我们直接生成M 代码(File->Save As)。
MATLAB是一款广泛使用的数学软件,它提供了强大的工具来解决偏微分方程(PDE)。
偏微分方程是描述物理现象的数学模型,例如热传导、波动、流体动力学等。
在MATLAB中,你可以使用PDE工具箱(PDE Toolbox)来解决偏微分方程。
这个工具箱提供了一系列的函数和工具,用于建模、求解和分析偏微分方程。
下面是一个简单的例子,演示如何使用MATLAB的PDE工具箱求解一个简单的二维热传导方程:
首先,打开MATLAB并输入以下命令来启动PDE工具箱:
matlab
pdetool
在PDE工具箱界面中,选择"New"来创建一个新的PDE模型。
选择"2D"作为问题的维度,并选择"Heat Transfer"作为问题的类型。
在新创建的模型中,你可以定义问题的几何形状、边界条件、初始条件等。
接下来,使用工具箱中的求解器来求解PDE。
选择适当的求解器和参数,并运行求解过程。
求解完成后,你可以使用工具箱中的可视化工具来查看结果。
例如,你可以绘制温度分布图、等值线图等。
这只是一个简单的例子,MATLAB的PDE工具箱提供了更多的功能和选项来解决更复杂的偏微分方程。
你可以查阅MATLAB的文档和教程来了解更多关于PDE工具箱的详细信息和用法。
需要注意的是,使用PDE工具箱需要一定的数学和物理知识来理解偏微分方程和其相关概念。
因此,在使用MATLAB解决偏微分方程之前,建议先学习相关的数学和物理基础知识。
引言微分方程定解问题有着广泛的应用背景。
人们用偏微分方程来描述、解释或者预见各种自然现象,并用于科学和工程技术的各个领域fll。
然而,对于广大应用工作者来说,从偏微分方程模型出发,使用有限元法或有限差分法求解都要耗费很大的工作量,才能得到数值解。
现在,MATLAB PDEToolbox已实现对于空间二维问题高速、准确的求解过程。
偏微分方程果一个微分方程中出现的未知函数只含一个自变量,这个方程叫做常微分方程,也简称微分方程;如果一个微分方程中出现多元函数的偏导数,或者说如果未知函数和几个变量有关,而且方程中出现未知函数对几个变量的导数,那么这种微分方程就是偏微分方程。
用的方法有变分法和有限差分法。
变分法是把定解问题转化成变分问题,再求变分问题的近似解;有限差分法是把定解问题转化成代数方程,然后用计算机进行计算;还有一种更有意义的模拟法,它用另一个物理的问题实验研究来代替所研究某个物理问题的定解。
虽然物理现象本质不同,但是抽象地表示在数学上是同一个定解问题,如研究某个不规则形状的物体里的稳定温度分布问题,由于求解比较困难,可作相应的静电场或稳恒电流场实验研究,测定场中各处的电势,从而也解决了所研究的稳定温度场中的温度分布问题。
着物理科学所研究的现象在广度和深度两方面的扩展,偏微分方程的应用范围更广泛。
从数学自身的角度看,偏微分方程的求解促使数学在函数论、变分法、级数展开、常微分方程、代数、微分几何等各方面进行发展。
从这个角度说,偏微分方程变成了数学的中心。
一、MATLAB方法简介及应用1.1 MATLAB简介ATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
1.2 Matlab主要功能数值分析数值和符号计算工程与科学绘图控制系统的设计与仿真数字图像处理数字信号处理通讯系统设计与仿真财务与金融工程1.3 优势特点1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。
MATLAB偏微分方程工具箱使用手册一、Matlab偏微分方程工具箱介绍Matlab偏微分方程工具箱是Matlab中用于求解偏微分方程(PDE)问题的工具。
它提供了一系列函数和工具,可以用于建立、求解和分析PDE问题。
PDE是许多科学和工程领域中的重要数学模型,包括热传导、扩散、波动等现象的数值模拟、分析和优化。
Matlab偏微分方程工具箱为用户提供了丰富的功能和灵活的接口,使得PDE问题的求解变得更加简单和高效。
二、使用手册1. 安装和启用在开始使用Matlab偏微分方程工具箱前,首先需要确保Matlab已经安装并且包含了PDE工具箱。
确认工具箱已经安装后,可以通过以下命令启用PDE工具箱:```pdetool```这将打开PDE工具箱的图形用户界面,用户可以通过该界面进行PDE 问题的建立、求解和分析。
2. PDE建模在PDE工具箱中,用户可以通过几何建模工具进行PDE问题的建立。
用户可以定义几何形状、边界条件、初值条件等,并选择适当的PDE方程进行描述。
PDE工具箱提供了各种几何建模和PDE方程描述的选项,用户可以根据实际问题进行相应的设置和定义。
3. 求解和分析一旦PDE问题建立完成,用户可以通过PDE工具箱提供的求解器进行求解。
PDE工具箱提供了各种数值求解方法,包括有限元法、有限差分法等。
用户可以选择适当的求解方法,并进行求解。
求解完成后,PDE工具箱还提供了丰富的分析功能,用户可以对结果进行后处理、可视化和分析。
4. 结果导出和应用用户可以将求解结果导出到Matlab环境中,并进行后续的数据处理、可视化和分析。
用户也可以将结果导出到其他软件环境中进行更进一步的处理和应用。
三、个人观点和理解Matlab偏微分方程工具箱是一个非常强大的工具,它为科学和工程领域中的PDE问题提供了简单、高效的解决方案。
通过使用PDE工具箱,用户可以快速建立、求解和分析复杂的PDE问题,从而加快科学研究和工程设计的进程。
有限元的MATLAB解法1。
打开MATLAB。
2。
输入“pdetool”再回车,会跳出PDE Toolbox的窗口(PDE意为偏微分方程,是partial differential equations的缩写),需要的话可点击Options菜单下Grid命令,打开栅格.3。
完成平面几何模型:在PDE Toolbox的窗口中,点击工具栏下的矩形几何模型进行制作模型,可画矩形R,椭圆E,圆C,然后在Set formula栏进行编辑并(如双脊波导R1+R2+R3改为RI—R2—R3,设定a、b、s/a、d/b的值从而方便下步设定坐标)用算术运算符将图形对象名称连接起来,若还需要,可进行储存,形成M文件。
4.用左键双击矩形进行坐标设置:将大的矩形left和bottom都设为0,width是矩形波导的X轴的长度,height是矩形波导的y轴的长度,以大的矩形左下角点为原点坐标为参考设置其他矩形坐标。
5。
进行边界设置:点击“Boundary”中的“Boundary Mode”,再点击“Boundary”中的“Specify Boundary Conditions”,选择符合的边界条件,Neumann为诺曼条件,Dirichlet为狄利克雷条件,边界颜色显示为红色.6。
进入PDE模式:点击"PDE"菜单下“PDE Mode”命令,进入PDE 模式,单击“PDE Specification”,设置方程类型,“Elliptic”为椭圆型,“Parabolic”为抛物型,“Hyperbolic"为双曲型,“Eigenmodes"为特征值问题.7。
对模型进行剖分:点击“Mesh”中“Initialize Mesh"进行初次剖分,若要剖的更细,再点击“Refine Mesh”进行网格加密.8。
进行计算:点击“Solve”中“Solve PDE”,解偏微分方程并显示图形解,u值即为Hz或者Ez。
MATLAB求解PDE问题(1)——概述、例子(转)(2011-07-20 16:48:45)MATLAB PDE T oolbox提供利用有限元方法求解偏微分方程的GUI以及相应的命令行函数。
利用该工具箱可以求解椭圆型方程、抛物型方程、双曲型方程、特征值方程以及非线性方程。
PDE Toolbox的功能非常强大,网上有许多利用PDE Toolbox解决各种物理问题的论文,还有专门介绍工具箱的参考书。
网上的例子虽然很多,但是大部分是介绍PDE工具箱自带的一些例子,这些例子中解的区域,边界条件是PDE工具箱已经编写好的,直接调用就可以。
对于该如何自己设定求解区域及边界条件,却很少有人涉及。
网上搜索发现只有刘平在博客中详细介绍过求解区域的设定。
下面以一个椭圆型方程的例子来详细说明求解的各个步骤,希望对大家能有所帮助。
设要求如下形式的椭圆方程的解:按照PDE的要求,将方程化为标准形式求解后的图像如下,第一幅图是解的图像,第二幅是计算误差。
从第二幅图可以看到,计算的最大误差是10-3方量级。
通过这个例子我们可以基本掌握PDE求解偏微分方程的步骤和方法,后面我将详细介绍如何设置区域及边界条件。
掌握了区域和边界条件的设定,就可以轻松求解遇到的偏微分方程了。
图后是附带的matlab命令以及注释,并提供m文件附件下载,下载后解压即可。
希望能对大家有所帮助。
下面是编写的求解上述方程的matlab语句及说明:g='mygeom';b='mybound';定义区域,边界条件。
mygeom是定义区域的子函数名,函数名可根据自己的需要取定,区域的确定规则由pdegeom函数说明,注意pdegeom函数只是说明如何定义区域,它并不直接确定区域;mybound是定义边界条件的子函数名,与区域类似,边界的确定规则由函数pdebound确定。
后面我会详细介绍区域和边界的取法。
[p,e,t] = initmesh(g);网格初始化,此处也可以写成[p,e,t] = initmesh('mygeom');这样可以省略上面的语句[p,e,t] = refinemesh(g,p,e,t);[p,e,t] = refinemesh(g,p,e,t);加密网格两次,需要加密几次重复几次即可,根据具体问题确定加密次数U= assempde(b,p,e,t,1,0,'2*(x+y)-4');调用assempde函数计算方程的数值解,assempde函数的详细用法可以参考MATH 网站或者PDE的使用指南。
在科学技术各领域中,有很多问题都可以归结为偏微分方程问题。
在物理专业的力学、热学、电学、光学、近代物理课程中都可遇见偏微分方程。
偏微分方程,再加上边界条件、初始条件构成的数学模型,只有在很特殊情况下才可求得解析解。
随着计算机技术的发展,采用数值计算方法,可以得到其数值解。
偏微分方程基本形式
而以上的偏微分方程都能利用PDE工具箱求解。
PDE工具箱
PDE工具箱的使用步骤体现了有限元法求解问题的基本思路,包括如下基本步骤:
1) 建立几何模型
2) 定义边界条件
3) 定义PDE类型和PDE系数
4) 三角形网格划分
5) 有限元求解
6) 解的图形表达
以上步骤充分体现在PDE工具箱的菜单栏和工具栏顺序上,如下
具体实现如下。
打开工具箱
输入pdetool可以打开偏微分方程求解工具箱,如下
首先需要选择应用模式,工具箱根据实际问题的不同提供了很多应用模式,用户可以基于适
当的模式进行建模和分析。
在Options菜单的Application菜单项下可以做选择,如下
或者直接在工具栏上选择,如下
列表框中各应用模式的意义为:
① Generic Scalar:一般标量模式(为默认选项)。
② Generic System:一般系统模式。
③ Structural Mech.,Plane Stress:结构力学平面应力。
④ Structural Mech.,Plane Strain:结构力学平面应变。
⑤ Electrostatics:静电学。
⑥ Magnetostatics:电磁学。
⑦ Ac Power Electromagnetics:交流电电磁学。
⑧ Conductive Media DC:直流导电介质。
⑨ Heat Tranfer:热传导。
⑩ Diffusion:扩散。
可以根据自己的具体问题做相应的选择,这里要求解偏微分方程,故使用默认值。
此外,对于其他具体的工程应用模式,此工具箱已经发展到了Comsol Multiphysics软件,它提供了更强大的建模、求解功能。
另外,可以在菜单Options下做一些全局的设置,如下
l Grid:显示网格
l Grid Spacing…:控制网格的显示位置
l Snap:建模时捕捉网格节点,建模时可以打开
l Axes Limits…:设置坐标系围
l Axes Equal:同Matlab的命令axes equal命令
建立几何模型
使用菜单Draw的命令或使用工具箱命令可以实现简单几何模型的建立,如下
各项代表的意义分别为
l 绘制矩形或方形;
l 绘制同心矩形或方形;
l 绘制椭圆或圆;
l 绘制同心椭圆或圆;
l 绘制多义线。
这里只绘制一个圆如下
定义边界条件
选择Boundary菜单下的Specify Boundary Conditions…,如下
定义PDE类型和PDE系数
选择PDE菜单下的PDE Specificat ions…,如下
三角形网格划分
选择Mesh菜单下的Initialize Mesh初始化三角形网格,再选择Refine Mesh改进初始网格并细化网格,如下
初始化网格
细化网格
另外还可以进一步选择Jiggle Mesh微调网格。
最后可以选择Display Triangle Quality 显示三角形网格的质量图,其中1表示质量最好,0表示最差,如下
有限元求解
选择Solve菜单下的Solve PDE选项进行PDE问题的求解,如下
解的图形表达
选择Plot菜单下的Parameters…可以设置显示的效果,如下
显示结果如下
比较数值解与精确解的误差:
可见数值解的精度是很高的。
页脚。