matlab_pde要点解析.ppt

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab_pde要点解析.ppt

* 有限元方法——介绍 有限元方法是数值求解偏微分方程边值问题的一种方法,此方法首先于20世纪50年代初由工程师提出,并用于求解简单的结构问题。有限元方法是这一种系统的数值方法,并奠定其数学基础,是在60年代中期以冯康先生为代表的中国学者与西方学者独立并行完成的。 有限元方法不同于差分方法,主要有以下三大特点: (1)从数学物理问题的变分原理出发,而不是从微分方程出发,因此事从问题的整体描述而不是从问题的局部描述出发。 (2)对所考虑问题的区域(以二维情形为例)作三角形(或其他简单多边形)剖分,而不是仅作矩形剖分。 (3)用剖分区域上的简单函数(如分片多项式)去逼近原问题的解,而不是只在剖分节点上的数值逼近。 * 有限元方法——一维边值问题算例 用有限元方法求解如下一维边值问题: 解:一维边值问题线性有限元数值解法的MATLAB程序如下: %线性有限元方法 %参数设置 N=10; X=0:1/(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; * end F1=@(x)1.*sin(pi*x/2); b(N+1)=quad(F1,X(N+1),X(N+2)); %quad:数值积分 %适应度矩阵 a11=(N+1)+(pi^2)/(12*(N+1)); a12=-(N+1)+(pi^2)/(24*(N+1)); for i=1:N A(i,i)=2*a11; A(i,i+1)=a12; A(i+1,i)=a12; end A(N+1,N+1)=a11; %得到初始数值解 %解方程Ax=b c=A\b; x=vertcat(0,c);%垂直串联矩阵 y=4/(pi^2)*sin(pi*X/2); y=y; Error=x-y; %绘制图像 figure(1); 有限元方法——一维边值问题算例 * grid on; plot(X,y,ro-,X,x,b^); title(Numerical solutions vs Accurate solutions); legend(Accurate solutions,Numerical solutions,0);%添加图例 如图所示为数值解与解析解的比较,可知有限元方法对这个一维边值问题是比较好的。 有限元方法——一维边值问题算例 * MATLAB的pedpe函数——pedpe函数的说明 MATLAB软件提供了pdepe函数,该函数不但可以用来求解偏微分方程,也可以用来求解偏微分方程组,函数的调用格式为: 输入的参数中 @pdefun是偏微分方程的描述函数,方程必须具有如下形式 函数pdefun由用户自己编写,函数形式为: 其输出的c,f,s即为式(1)中的三个已知函数c,f,s,它们也可以是向量值函数,x,t,u与方程(1)中的参数意义相同,du表示的是u对x的一阶倒数。 (1) * MATLAB的pedpe函数——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()某个点的函数值。 * MATLAB的pedpe函数——pedpe函数的实例 求解偏微分方程组 (2) 解:分别编写pdefun函数、pdebc函数、pdeic函数: * MATLAB的pedpe函数——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

文档评论(0)

挑战不可能 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档