文档库 最新最全的文档下载
当前位置:文档库 › 偏微分方程的MATLAB解法

偏微分方程的MATLAB解法

偏微分方程的MATLAB解法
偏微分方程的MATLAB解法

引言

偏微分方程定解问题有着广泛的应用背景。人们用偏微分方程来描述、解释或者预见各种自然现象,并用于科学和工程技术的各个领域fll。然而,对于广大应用工作者来说,从偏微分方程模型出发,使用有限元法或有限差分法求解都要耗费很大的工作量,才能得到数值解。现在,MATLAB PDEToolbox已实现对于空间二维问题高速、准确的求解过程。

偏微分方程

如果一个微分方程中出现的未知函数只含一个自变量,这个方程叫做常微分方程,也简称微分方程;如果一个微分方程中出现多元函数的偏导数,或者说如果未知函数和几个变量有关,而且方程中出现未知函数对几个变量的导数,那么这种微分方程就是偏微分方程。

常用的方法有变分法和有限差分法。变分法是把定解问题转化成变分问题,再求变分问题的近似解;有限差分法是把定解问题转化成代数方程,然后用计算机进行计算;还有一种更有意义的模拟法,它用另一个物理的问题实验研究来代替所研究某个物理问题的定解。虽然物理现象本质不同,但是抽象地表示在数学上是同一个定解问题,如研究某个不规则形状的物体里的稳定温度分布问题,由于求解比较困难,可作相应的静电场或稳恒电流场实验研究,测定场中各处的电势,从而也解决了所研究的稳定温度场中的温度分布问题。

随着物理科学所研究的现象在广度和深度两方面的扩展,偏微分方程的应用范围更广泛。从数学自身的角度看,偏微分方程的求解促使数学在函数论、变分法、级数展开、常微分方程、代数、微分几何等各方面进行发展。从这个角度说,偏微分方程变成了数学的中心。

一、MATLAB方法简介及应用

1.1 MATLAB简介

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

1.2 Matlab主要功能

数值分析

数值和符号计算

工程与科学绘图

控制系统的设计与仿真

数字图像处理

数字信号处理

通讯系统设计与仿真

财务与金融工程

1.3 优势特点

1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;

2) 具有完备的图形处理功能,实现计算结果和编程的可视化;

3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;

4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,

为用户提供了大量方便实用的处理工具。

1.4 MATLAB 产品族可以用来进行以下各种工作 ●数值分析

●数值和符号计算

●工程与科学绘图

●控制系统的设计与仿真

●数字图像处理技术

●数字信号处理技术

●通讯系统设计与仿真

●财务与金融工程

●管理与调度优化计算(运筹学)

MATLAB 的应用范围非常广,包括信号和图像处理、通讯

MATLAB 在通讯系统设计与仿真的应用、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB 函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。

二、Laplacian 算子简介

Laplacian 算子:

2222y

x ??+??=?

Poisson 方程(ellipptic): f u =?

Laplacian 算子的特征值问题:f u u =+?λ

Heat equation(parabolic):u

t u ?=?? Wave equation(hyperbolic):

u t u ?=??22

五点离散:

h

h h y x u y x u h y x u y h x u y x u y h x u y x u h 22),(),(2),(),(),(2),(),(-+-++-+-+=?h P u S u E u W u N u p u h 2

)(4)()()()()(-+++=? 0

)(=?P u h

Poisson 方程离散: )()(P f P u h =?

特征值问题:

)

()(P P u u k k h λ=-? 热方程:

),(),,(),,(2y x u t y x u t y x u h ?=--+δ

δδ )

,(),,(),,(y x u t y x u t y x u h ?+=+δδ 波动方程: ),()

,,(),,(2),,(2y x u t y x u t y x u t y x u h ?=-+-+δ

δδ ),(),,(),,(y x u t y x u t y x u h ?+=+δδ

波动方程:

),()

,,(),,(2),,(2y x u t y x u t y x u t y x u h ?=-+-+δ

δδ

)

,(),,(),,(2),,(2y x u t y x u t y x u t y x u h ?+--=+δδδδ

椭圆方程: b Au = ),(2y x f h b = 特征值方程:

u Au h λ=-21

热方程: )()()1(n n n Au u u σ+=+2h δ

σ=

波动方程:)()1()()1(2n n n n Au u u u σ+-=-+2

??????=h δδ

)()1(n n Mu u =+

热方程: )()1(n n Mu u =+ A I M σ+=

波动方程: 212

≤??????=h δσ

三、Matlab 解偏微分方程

解偏微分方程不是一件轻松的事情,但是偏微分方程在自然科学和工程领域应用很广,因此,研究解偏微分方程的方法、开发解偏微分方程的工具是数学和计算机领域中的一项重要工作。

MATLAB提供了专门用于解二维偏微分方程的工具箱,使用这个工具箱,一方面解偏微分方程,另一方面,可以让我们学习如何把求解数学问题的过程与方法工程化。应当承认,我们国家在数学软件的开发方面还比较落后,MATLAB是当今世界上最好的数学软件之一,通过对这个软件的认识,有助于研发我们自己的数学软件。MATLAB的偏微分方程工具箱名字叫pdetool,它采用有限元法解偏微分方程。用这个工具箱可以解如下方程。

椭圆方程

抛物线方程

双曲线方程

特征值方程

所有的方程都在二维平面Ω域上。方程中,▽是Laplace 算子,u是待解的未知函数,c, a, f是已知的实值标量函数,d 是已知的复值函数,λ是未知的特征值。

MATLAB提供了两种方法Ⅲ解决PDE问题,一是pdepe函数,它可以求解一般的PDEs,具有较大的通用性,但只支持命令行形式调用。二是PDE工具箱,可以求解特殊PDE问题,但有较大的局限性,比如只能求解二阶PDE问题,并且不能解决偏微分方程组。它提供了GUI界面,可以从繁杂的编程中解脱出来,同时还可以通过FileSave As直接生成M代码。

3.1函数解法

pdepe函数介绍

它的调用格式为sol=pdepe(m,@pdefun,@pdeic,@pdebc,x,t) 输入参数:@pdefun:是PDE的问题描述函数

@pdebc:是PDE的边界条件描述函数

@pdeic:是PDE的初值条件

输出参数:sol:是一个三维数组,sol(:,:,i)表示ui的解,换句

话说uk 对应x(i)和t(j)时的解为sol(i,j ,k),通过sol ,我们可以使用pdeval()直接计算某个点的函数值。

实例讲解

例:试求解下面的偏微分

其中, ,且满足初始条件 及边界条件 解:(1)对照给出的偏微分方程,根据标注形式,则原方程可以改写为

可见m=0,且

%目标PDE 函数

function[c ,f ,s]--pdefun(x ,t ,u ,du)

c=[1;1];

f_[0.024*du(1);0.17*du(2)];

)1()(170.0)(024.0212222212121

???????--??=??--??=??u u F x u t u u u F x u t u x x e e x F 46.1173.5)(--=0)0,(,1)0,(21==x u x u 1),1(,0),0(,0),0(121===??t u t u t t u 0),1(,2=??t t u )2()()(170.0024.0*.1121212121??????---+????????????????=??????????????u u F u u F x u x u t u u t ??????---=??????????????=??????=)()(,170.0024.0,11212121u u F u u F S x u x u f c

temp=u(1)一u(2);

s=[一1;1].*(exp(5.73*temp)一exp(-11.46*temp));

(2)边界条件改写为

下边界

上边界

%边界条件函数

function[pa .qa ,pb ,qb]--pdebe(xa ,ua ,xb ,ub ,t) %a 表示下边界,b 表示上边界

pa=[0;ua(2)];

qa=[1;0 ];

pb=[ub(1)一1;O];

qb=[O ;1];

(3)初值条件改写为 %初值条件函数

function u0=pdeic(x)

u0=[1;0];

(4)最后编写主调函数

tic

m=0; x=[0 0.005 0.01 0.05 0.1 0.2 0.5 0.7 0.9 0.95

?

?

?

???=????????????????????+??????00170.0024.0*.010212x u x

u u ?

?

?

???=????????????????????+??????-00170.0024.0*.0101211x u x u u )

3(0121??

?

???=??????u u

0.99 0.995 1];

T=[0 0.005 0.01 0.05 0.1 0.5 1 1.5 2];sol=pdepe(m,@pdefun,@pdeic,@pdebc,x,t);

U1=sol(:,:,1);

u2=sol(:,:,2);

figure

surf(x,t,u1)

title(’ul(x,t)’)

xlabel(’Distance x’)

ylabel(’Time t’)

figure

surf(x,t,u2)

tiffe(’u2(x,t)’)

xlabel(’Distance x’)

ylabel(’Time t’)

结果图

3.2偏微分方程的pdetool解法

3.2.1偏微分方程工具箱的功能

偏微分方程工具箱(PDE Toolbox)提供了研究和求解空间二维偏微分方程问题的一个强大而又灵活实用的环境。PDE Toolbox 的功能包括:

(1)设置PDE (偏微分方程)定解问题,即设置二维定解区域、边界条件以及方程的形式和系数;

(2)用有限元法 (FEM) 求解PDE数值解;

(3)解的可视化。

无论是高级研究人员还是初学者,在使用PDE Too1box时都会感到非常方便。只要PDE定解问题的提法正确,那么,启动MATLAB后,在MATLAB工作空间的命令行中键人pdetool,系统立即产生偏微分方程工具箱(PDE Toolbox)的图形用户界面(Graphical User Interface,简记为GUI),即PDE解的图形环境,这时就可以在它上面画出定解区域、设置方程和边界条件、作网格剖分、求解、作图等工作,详见1.4节中的例子。我们将在第二章详细介绍GUI的使用,在第二章给出大量典型例子和应用实例。除了用GUI求解PDE外,也可以用M文件的编程计算更为复杂的问题。

3.2.2PDE Toolbox求解的问题及其背景

3.2.2.1方程类型

PDE Toolbox求解的基本方程有椭圆型方程、抛物型方程、

双曲型方程、特征值方程、椭圆型方程组以及非线性椭圆型方程。

椭圆型方程:(), ,c u au f in -???+=Ω,

椭圆型方程:(),,c u au f in -???+=Ω

其中Ω是平面有界区域,c ,a ,f 以及未知数u 是定义在Ω上的实(或复)函数。 抛物型方程:(), .u d c u au f in t

?-???+=Ω? 双曲型方程:22(), u c u au f in t

??-???+=Ω?. 特征值方程:(), ,c u au du in λ-??+=Ω

其中d 是定义在Ω上的复函数,λ是待求特征值。在抛物型方程和双曲型方程中,系数c ,a ,f 和d 可以依赖于时间t 。

可以求解非线性椭圆型方程:

()()()(), ,c u u a u f u in -???+=Ω

其中c ,a ,f 可以是未知函数u 的函数。

还可以求解如下PDE 方程组;

()()()()11112211112212112222112221()(),()()c u u c u u a u a u f c u u c u u a u a u f -???-???++=???-???-???++=??

利用命令行可以求解高阶方程组。对于椭圆型方程,可以用自适应网格算法,还能与非线性解结合起来使用。

另外,对于Poission 方程还有一个矩形网格的快速求解器。

3.2.2.2边界条件

(1)Dirichlet 条件 :hu r =

(2)Neumann 条件: ()n c u qu g ??+=

其中n 是Ω的边界?Ω上的单位外法向量,,,g q h 和r 是定义在?Ω上的函数。对于特征值问题仅限于齐次条件:0,g =和0r =。对于非线性情形.系数,,g q h 和r 可以依赖于u ;对于抛物型方程和双曲型方程,系数可以依赖于时间t 。

对于方程组情形,边界条件为

(1)Dirichlet 条件:

1111221h u h u r +=

2112222h u h u r +=

(2)Neumann 条件:

1111221111221

()()n c u n c u q u q u g ??+??++=

2112222112222()()n c u n c u q u q u g ??+??++= (3)混合边界条件为:1111221h u h u r +=

111122*********()()n c u n c u q u q u g h μ

??+??++=+

211222*********()()n c u n c u q u q u g h μ??+??++=+ 其中μ的计算要使得Dirichlet 条件满足。在有限元法中,Dirichlet 条件也称为本质边界条件,Neumann 条件称为自然边界条件。

3.3 如何使用FDE Toolbox

3.3.1定解问题的设置

原简单的办法是在PDE Tool上直接使用图形用户界面(GUl)。设置定解问题包括三个步骤:

(1)Draw模式:使用CSG(几何结构实体模型)对话框画几何区域,包括矩形、圆、椭圆和多边形,也可以将它们组合使用。

(2)Boundary模式:在各个边界段上给出边界条件,

(3)PDE模式:确定方程的类型、系数c,a,f和d c。也能够在不同子区域上设置不同的系数(反映材料的性质)。

3.3.2解PDE问题

用GUI解PDE问题主要经过下面两个过程(模式)

(1)Mesh模式;生成网格.自动控制网格参数。

(2)Solve模式:对于椭圆型方程还能求非线性和自适应解。对于抛物型和双曲型力程.设置初始边值条件后能求出给定t时刻的解。对于特征值问题,能求出给定区间内的特征值;求解后可以加密网格再求解。

3.3.3使用Toolbox求解非标准的问题

对于非标准的问题。可以用PDE Too1box的函数。或者用FEM(有限元法)求解更为复杂的问题。

3.3.4 计算结果的可视化

从GUI能够使用Plot模式实现可视化。可以使用Color, Height和Vector等作图。对于抛物型和双曲型方程,还可以生成解的动画。这些操作通过命令行都很容易实现。

3.3.5 应用领域

在应用界面提供了丁如下应用领域

.结构力学——平面应力问题

.结构力学——平面应变问题

.静电场问题

.静磁场问题

.交流电磁场问题

.直流导体介质问题

.热传导问题

3.4解偏微分方程的一个例子

解Poisson方程u f

-?=,边界条件为齐次Dirichlet类型。

第一步:启动MATLABl, 键入pdetool,按回车键确定便可启动GUI,然后在Options菜单下选择Grid命令,打开栅格, 栅格的使用,能使用户容易确定所绘图形的大小,如图1—1

1--1

第二步:分步完成平面几何造型:R1-C1-E1+R2+C2。用菜单或快捷工具,分别画矩形R1、矩形R2、椭圆E1、圆C1、圆C2。画圆时,首先选中椭圆工具,按鼠标右键并拖动即可、或者在按ctrI的同时,拖动鼠标也可绘制圆。然后在Set formula栏,进行编辑并用算术运算将将图形对象名称连接起来,删除默认的表达式键入R1-C1-E1+R2+C2,按等号健得到所需图形。若需要,还可进行储存.

形成M文件。

选择Boundary菜单中Boundary Mode命令,进入边界模式。单击Boundary菜单中Remove A11 Subdomain Borders选项,去除子域边界。如果想将几何信息和边界信息进行存储,应选择Boundary菜单中的ExPort Decomposed Geometry.Boundary Cond’s…命令,将它们分别储存于g,b变量中, 通过MATLAB形成M文件。

第三步:选取边界.单击Boundary菜单中Specify Bounddy

Conditions…选项,打开Boundary conditlons对话框,输入边

界条件,如图1—4。本例取缺省条件。即将全部边界设为齐次Dirichlet条件,边界颜色显示为红色。

第四步:选择PDE菜单中PDE Mode命令,进入PDE模式。单击PDE菜单中PDE Specification…选项,打开PDE对话框,设置方程类型。本例取缺省设置,类型为椭圆型,参数c,a,f分别为1,0,10。

第五步:选择Mesh菜单中Initialize Mesh命令,进行网格剖分。

第六步:选择Mesh菜单中Refine Mesh命令,对网格加密。

第七步:选择Solve菜单中So1ve PDE命令,解偏微分方程并显示图形解。

第八步:单击Plot菜单中Parameters…选项,打开Plot selection对话框,选中Color, Height (3—D Plot)和Show mesh 三项。然后单击Plot按钮,显示三维图形解。

第九步:如果要画等值线图和矢量场图,单击Plot菜单中Parameters…选项,打开Plot Selection对话框.选中Contour 和Arrows两项。然后单击P1ot按钮,可显示解的等值线图和矢量场图。

3.4.1PDE Toolbox菜单

1.File菜单(如图1-1)

图1-1

New 新建一个几何结构实体模型(Constructive Solid Geomery,简记为CSG),默认文件名为“Untitled”。

Open…从硬盘装载M文件

Save 将在GUI内完成的成果储存到一个M文件中。Save As…将在GUI内完成的成果储存到另外一个M文件中。Print…将PDE工具箱完成的图形送到打印机内进行硬拷贝。

Exit 退出PDE工具图形用户界面。

2、Edit菜单(如图1-2)

图1-2

Undo 在绘制多边形时退回到上一步操作。

Cut 将已选实体剪切到剪贴板上。

Copy 将已选实体拷贝到剪贴板上。

Paste…将剪贴板上的实体粘贴到当前几何结构实体模

型中。

Clear 删除已选的实体。

Select All 选择当前几何结构实体造型CSG中的所有实体及其边界和字域。

3 Options菜单(如图1-3)

图1-3

Grid 绘图时打开或关闭栅格。

Grid Spacing…调整栅格的大小。

Snap 打开或关闭捕捉栅格功能。

Axes Limits…设置绘图轴的坐标范围。

Axes Equal 打开或关闭绘图方轴。

Turn off Toolbar Help 关闭工具栏按钮的帮助信息。

Zoom 打开或关闭图形缩放功能。

Application 选择应用的模式。

Refresh 重新显示PDE工具箱中的图形实体。

4、Draw菜单(如图1-4)

图1-4

Draw Mode 进入绘图模式。

Rectangle/square 以角点方式画矩形/方行(Ctrl+鼠

标)。

Rectangle/square(centered)以中心方式画矩形/方行

(Ctrl+鼠标)。

Ellipse/circle 以矩阵角点方式画椭圆/圆(Ctrl+ 鼠标)。

Ellipse/circle(centered)以中心方式画椭圆/圆(Ctrl+ 鼠标)。

Polygon 画多边形,单击鼠标右键

可封闭多边形。

Rotate…旋转已选的图形。

Export Geometry Description,Set Formula,Labels…

将几何描述矩阵gd、公式设置字符sf和标识空间矩阵ns输出到主工作空间去。

单击Draw菜单中Rotate…选项,可打开Rotate比对活框,通过输入旋转的角度,可使选择的物体按输入的角度逆时针旋转。旋转中心的选择如果缺省,则为图形的质心,也可以输入旋转中心坐标。

5、Boundary菜单(如图1-5)

图1-5

Boundary Mode 进入边界模式。

Specify Boundary Conditions…对于已选的边界输入条件,如果没有选择边界,则边界条件适用于所有的边界。

Show Edge Labels 显示边界区域标识开关,其数据是分解几何矩阵的列数。

Show Subdomain Labels 显示子区域标识开关,其数据是分解几何矩阵中的子域数值。

Remove Subdomain Border 当图形进行布尔运算时,删除已选取的子域边界。

Remove All Subdomain Borders 当图形进行布尔运算时,删除所有的子域边界。

Export Decomposed Geometry,Boundary Cond’s…

将分解几何矩阵g、边界条件矩阵b 输出到主工作空间。

选择Boundary菜单中Specify Boundary Conditions.命令可定义边界条件。在打开的Boundary condition对话框,可对已选的边界输入边界条件。共有如下三种不同的条件类型:NeMmann条件这里边界条件是由方程系数q和g确定的,在方程组的情况下(换成方程组模式),q是2ⅹ2矩阵,g是2x1矢量。

(完整版)偏微分方程的MATLAB解法

引言 偏微分方程定解问题有着广泛的应用背景。人们用偏微分方程来描述、解释或者预见各种自然现象,并用于科学和工程技术的各个领域fll。然而,对于广大应用工作者来说,从偏微分方程模型出发,使用有限元法或有限差分法求解都要耗费很大的工作量,才能得到数值解。现在,MATLAB PDEToolbox已实现对于空间二维问题高速、准确的求解过程。 偏微分方程 如果一个微分方程中出现的未知函数只含一个自变量,这个方程叫做常微分方程,也简称微分方程;如果一个微分方程中出现多元函数的偏导数,或者说如果未知函数和几个变量有关,而且方程中出现未知函数对几个变量的导数,那么这种微分方程就是偏微分方程。 常用的方法有变分法和有限差分法。变分法是把定解问题转化成变分问题,再求变分问题的近似解;有限差分法是把定解问题转化成代数方程,然后用计算机进行计算;还有一种更有意义的模拟法,它用另一个物理的问题实验研究来代替所研究某个物理问题的定解。虽然物理现象本质不同,但是抽象地表示在数学上是同一个定解问题,如研究某个不规则形状的物体里的稳定温度分布问题,由于求解比较困难,可作相应的静电场或稳恒电流场实验研究,测定场中各处的电势,从而也解决了所研究的稳定温度场中的温度分布问题。 随着物理科学所研究的现象在广度和深度两方面的扩展,偏微分方程的应用范围更广泛。从数学自身的角度看,偏微分方程的求解促使数学在函数论、变分法、级数展开、常微分方程、代数、微分几何等各方面进行发展。从这个角度说,偏微分方程变成了数学的中心。

一、MATLAB方法简介及应用 1.1 MATLAB简介 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 1.2 Matlab主要功能 数值分析 数值和符号计算 工程与科学绘图 控制系统的设计与仿真 数字图像处理 数字信号处理 通讯系统设计与仿真 财务与金融工程 1.3 优势特点 1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来; 2) 具有完备的图形处理功能,实现计算结果和编程的可视化; 3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握; 4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,

有限差分法求解偏微分方程MATLAB教学教材

有限差分法求解偏微分方程M A T L A B

南京理工大学 课程考核论文 课程名称:高等数值分析 论文题目:有限差分法求解偏微分方程姓名:罗晨 学号: 115104000545 成绩: 有限差分法求解偏微分方程

一、主要内容 1.有限差分法求解偏微分方程,偏微分方程如一般形式的一维抛物线型方程: 22(,)()u u f x t t x αα??-=??其中为常数 具体求解的偏微分方程如下: 22001 (,0)sin()(0,)(1,)00 u u x t x u x x u t u t t π???-=≤≤?????? =??? ==≥??? 2.推导五种差分格式、截断误差并分析其稳定性; 3.编写MATLAB 程序实现五种差分格式对偏微分方程的求解及误差分析; 4.结论及完成本次实验报告的感想。 二、推导几种差分格式的过程: 有限差分法(finite-difference methods )是一种数值方法通过有限个微分方程近似求导从而寻求微分方程的近似解。有限差分法的基本思想是把连续的定解区域用有限个离散点构成的网格来代替;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。 推导差分方程的过程中需要用到的泰勒展开公式如下: ()2 100000000()()()()()()()......()(()) 1!2!! n n n f x f x f x f x f x x x x x x x o x x n +'''=+-+-++-+- (2-1) 求解区域的网格划分步长参数如下:

Matlab求解微分方程(组)及偏微分方程(组)

第四讲 Matlab 求解微分方程(组) 理论介绍:Matlab 求解微分方程(组)命令 求解实例:Matlab 求解微分方程(组)实例 实际应用问题通过数学建模所归纳得到的方程,绝大多数都是微分方程,真正能得到代数方程的机会很少.另一方面,能够求解的微分方程也是十分有限的,特别是高阶方程和偏微分方程(组).这就要求我们必须研究微分方程(组)的解法:解析解法和数值解法. 一.相关函数、命令及简介 1.在Matlab 中,用大写字母D 表示导数,Dy 表示y 关于自变量的一阶导数,D2y 表示y 关于自变量的二阶导数,依此类推.函数dsolve 用来解决常微分方程(组)的求解问题,调用格式为: X=dsolve(‘eqn1’,’eqn2’,…) 函数dsolve 用来解符号常微分方程、方程组,如果没有初始条件,则求出通解,如果有初始条件,则求出特解. 注意,系统缺省的自变量为t 2.函数dsolve 求解的是常微分方程的精确解法,也称为常微分方程的符号解.但是,有大量的常微分方程虽然从理论上讲,其解是存在的,但我们却无法求出其解析解,此时,我们需要寻求方程的数值解,在求常微分方程数值解方面,MATLAB 具有丰富的函数,我们将其统称为solver ,其一般格式为: [T,Y]=solver(odefun,tspan,y0) 说明:(1)solver 为命令ode45、ode23、ode113、ode15s 、ode23s 、ode23t 、ode23tb 、ode15i 之一. (2)odefun 是显示微分方程'(,)y f t y =在积分区间tspan 0[,]f t t =上从0t 到f t

用Matlab解微分方程

用Matlab 软件求解微分方程 1.解析解 (1)一阶微分方程 求21y dx dy +=的通解:dsolve('Dy=1+y^2','x') 求y x dx dy -+=21的通解:dsolve('Dy=1+x^2-y','x') 求?????=+=1 )0(12y y dx dy 的特解:dsolve('Dy=1+y^2',’y(0)=1’,'x') (2)高阶微分方程 求解???-='==-+'+''. 2)2(,2)2(,0)(222πππy y y n x y x y x 其中,21=n ,命令为: dsolve('x^2*D2y+x*Dy+(x^2-0.5^2)*y=0','y(pi/2)=2,Dy(pi/2)=-2/pi','x') 求042=-+'-'''x y y y 的通解,命令为: dsolve('D3y-2*Dy+y-4*x=0','x') 输出为: ans=8+4*x+C1*exp(x)+C2*exp(-1/2*(5^(1/2)+1)*x)+C3*exp(1/2*(5^(1/2)-1)*x) (3)一阶微分方程组 求???+-='+='). (3)(4)(),(4)(3)(x g x f x g x g x f x f 的通解:[f,g]=dsolve('Df=3*f+4*g','Dg=-4*f+3*g','x') 输出为: f =exp(3*x)*(cos(4*x)*C1+sin(4*x)*C2) g =-exp(3*x)*(sin(4*x)*C1-cos(4*x)*C2) 若再加上初始条件1)0(,0)0(==g f ,则求特解: [f,g]=dsolve('Df=3*f+4*g','Dg=-4*f+3*g','f(0)=0,g(0)=1','x') 输出为: f =exp(3*x)*sin(4*x) g =exp(3*x)*cos(4*x) 2.数值解 (1)一阶微分方程

Matlab求解微分方程(组)及偏微分方程(组)

第四讲Matlab求解微分方程(组) 理论介绍:Matlab求解微分方程(组)命令 求解实例:Matlab求解微分方程(组)实例 实际应用问题通过数学建模所归纳得到得方程,绝大多数都就是微分方程,真正能得到代数方程得机会很少、另一方面,能够求解得微分方程也就是十分有限得,特别就是高阶方程与偏微分方程(组)、这就要求我们必须研究微分方程(组)得解法:解析解法与数值解法、 一.相关函数、命令及简介 1、在Matlab中,用大写字母D表示导数,Dy表示y关于自变量得一阶导数,D2y 表示y关于自变量得二阶导数,依此类推、函数dsolve用来解决常微分方程(组)得求解问题,调用格式为: X=dsolve(‘eqn1’,’eqn2’,…) 函数dsolve用来解符号常微分方程、方程组,如果没有初始条件,则求出通解,如果有初始条件,则求出特解、 注意,系统缺省得自变量为t 2、函数dsolve求解得就是常微分方程得精确解法,也称为常微分方程得符号解、但就是,有大量得常微分方程虽然从理论上讲,其解就是存在得,但我们却无法求出其解析解,此时,我们需要寻求方程得数值解,在求常微分方程数值解方 面,MATLAB具有丰富得函数,我们将其统称为solver,其一般格式为: [T,Y]=solver(odefun,tspan,y0) 说明:(1)solver为命令ode45、ode23、ode113、ode15s、ode23s、ode23t、ode23tb、ode15i之一、 (2)odefun就是显示微分方程在积分区间tspan上从到用初始条件求解、 (3)如果要获得微分方程问题在其她指定时间点上得解,则令tspan(要求就是单调得)、 (4)因为没有一种算法可以有效得解决所有得ODE问题,为此,Matlab提供了多种求解器solver,对于不同得ODE问题,采用不同得solver、 表1 Matlab中文本文件读写函数

MatlabPDE工具箱有限元法求解偏微分方程

在科学技术各领域中,有很多问题都可以归结为偏微分方程问题。在物理专业的力学、热学、电学、光学、近代物理课程中都可遇见偏微分方程。 偏微分方程,再加上边界条件、初始条件构成的数学模型,只有在很特殊情况下才可求得解析解。随着计算机技术的发展,采用数值计算方法,可以得到其数值解。 偏微分方程基本形式 而以上的偏微分方程都能利用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命令

有限差分法求解偏微分方程MATLAB

南京理工大学 课程考核论文 课程名称:高等数值分析 论文题目:有限差分法求解偏微分方程姓名:罗晨 学号: 成绩: 有限差分法求解偏微分方程

一、主要内容 1.有限差分法求解偏微分方程,偏微分方程如一般形式的一维抛物线型方程: 22(,)()u u f x t t x αα??-=??其中为常数 具体求解的偏微分方程如下: 22001 (,0)sin()(0,)(1,)00 u u x t x u x x u t u t t π???-=≤≤?????? =??? ==≥??? 2.推导五种差分格式、截断误差并分析其稳定性; 3.编写MATLAB 程序实现五种差分格式对偏微分方程的求解及误差分析; 4.结论及完成本次实验报告的感想。 二、推导几种差分格式的过程: 有限差分法(finite-difference methods )是一种数值方法通过有限个微分方程近似求导从而寻求微分方程的近似解。有限差分法的基本思想是把连续的定解区域用有限个离散点构成的网格来代替;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。 推导差分方程的过程中需要用到的泰勒展开公式如下: ()2100000000()()()()()()()......()(()) 1!2!! n n n f x f x f x f x f x x x x x x x o x x n +'''=+-+-++-+- (2-1) 求解区域的网格划分步长参数如下:

一维抛物线偏微分方程数值解法(附图及matlab程序)

一维抛物线偏微分方程数值解法(4) 上一篇参看一维抛物线偏微分方程数值解法(3)(附图及matlab程序) 解一维抛物线型方程(理论书籍可以参看孙志忠:偏微分方程数值解法) Ut-Uxx=0, 00) U(x,0)=e^x, 0<=x<=1, U(0,t)=e^t,U(1,t)=e^(1+t), 0

一维抛物线偏微分方程数值解法(3)(附图及matlab程序)

一维抛物线偏微分方程数值解法(3) 上一篇参看一维抛物线偏微分方程数值解法(2)(附图及matlab程序) 解一维抛物线型方程(理论书籍可以参看孙志忠:偏微分方程数值解法) Ut-Uxx=0, 00) U(x,0)=e^x, 0<=x<=1, U(0,t)=e^t,U(1,t)=e^(1+t), 0

Matlab求解微分方程(组)及偏微分方程(组)

第四讲 Matlab 求解微分方程(组) 理论介绍:Matlab 求解微分方程(组)命令 求解实例:Matlab 求解微分方程(组)实例 实际应用问题通过数学建模所归纳得到的方程,绝大多数都是微分方程,真正能得到代数方程的机会很少.另一方面,能够求解的微分方程也是十分有限的,特别是高阶方程和偏微分方程(组).这就要求我们必须研究微分方程(组)的解法:解析解法和数值解法. 一.相关函数、命令及简介 1.在Matlab 中,用大写字母D 表示导数,Dy 表示y 关于自变量的一阶导数,D2y 表示y 关于自变量的二阶导数,依此类推.函数dsolve 用来解决常微分方程(组)的求解问题,调用格式为: X=dsolve(‘eqn1’,’eqn2’,…) 函数dsolve 用来解符号常微分方程、方程组,如果没有初始条件,则求出通解,如果有初始条件,则求出特解. 注意,系统缺省的自变量为t 2.函数dsolve 求解的是常微分方程的精确解法,也称为常微分方程的符号解.但是,有大量的常微分方程虽然从理论上讲,其解是存在的,但我们却无法求出其解析解,此时,我们需要寻求方程的数值解,在求常微分方程数值解方面,MATLAB 具有丰富的函数,我们将其统称为solver ,其一般格式为: [T,Y]=solver(odefun,tspan,y0) 说明:(1)solver 为命令ode45、ode23、ode113、ode15s 、ode23s 、ode23t 、ode23tb 、ode15i 之一. (2)odefun 是显示微分方程'(,)y f t y =在积分区间tspan 0[,]f t t =上从0t 到f t 用初始条件0y 求解. (3)如果要获得微分方程问题在其他指定时间点012,,, ,f t t t t 上的解,则令 tspan 012[,,,]f t t t t =(要求是单调的). (4)因为没有一种算法可以有效的解决所有的ODE 问题,为此,Matlab 提供

《偏微分方程概述及运用matlab求解偏微分方程常见问题》要点

北京航空航天大学 偏微分方程概述及运用matlab求解微分方 程求解常见问题 姓名徐敏 学号57000211 班级380911班 2011年6月

偏微分方程概述及运用matlab求解偏微分 方程常见问题 徐敏 摘要偏微分方程简介,matlab偏微分方程工具箱应用简介,用这个工具箱解方程的过程是:确定待解的偏微分方程;确定边界条件;确定方程所在域的几何形状;划分有限元;解方程 关键词MATLAB 偏微分方程程序 如果一个微分方程中出现的未知函数只含有一个自变量,这个方程叫做常微分方程,也简称微分方程:如果一个微分方程中出现多元函数的偏导数,或者说如果未知函数和几个变量有关,而且方程中出现未知函数对几个变量的导数,那么这种微分方程就是偏微分方程。 一,偏微分方程概述 偏微分方程是反映有关的未知变量关于时间的导数和关于空间变量的导数之间制约关系的等式。许多领域中的数学模型都可以用偏微分方程来描述,很多重要的物理、力学等学科的基本方程本身就是偏微分方程。早在微积分理论刚形成后不久,人们就开始用偏微分方程来描述、解释或预见各种自然现象,并将所得到的研究方法和研究成果运用于各门科学和工程技术中,不断地取得了显著的成效,显示了偏微分方程对于人类认识自然界基本规律的重要性。逐渐地,以物

理、力学等各门科学中的实际问题为背景的偏微分方程的研究成为传统应用数学中的一个最主要的内容,它直接联系着众多自然现象和实际问题,不断地提出和产生出需要解决的新课题和新方法,不断地促进着许多相关数学分支(如泛函分析、微分几何、计算数学等)的发展,并从它们之中引进许多有力的解决问题的工具。偏微分方程已经成为当代数学中的一个重要的组成部分,是纯粹数学的许多分支和自然科学及工程技术等领域之间的一座重要的桥梁。 在国外,对偏微分方程的应用发展是相当重视的。很多大学和研究单位都有应用偏微分方程的研究集体,并得到国家工业、科学部门及军方、航空航天等方面的大力资助。比如在国际上有重大影响的美国的Courant研究所、法国的信息与自动化国立研究所等都集中了相当多的偏微分方程的研究人员,并把数学模型、数学方法、应用软件及实际应用融为一体,在解决实际课题、推动学科发展及加速培养人才等方面都起了很大的作用。 在我国,偏微分方程的研究起步较晚。但解放后,在党和国家的大力号召和积极支持下,我国偏微分方程的研究工作发展比较迅速,涌现出一批在这一领域中做出杰出工作的数学家,如谷超豪院士、李大潜院士等,并在一些研究方向上达到了国际先进水平。但总体来说,偏微分方程的研究队伍的组织和水平、研究工作的广度和深度与世界先进水平相比还有很大的差距。因此,我们必须继续努力,大力加强应用偏微分方程的研究,逐步缩小与世界先进水平的差距 二,偏微分方程的内容

数学应用软件作业6-用Matlab求解微分方程(组)的解析解和数值解

数学应用软件作业6-用Matlab 求解微分方程(组)的解析解和数值解

注:上机作业文件夹以自己的班级姓名学号命名,文件夹包括如下上机报告和Matlab程序。 上机报告模板如下: 佛山科学技术学院 上机报告 课程名称数学应用软件 上机项目用Matlab求解微分方程(组)的解析解和数值解 专业班级姓名学号 一. 上机目的 1.了解求微分方程(组)的解的知识。 2.学习Matlab中求微分方程的各种解的函数,如 dsolve命令、ode45函数等等,其中注意把方程化为新的方程的形式。 3.掌握用matlab编写程序解决求解微分方程的问 题。 二. 上机内容 1、求高阶线性齐次方程:y’’’-y’’-3y’+2y=0。 2、求常微分方程组

2 210cos,2 24,0 t t t dx dy x t x dt dt dx dy y e y dt dt = - = ? +-== ?? ? ?++== ?? 3、求解 分别用函数ode45和ode15s计算求解,分别画出图形,图形分别标注标题。 4、求解微分方程 ,1 )0( ,1 '= + + - =y t y y 先求解析解,在[0,1]上作图; 再用ode45求数值解(作图的图形用“o”表示),在同一副图中作图进行比较,用不同的颜色表示。 三. 上机方法与步骤 给出相应的问题分析及求解方法,并写出Matlab 程序,并有上机程序显示截图。 题1:直接用命令dsolve求解出微分方程的通解。 Matlab程序:

dsolve('D3y-D2y-3*Dy+2*y','x') 题2:将微分方程组改写为 5cos2exp(2) 5cos2exp(2) (0)2,(0)0 dx t t x y xt dy t t x y dt x y ? =+--- ? ? ? =-+-+- ? ? == ? ? ? , 再用命令dsolve求解微分方程的通解。 Matlab程序: 建立timu2.m如下: [x,y]=dsolve('Dx=5*cos(t)+2*exp(-2*t)-x-y','Dy=-5*cos(t)+2*exp(-2*t)+x-y ','x(0)=2,y(0)=0','t') x=simple(x) y=simple(y)

利用matlab编写S函数求解微分方程

利用matlab编写S函数求解微分方程自动化专业综合设计报告 自动化专业综合设计报告

函数求解微S编写设计题目:利用 matlab 分方程 自动化系统仿真实验室所在 实验室: 郭卫平 指导教师: 律迪迪学生姓名 200990519114 班级文自0921 学号 成绩评定: 自动化专业综合设计报告

一、设计目的 了解使用simulink的扩展工具——S-函数,s函数可以利用matlab的丰富资源,而不仅仅局限于simulink提供的模块,而用c或c++等语言写的s函数还可以实现对硬件端口的操作,还可以操作windows API 等的,它的魅力在于完美结合了simulink 框图简洁明快的特点和编程灵活方便的优点,提供了增强和扩展sinulink能力的强大机制,同时也是使用RTW实现实时仿真的关键。 二、设计要求 求解解微分方程 y'=y-2x/y 自动化专业综合设计报告 y(0)=1 要求利用matlab编写S函数求解 三、设计内容(可加附页) 【步骤1】获取状态空间表达式。

在matlab中输入 dsolve(‘Dy=y-2*x/y','y(0)=1', 'x') 得到 y=(2*x+1).^(1/2); 【步骤2】建立s函数的m文件。 利用21·用S函数模板文件。 以下是修改之后的模板文件sfuntmpl.m 的内容。 function [sys,x0,str,ts] = sfuntmpl(t,x,u,flag) %SFUNTMPL S-function M-file General template define you can With % M-file S-functions, you own ordinary differential system equations (ODEs), discrete % equations, and/or just about any type of algorithm to be used within a %

数学模型之微分方程及其MATLAB求解

数学模型之微分方程及其MATLAB求解 ---卫星轨迹等经典例题求解分析1. 考虑初值问题画图 y'''?3y ''?y 'y = 0 y(0) = 0 y '(0) =1 y ' '(0) = ?1 2、 3、 【实验步骤与程序】 1. M -文件建立m函数文件

function y=f(t,x) y=[x(2);x(3);9*x(3)^2+x(1)*x(2)]; 求解微分方程,命令如下: x0=[0;1;-1]; [t,y]=ode45(@mm,[0,2.5],x0); plot(y(:,1),y(:,2)); figure(2); plot3(y(:,1),y(:,2),y(:,3))

2、M -文件建立m函数文件 function dx=appollo(t,x) mu=1/82.45; mustar=1-mu; r1=sqrt((x(1)+mu)^2+x(3)^2); r2=sqrt((x(1)-mustar)^2+x(3)^2); dx=[x(2) 2*x(4)+x(1)-mustar*(x(1)+mu)/r1^3-mu*(x(1)-mustar)/r2^3 x(4) -2*x(2)+x(3)-mustar*x(3)/r1^3-mu*x(3)/r2^3];

求解微分方程,命令如下: x0=[1.2;0;0;-1.04935751]; options=odeset('reltol',1e-8); [t,y]=ode45(@appollo,[0,20],x0,options); plot(y(:,1),y(:,3)) title('Appollo卫星运动轨迹') xlabel('x') ylabel('y')

Matlab解微分方程(ODE+PDE)

常微分方程: 1 ODE解算器简介(ode**) 2 微分方程转换 3 刚性/非刚性问题(Stiff/Nonstiff) 4 隐式微分方程(IDE) 5 微分代数方程(DAE) 6 延迟微分方程(DDE) 7 边值问题(BVP) 偏微分方程(PDEs)Matlab解法 偏微分方程: 1 一般偏微分方程组(PDEs)的命令行求解 2 特殊偏微分方程(PDEs)的PDEtool求解 3 陆君安《偏微分方程的MATLAB解法 先来认识下常微分方程(ODE)初值问题解算器(solver) [T,Y,TE,YE,IE] = odesolver(odefun,tspan,y0,options) sxint = deval(sol,xint) Matlab中提供了以下解算器: 输入参数: odefun:微分方程的Matlab语言描述函数,必须是函数句柄或者字符串,必须写成Matlab

规范格式(也就是一阶显示微分方程组),这个具体在后面讲解 tspan=[t0 tf]或者[t0,t1,…tf]:微分变量的范围,两者都是根据t0和tf的值自动选择步长,只是前者返回所有计算点的微分值,而后者只返回指定的点的微分值,一定要注意对于后者tspan必须严格单调,还有就是两者数据存储时使用的内存不同(明显前者多),其它没有任何本质的区别 y0=[y(0),y’(0),y’’(0)…]:微分方程初值,依次输入所有状态变量的初值,什么是状态变量在后面有介绍 options:微分优化参数,是一个结构体,使用odeset可以设置具体参数,详细内容查看帮助 输出参数: T:时间列向量,也就是ode**计算微分方程的值的点 Y:二维数组,第i列表示第i个状态变量的值,行数与T一致 在求解ODE时,我们还会用到deval()函数,deval的作用就是通过结构体solution计算t 对应x值,和polyval之类的很相似! 参数格式如下: sol:就是上次调用ode**函数得道的结构体解 xint:需要计算的点,可以是标量或者向量,但是必须在tspan范围内 该函数的好处就是如果我想知道t=t0时的y值,不需要重新使用ode计算,而直接使用上次计算的得道solution就可以 [教程] 微分方程转换为一阶显示微分方程组方法 好,上面我们把Matlab中的常微分方程(ODE)的解算器讲解的差不多了,下面我们就具体开始介绍如何使用上面的知识吧! 现实总是残酷的,要得到就必须先付出,不可能所有的ODE一拿来就可以直接使用,因此,在使用ODE解算器之前,我们需要做的第一步,也是最重要的一步,借助状态变量将微分

一维偏微分方程的pdepe(matlab)函数 解法

本文根据matlab帮助进行加工,根据matlab帮助上的例子,帮助更好的理解一维偏微分方程的pdepe函数解法,主要加工在于程序的注释上。 Examples Example 1.This example illustrates the straightforward formulation, computation, and plotting of the solution of a single PDE. This equation holds on an interval for times . The PDE satisfies the initial condition and boundary conditions It is convenient to use subfunctions to place all the functions required by pdepe in a single function. function pdex1 m = 0; x = linspace(0,1,20); %linspace(x1,x2,N)linspace是Matlab中的一个指令,用于产生x1,x2之间的N点行矢量。 %其中x1、x2、N分别为起始值、终止值、元素个数。若缺省N,默认点数为100 t = linspace(0,2,5); sol = pdepe(m,@pdex1pde,@pdex1ic,@pdex1bc,x,t);

% Extract the first solution component as u. u = sol(:,:,1); % A surface plot is often a good way to study a solution. surf(x,t,u) title('Numerical solution computed with 20 mesh points.') xlabel('Distance x') ylabel('Time t') % A solution profile can also be illuminating. figure plot(x,u(end,:)) title('Solution at t = 2') xlabel('Distance x') ylabel('u(x,2)') % -------------------------------------------------------------- function [c,f,s] = pdex1pde(x,t,u,DuDx) c = pi^2; f = DuDx; s = 0; % -------------------------------------------------------------- function u0 = pdex1ic(x) u0 = sin(pi*x); % -------------------------------------------------------------- function [pl,ql,pr,qr] = pdex1bc(xl,ul,xr,ur,t) pl = ul; ql = 0; pr = pi * exp(-t); qr = 1;

用matlab求解常微分方程

实验六 用matlab 求解常微分方程 1.微分方程的概念 未知的函数以及它的某些阶的导数连同自变量都由一已知方程联系在一起的方程称为微分方程。如果未知函数是一元函数,称为常微分方程。常微分方程的一般形式为 0),,",',,()(=n y y y y t F 如果未知函数是多元函数,成为偏微分方程。联系一些未知函数的一组微分方程组称为微分方程组。微分方程中出现的未知函数的导数的最高阶解数称为微分方程的阶。若方程中未知函数及其各阶导数都是一次的,称为线性常微分方程,一般表示为 )()(')()(1)1(1)(t b y t a y t a y t a y n n n n =++++-- 若上式中的系数n i t a i ,,2,1),( =均与t 无关,称之为常系数。 2.常微分方程的解析解 有些微分方程可直接通过积分求解.例如,一解常系数常微分方程1+=y dt dy 可化为 dt y dy =+1,两边积分可得通解为 1-=t ce y .其中c 为任意常数.有些常微分方程可用一些技巧,如分离变量法,积分因子法,常数变异法,降阶法等可化为可积分的方程而求得解析解. 线性常微分方程的解满足叠加原理,从而他们的求解可归结为求一个特解和相应齐次微分方程的通解.一阶变系数线性微分方程总可用这一思路求得显式解。高阶线性常系数微分方程可用特征根法求得相应齐次微分方程的基本解,再用常数变异法求特解。 一阶常微分方程与高阶微分方程可以互化,已给一个n 阶方程 ),,",',()1()(-=n n y y y t f y 设)1(21,,',-===n n y y y y y y ,可将上式化为一阶方程组 ?????????====-),,,,(''''2113221n n n n y y y t f y y y y y y y 反过来,在许多情况下,一阶微分方程组也可化为高阶方程。所以一阶微分方程组与高阶常微分方程的理论与方法在许多方面是相通的,一阶常系数线性微分方程组也可用特征根法求解。 3.微分方程的数值解法 除常系数线性微分方程可用特征根法求解,少数特殊方程可用初等积分法求解外,大部分微分方程无限世界,应用中主要依靠数值解法。考虑一阶常微分方程初值问题 ???=<<=000)()),(,()('y t y t t t t y t f t y f

Matlab偏微分方程求解方法

Matlab 偏微分方程求解方法 目录: §1 Function Summary on page 10-87 §2 Initial Value Problems on page 10-88 §3 PDE Solver on page 10-89 §4 Integrator Options on page 10-92 §5 Examples” on page 10-93 §1 Function Summary 1.1 PDE Solver” on page 10-87 1,2 PDE Helper Functi on” on page 10-87 1.3 PDE Solver This is the MATLAB PDE solver. PDE Helper Function §2 Initial Value Problems pdepe solves systems of parabolic and elliptic PDEs in one spatial variable x and time t, of the form )x u ,u ,t ,x (s ))x u ,u ,t ,x (f x (x x t u )x u ,u ,t ,x (c m m ??+????=????- (10-2) The PDEs hold for b x a ,t t t f 0≤≤≤≤.The interval [a, b] must be finite. m

can be 0, 1, or 2, corresponding to slab, cylindrical, or spherical symmetry,respectively. If m > 0, thena ≥0 must also hold. In Equation 10-2,)x /u ,u ,t ,x (f ?? is a flux term and )x /u ,u ,t ,x (s ?? is a source term. The flux term must depend on x /u ??. The coupling of the partial derivatives with respect to time is restricted to multiplication by a diagonal matrix )x /u ,u ,t ,x (c ??. The diagonal elements of this matrix are either identically zero or positive. An element that is identically zero corresponds to an elliptic equation and otherwise to a parabolic equation. There must be at least one parabolic equation. An element of c that corresponds to a parabolic equation can vanish at isolated values of x if they are mesh points.Discontinuities in c and/or s due to material interfaces are permitted provided that a mesh point is placed at each interface. At the initial time t = t0, for all x the solution components satisfy initial conditions of the form )x (u )t ,x (u 00= (10-3) At the boundary x = a or x = b, for all t the solution components satisfy a boundary condition of the form 0)x u ,u ,t ,x (f )t ,x (q )u ,t ,x (p =??+ (10-4) q(x, t) is a diagonal matrix with elements that are either identically zero or never zero. Note that the boundary conditions are expressed in terms of the f rather than partial derivative of u with respect to x-x /u ??. Also, of

相关文档
相关文档 最新文档