- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB求解PDE问题(1)——概述、例子(转)
(2011-07-20 16:48:45) 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的使用指南。常用的用法是[u,res]=assempde(b,p,e,t,c,a,f),其中b为边界条件,此处也可以写为mybound,p,e,t,为网格参数,c,a,f,为方程的参数,后面也可以加猜测值以及各种属性。
pdesurf(p,t,U)grid on;xlabel(x);ylabel(y);zlabel(u)colorbarview([60 30])
画出解的图形。注意,为了让结果更直观一些,使用view函数调整了视点位置。大家可以自行调整视角,满意即可。
exact=p(1,:).^2+p(2,:).^2-p(1,:).*p(2,:).*(p(1,:)+p(2,:));exact=exact;figurepdesurf(p,t,U-exact)grid onxlabel(x);ylabel(y);zlabel(error)colorbarview([60 30])
由于方程有解析解,我们可以比较数值计算的误差。如果能求得解析解,我们也不会设计各种方法求数值解了,因此,这一步在大多数情况下是用不上的,这里只是为了比较计算结果,验证计算的精度。
MATLAB求解PDE问题(2)——确定几何区域
(2012-06-14 16:20:38)
函数pdegeom释义如下:
参数为0个时,即没有参数时,返回边界的段数;
参数为1个时,即只有bs,返回输出区域边界的参变量范围矩阵d;
参数为2个时,返回每段边界长度为s时的坐标。
函数参数意义bs表示指定的边缘线段,如矩形边界为四段,三角开边界肯定为三段…。s为第bs段线段弧长的近似(估计)值,bs与s可以为向量,但是要一一对应,即bs为几个值,s也得为几个值。输出变量[x,y]是每条线段起点和终点所对应的坐标。这个函数编制的关键是,函数内边界上的坐标((x(t),y(t))是用参变量t表示的,返回值是求得边界任意长度时的坐标(x(t),y(t))值,参量可以有很多种选法。
回到前一篇中,给定的方程的求解区域是[0,1,0,1]的一个正方形,我们将它命名为mygeom。下面我们来看下mygeom是怎么编写的。
function [x,y]=mygeom(bs,s) nbs=4; % 表示边界的段数 if nargin
文档评论(0)