MATLAB偏微分方程求解 2

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB偏微分方程求解 2
• MATLAB提供了两种方法解决PDE 问题:① pdepe()函数,它可以求解一般的PDEs,具有较 大的通用性,但只支持命令行形式调用。
• ②PDE 工具箱,可以求解特殊PDE 问题, PDEtool 有较大的局限性,比如只能求解二阶 PDE 问题,并且不能解决偏微分方程组,但是它 提供了GUI界面,从繁杂的编程中解脱出来了, 同时还可以通过File->Save As直接生成M代码
MATLAB偏微分方程求解 2
• @pdebc:是PDE的边界条件描述函数,必 须先化为下面的形式
p(tu x , ),q(tu ,x* )f ,(.x tu ,, u ,)0 x
• 于是边值条件可以编写下面函数描述为 [pa,qa,pb,qb]=pdebc(x,t,u,du)其中a 表示下 边界,b 表示下边界
• [c,f,s]=pdefun(x,t,u,du)
• m,x,t就是对应于(式1)中相关参数和自变量, du是u的一阶导数,由给定的输入变量即可 表示出出c,f,s这三个函数
MATLAB偏微分方程求解 2
• @pdeic:是PDE 的初值条件,必须化为下 面的形式
u(x,t0)u0
• 我们使用下面的简单的函数来描述为 u0=pdeic(x)
x t x
x
x
MATLAB偏微分方程求解 2
• @pdefun:是PDE 的问题描述函数,它必 须换成下面的标准形式
c (x ,t,u , u ) u x m [x m f(x ,t,u , u ) ] st (u ,x u ,), (1
x t x
x
x
• PDE 就可以编写下面的入口函数
• 偏微分方程分为①线性偏微分方程式与② 非线性偏微分方程式,常常有几个解而且 涉及额外的边界条件。
常微分方程:在微分方程中,若自变量的个数只有一个的微分方程。
偏微分方程:自变量的个数有两个或两个以上的微分方程。
MATLAB偏微分方程求解 2
• 求解偏微分方程的数值方法: • 1. 有限元法(Finite Element Method, FEM)---
hp-FEM • 2. 有限体积法(Finite Volume Method, FVM) • 3. 有限差分法(Finite Difference Method, FDM)。
• 其它:广义有限元法(Generalized Finite Element Method, FFEM)、扩展有限元法(eXtended Finite Element Method, XFEM)、无网格有限元法(Meshfree Finite Element Method)、离散迦辽金有限元法(Discontinuous Galerkin Finite Element Method, DGFEM)等。
MATLAB偏微分方程求解 2
• 主讲人:
MATLAB偏微分方程求解 2
• 微分方程的MATLAB求解包含 • 1:常微分方程的MATLAB求解(上
节课已经讲过)这里不再赘述。
• 2:偏微分方程的MATLAB求解(本 次教学内容)
MATLAB偏微分方程求解 2
• 偏微分方程(Partial Differential Equation ,简称PDE)指含有未知函数及其偏导数 的方程。描述自变量、未知函数及其偏导 数之间的关系。
是name后边的名字'NumberTitle','off'是关掉默认显示名字。 • subplot(211) • surf(x,t,sol(:,:,1))%sol(:,:,i)表示ui的解 • title('The Solution of u_1') • xlabel('X') • ylabel('T') • zlabel('U') • subplot(212) • surf(x,t,sol(:,:,2))%sol(:,:,i)表示ui的解 • title('The Solution of u_2') • xlabel('X') • ylabel('T') • zlabel('U')
• 使用pdeval()直接计算某个点的函数值???
MATLAB偏微分方程求解 2
• 直接求解一般偏微分方程(组),它的调用格式 为 sol=pdepe(m,@pdefun,@pdeic,@pdebc,x,t)
输出 参数
参数
问题描 述函数
初值 条件
边界 条件
自变 量
c (x ,t,u , u ) u x m [x m f(x ,t,u , u ) ] st (u ,x u ,), (1
MATLAB偏微分方程求解 2
c (x ,t,u , u ) u x m [x m f(x ,t,u , u ) ] st (u ,x u ,), (1
x t x
x
x
• m:就是对应于(式1)中相关参数 • x,t:就是对应于(式1)中自变量
MATLAB偏微分方程求解 2
• sol:是一个三维数组,sol(:,:,i)表示ui的解, 换句话说uk对应x(i)和t(j)时的解为sol(i,j,k)
11.46*temp));
MATLABபைடு நூலகம்微分方程求解 2
• 初值条件改写为
• %% 初值条件函数 • function u0=pdeic(x) • u0=[1;0];
MATLAB偏微分方程求解 2
• 边界条件改写为
• %% 边界条件函数 • 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];
MATLAB偏微分方程求解 2
• 例:
初值条 件 边界条件
MATLAB偏微分方程求解 2
• 【解】第一步根据(1)对照给出的偏微分 方程,则原方程可以改写为
MATLAB偏微分方程求解 2
• %% 目标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(-
MATLAB偏微分方程求解 2
• clc • x=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')%创建个窗口,窗口名字
相关文档
最新文档