微分方程求解

微分方程求解
微分方程求解

微分方程求解Newly compiled on November 23, 2020

求解微分方程 :简单地说,就是去微分(去掉导数),将方程化成自变量与因变量关系的方程(没有导数)。

近来做毕业设计遇到微分方程问题,搞懂后,特发此文,来帮广大同学,网友。

1.最简单的例子: x dx

dy 2= ——————》 C x y +=2 求微分方程 xy dx

dy 2=的通解。 解 方程是可分离变量的,分离变量后得

两端积分 : ,2??=xdx y dy

得: ,ln 12C x y +=

从而 : 2112

x C C x

e e e y ±=±=+。 又因为 1C e ±仍是任意常数,可以记作C

2

x Ce y =。

非齐次线性方程

求方程25

)1(12'+=+-x x y y 的通解. 解:非齐次线性方程。

先求对应的齐次方程的通解。

01

2=+-x y dx dy , 1

2+=x dx y dy , 用常数变易法:把C 换成)(x u ,即令

2)1(+=x u y (1)

则有 )1(2)1('2+++=x u x u dx

dy , 代入原方程式中得 21

)1('+=x u ,

两端积分,得 C x u ++=23)1(3

2。 再代入(1)式即得所求方程通解

])1(32[)1(23

2C x x y +++=。 法二: 假设待求的微分方程是:

)()(x Q y x P dx

dy =+ 我们可以直接应用下式

得到方程的通解,其中, 1

2)(+-=x x P , 25

)1()(+=x x Q 代入积分同样可得方程通解 ])1(32[)1(23

2C x x y +++=, 2.微分方程的相关概念:(看完后你会懂得各类微分方程)

即得齐次方程通解。

,代替分离变量,积分后将,,,则设的函数,解法:,即写成程可以写成

齐次方程:一阶微分方称为隐式通解。

得:的形式,解法:为:一阶微分方程可以化可分离变量的微分方程 或 一阶微分方程:u x y u u du x dx u dx du u dx du x u dx dy x y u x

y y x y x f dx dy C x F y G dx x f dy y g dx x f dy y g dy y x Q dx y x P y x f y -=∴=++====+====+='??)()(),(),()()()()()()(0

),(),(),(???一

阶线性微分方程:

全微分方程:

二阶微分方程:

二阶常系数齐次线性微分方程及其解法:

二阶常系数非齐次线性微分方程

3.工程中的解法:

四阶定步长Runge-Kutta算法

其中h 为计算步长,在实际应用中该步长是一个常数,这样由四阶Runge-Kutta算法可以由当前状态变量Xt 的值求解出下状态变量Xt +1的值

亲们,你们满意吗

081数值计算方法—常微分方程(组)

科学计算—理论、方法 及其基于MATLAB 的程序实现与分析 微分方程(组)数值解法 §1 常微分方程初值问题的数值解法 微分方程(组)是科学研究和工程应用中最常用的数学模型之一。如揭示质点运动规律的Newton 第二定律: ()()()?????'='==0 00022x t x x t x t F dt x d m (1) 和刻画回路电流或电压变化规律的基尔霍夫回路定律等,但是,只有一些简单的和特殊的常微分方程及常微分方程组,可以求得用公式给出的所谓“解析解”或“公式解”,如一阶线性微分方程的初值问题: () ()0 0y y t f ay dt dy =+= (2) 的解为: ()()()τττd f e y e t y t t a at ?-+=00 (3) 但是,绝大多数在实际中遇到的常微分方程和常微分方程组得不到“解析解”,因此,基于如下的事实:

1、绝大多数的常微分方程和常微分方程组得不到(有限形式的)解析解; 2、实际应用中往往只需要知道常微分方程(组)的解在(人们所关心的)某些点处的函数值(可以是满足一定精度要求的近似值); 如果只需要常微分方程(组)的解在某些点处的函数值,则没有必要非得通过求得公式解,然后再计算出函数值不可,事实上,我们可以采用下面将介绍的常微分方程(组)的初值问题的数值解法,就可以达到这一目的。 一般的一阶常微分方程(组)的初值问题是指如下的一阶常微分方程(组)的定解问题: ()()0 00,y t y t t t y t F dt dy f =≤≤= (7) 其中 ()()()()???? ?? ? ??=t y t y t y t y n 21 (8) ()()()()???? ?? ? ??=y t f y t f y t f y t F n ,,,,21 (9) 常微分方程(组)的初值问题通常是对一动态过程(动态系统、动力系统)演化规律的描述,求解常微分方程(组)的初值问题就是要了解和掌握动态过程演化规律。 §1.1 常微分方程(组)的Cauch 问题数值解法概论

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

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

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

微分方程几种求解方法

第五章 控制系统仿真 §5.2 微分方程求解方法 以一个自由振动系统实例为例进行讨论。 如下图1所示弹簧-阻尼系统,参数如下: M=5 kg, b=1 N.s/m, k=2 N/m, F=1N F 图1 弹簧-阻尼系统 假设初始条件为:00=t 时,将m 拉向右方,忽略小车的摩擦阻力,m x 0)0(= s m x /0)0(=? 求系统的响应。 )用常微分方程的数值求解函数求解包括ode45、 ode23、ode113、ode15s 、ode23s 等。 wffc1.m myfun1.m 一、常微分方程的数值求解函数ode45求解 解:系统方程为 F kx x b x m =++??? 这是一个单变量二阶常微分方程。

将上式写成一个一阶方程组的形式,这是函数ode45调用规定的格式。 令: x x =)1( (位移) )1()2(? ?==x x x (速度) 上式可表示成: ??????--=??????=??? ???????)1(*4.0)2(*2.02.0)2()2()2()1(x x x x x x x && 下面就可以进行程序的编制。 %写出函数文件myfun1.m function xdot=myfun1(t,x) xdot=[x(2);0.2-0.2*x(2)-0.4*x(1)]; % 主程序wffc1.m t=[0 30]; x0=[0;0]; [tt,yy]=ode45(@myfun1,t,x0); plot(tt,yy(:,1),':b',tt,yy(:,2),'-r') hold on plot(tt,0.2-0.2*yy(:,2)-0.4*yy(:,1),'-k') legend('位移','速度',’加速度’)

偏微分方程数值解法

一、 问题 用有限元方法求下面方程的数值解 2 u u u f t ?-?+=? in (]0,T Ω? 0u = on []0,T ?Ω? ()00,u x u = in Ω 二、 问题分析 第一步 利用Green 公式,求出方程的变分形式 变分形式为:求()()21 00,;u L T H ∈Ω,使得 ()())(2 ,,,,u v u v u v f v t ???+??+= ???? ()10v H ?∈Ω (*) 以及 ()00,u x u =. 第二步 对空间进行离散,得出半离散格式 对区域Ω进行剖分,构造节点基函数,得出有限元子空间:()12,,,h NG V span ???=???,则(*)的Galerkin 逼近为: []0,t T ?∈,求()()1 0,h h u t x V H ∈?Ω,使得 ()()()()() () )(2 ,,,,h h h h h h h d u t v u t v u t v f v dt +??+= h h v V ?∈ (**) 以及()0,0h h u u =,0,h u 为初始条件0u 在h V 中的逼近,设0,h u 为0u 在h V 中的插值. 则0t ?≥,有()()1 N G h i i i u t t ξ? == ∑,0,h u =01 N G i i i ξ?=∑,代人(**)即可得到一常微分方程组. 第三步 进一步对时间进行离散,得到全离散的逼近格式 对 du dt 用差分格式.为此把[]0,T 等分为n 个小区间[]1,i i t t -,其长度1i i T t t t n -?=-= ,n t T =. 这样把求i t 时刻的近似记为i h u ,0 h u 是0u 的近似.这里对(**)采用向后的欧拉格式,即 ()()() () )(2 11 11 1 ,,,,i i i i h h h h h h h i h u u v u v u v f v t ++++-+??+ = ? h h v V ?∈ (***) i=0,1,2…,n-1. 0 h u =0,h u 由于向后欧拉格式为隐式格式且含有非线性项,故相邻两时间步之间采用牛顿迭代,即:

微分方程数值解法

《微分方程数值解法》 【摘要】自然界与工程技术中的很多现象,可以归结为微分方程定解问题。其中,常微分方程求解是微分方程的重要基础内容。但是,对于许多的微分方程,往往很难得到甚至不存在精确的解析表达式,这时候,数值解提供了一个很好的解决思路。,针对于此,本文对常微分方程数值解法进行了简单研究,主要讨论了一些常用的数值解法,如欧拉法、改进的欧拉法、Runge —Kutta 方法、Adams 预估校正法以及勒让德谱方法等,通过具体的算例,结合MA TLAB 求解画图,初步给出了一般常微分方程数值解法的求解过程。同时,通过对各种方法的误差分析,让大家对各种方法的特点和适用范围有一个直观的感受。 【关键词】 常微分方程 数值解法 MA TLAB 误差分析 引言 在我国高校,《微分方程数值解法》作为对数学基础知识要求较高且应用非常广泛的一门课程,不仅 在数学专业,其他的理工科专业的本科及研究生教育中开设这门课程.近四十年来,《微分方程数值解法》不论在理论上还是在方法上都获得了很大的发展.同时,由于微分方程是描述物理、化学和生物现象的数学模型基础,且它的一些最新应用已经扩展到经济、金融预测、图像处理及其他领域 在实际应用中,通过相应的微分方程模型解决具体问题,采用数值方法求得方程的近似解,使具体问题迎刃而解。 2 欧拉法和改进的欧拉法 2.1 欧拉法 2.1.1 欧拉法介绍 首先,我们考虑如下的一阶常微分方程初值问题 ???==0 0)() ,('y x y y x f y (2--1) 事实上,对于更复杂的常微分方程组或者高阶常微分方程,只需要将x 看做向量,(2--1)就成了一个一阶常微分方程组,而高阶常微分方程也可以通过降阶化成一个一阶常微分方程组。 欧拉方法是解常微分方程初值问题最简单最古老的一种数值方法,其基本思路就是把(2--1)中的导数项'y 用差商逼近,从而将一个微分方程转化为一个代数方程,以便求解。 设在[]b a ,中取等距节点h ,因为在节点n x 点上,由(2--1)可得:

各种类型的微分方程及其相应解法

各种类型的微分方程及其相应解法 专业班级:交土01班 姓名:高云 学号:1201110102 微分方程的类型有很多种,解题时先判断微分方程是哪种类型,可以帮助我们更快解题,所以我们有必要归纳整理一下各类型(主要是一阶和二阶)的微分方程及其相应解法。 一、一阶微分方程的解法 1.可分离变量的方程 dx x f dy y g )()(=,或)()(y g x f dx dy = 其特点是可以把变量x 和y 只分别在等式的两边,解法关键是把变量分离后两边积分。 例1.求微分方程ydy dx y xydy dx +=+2的通解. 解 先合并dx 及dy 的各项,得dx y dy x y )1()1(2-=- 设,01,012≠-≠-x y 分离变量得 dx x dy y y 1112-=- 两端积分??-=-dx x dy y y 1112得 ||ln |1|ln |1|ln 2 112C x y +-=- 于是 2212)1(1-±=-x C y 记,21C C ±=则得到题设方程的通解 .)1(122-=-x C y 2.齐次方程 (1))(x y f dx dy = (2) )(c by ax f dx dy ++=(a ,b 均不等于0) 例2求解微分方程.2222xy y dy y xy x dx -=+- 解 原方程变形为=+--=2222y xy x xy y dx dy ,1222?? ? ??+--??? ??x y x y x y x y 令,x y u =则,dx du x u dx dy +=方程化为,1222u u u u dx du x u +--=+ 分离变量得?? ????-+--??? ??--112212121u u u u ,x dx du = 两边积分得 ,ln ln ln 2 1)2ln(23)1ln(C x u u u +=----

第十章-偏微分方程数值解法

第十章 偏微分方程数值解法 偏微分方程问题,其求解十分困难。除少数特殊情况外,绝 大多数情况均难以求出精确解。因此,近似解法就显得更为重要。本章仅介绍求解各类典型偏微分方程定解问题的差分方法。 §1 差分方法的基本概念 1.1 几类偏微分方程的定解问题 椭圆型方程:其最典型、最简单的形式是泊松(Poisson )方程 ),(22 2 2y x f y u x u u =??+??=? 特别地,当0),(≡y x f 时,即为拉普拉斯(Laplace )方程,又 称 为调和方程 22 22=??+??=?y u x u u Poisson 方程的第一边值问题为 ?? ???Ω ?=Γ=Ω∈=??+??Γ∈),(),(),() ,(),(22 22y x y x u y x y x f y u x u y x ?

其中 Ω为以Γ为边界的有界区域,Γ为分段光滑曲线,ΓΩY 称为定解区域,),(y x f ,),(y x ?分别为Ω,Γ上的已知连 续函数。 第二类和第三类边界条件可统一表示为 ),(),(y x u u y x ?α=??? ? ??+??Γ∈n 其中n 为边界Γ的外法线方向。当0=α时为第二类边界条件, 0≠α时为第三类边界条件。 抛物型方程:其最简单的形式为一维热传导方程 2 20(0)u u a a t x ??-=>?? 方程可以有两种不同类型的定解问题: 初值问题 ?? ???+∞ <<∞-=+∞<<-∞>=??-??x x x u x t x u a t u )()0,(,00 22? 初边值问题

2 212 00,0(,0)()0(0,)(),(,)()0u u a t T x l t x u x x x l u t g t u l t g t t T ????-=<<<

常微分方程解题方法总结.doc

常微分方程解题方法总结 来源:文都教育 复习过半, 课本上的知识点相信大部分考生已经学习过一遍 . 接下来, 如何将零散的知 识点有机地结合起来, 而不容易遗忘是大多数考生面临的问题 . 为了加强记忆, 使知识自成 体系,建议将知识点进行分类系统总结 . 著名数学家华罗庚的读书方法值得借鉴, 他强调读 书要“由薄到厚、由厚到薄”,对同学们的复习尤为重要 . 以常微分方程为例, 本部分内容涉及可分离变量、 一阶齐次、 一阶非齐次、 全微分方程、 高阶线性微分方程等内容, 在看完这部分内容会发现要掌握的解题方法太多, 遇到具体的题 目不知该如何下手, 这种情况往往是因为没有很好地总结和归纳解题方法 . 下面以表格的形 式将常微分方程中的解题方法加以总结,一目了然,便于记忆和查询 . 常微分方程 通解公式或解法 ( 名称、形式 ) 当 g( y) 0 时,得到 dy f (x)dx , g( y) 可分离变量的方程 dy f ( x) g( y) 两边积分即可得到结果; dx 当 g( 0 ) 0 时,则 y( x) 0 也是方程的 解 . 解法:令 u y xdu udx ,代入 ,则 dy 齐次微分方程 dy g( y ) x dx x u g (u) 化为可分离变量方程 得到 x du dx 一 阶 线 性 微 分 方 程 P ( x)dx P ( x) dx dy Q(x) y ( e Q( x)dx C )e P( x) y dx

伯努利方程 解法:令 u y1 n,有 du (1 n) y n dy , dy P( x) y Q( x) y n(n≠0,1)代入得到du (1 n) P(x)u (1 n)Q(x) dx dx 求解特征方程:2 pq 三种情况: 二阶常系数齐次线性微分方程 y p x y q x y0 二阶常系数非齐次线性微分方程 y p x y q x y f ( x) (1)两个不等实根:1, 2 通解: y c1 e 1x c2 e 2x (2) 两个相等实根:1 2 通解: y c1 c2 x e x (3) 一对共轭复根:i , 通解: y e x c1 cos x c2 sin x 通解为 y p x y q x y 0 的通解与 y p x y q x y f ( x) 的特解之和. 常见的 f (x) 有两种情况: x ( 1)f ( x)e P m ( x) 若不是特征方程的根,令特解 y Q m ( x)e x;若是特征方程的单根,令特 解 y xQ m ( x)e x;若是特征方程的重根, 令特解 y*x2Q m (x)e x; (2)f (x) e x[ P m ( x) cos x p n ( x)sin x]

郑州大学研究生课程数值分析复习---第八章 常微分方程数值解法

郑州大学研究生课程(2012-2013学年第一学期)数值分析 Numerical Analysis 习题课 第八章常微分方程数值解法

待求解的问题:一阶常微分方程的初值问题/* Initial-Value Problem */: ?????=∈=0 )(] ,[),(y a y b a x y x f dx dy 解的存在唯一性(“常微分方程”理论):只要f (x , y ) 在[a , b ] ×R 1 上连续,且关于y 满足Lipschitz 条件,即存在与x , y 无关的常数L 使 对任意定义在[a , b ] 上的y 1(x ) 和y 2(x ) 都成立,则上述IVP 存在唯一解。 1212|(,)(,)||| f x y f x y L y y ?≤?一、要点回顾

§8.2 欧拉(Euler)法 通常取(常数),则Euler 法的计算格式 h h x x i i i ==?+1?? ?=+=+) (),(001x y y y x hf y y i i i i i =0,1,…,n ( 8.2 )

§8.2 欧拉(Euler)法(1) 用差商近似导数 )) (,()()()()(1n n n n n n x y x hf x y x y h x y x y +=′+≈+?? ?=+=+) (),(01a y y y x hf y y n n n n 差分方程初值问题向前Euler 方法h x y x y x y n n n ) ()()(1?≈ ′+)) (,() ()(1n n n n x y x f h x y x y ≈?+))(,()(n n n x y x f x y =′

有限差分法求解偏微分方程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) 求解区域的网格划分步长参数如下:

微分方程的分类及其数值解法

微分方程的分类及其数值解法 微分方程的分类: 含有未知函数的导数,如dy/dx=2x 、ds/dt=0.4都是微分方程。 一般的凡是表示未知函数、未知函数的导数与自变量之间的关系的方程,叫做微分方程。未知函数是一元函数的,叫常微分方程;未知函数是多元函数的叫做偏微分方程。微分方程有时也简称方程。 一、常微分方程的数值解法: 1、Euler 法: 00d (,), (1.1)d (), (1.2) y f x y x y x y ?=???=? 001 (),(,),0,1,,1n n n n y y x y y hf x y n N +=??=+=-? (1.4) 其中0,n b a x x nh h N -=+=. 用(1.4)求解(1.1)的方法称为Euler 方法。 后退Euler 公式???+==+++),,(),(111 00n n n n y x hf y y x y y 梯形方法公式 )].,(),([2 111+++++=n n n n n n y x f y x f h y y 改进的Euler 方法11(,),(,),1().2p n n n c n n p n p c y y hf x y y y hf x y y y y ++?=+??=+???=+??? 2、Runge-Kutta 方法: p 阶方法 : 1()O h -=?总体截断误差局部截断误差 二阶Runge-Kutta 方法 ??? ????++==++=+),,(),,(,2212 1211hk y h x f k y x f k k h k h y y n n n n n n

数值分析_第五章_常微分方程数值解法

图5畅2 令珔h =h λ,则y n +1=1+珔 h +12珔h 2 +16珔h 3+124 珔 h 4y n .由此可知,绝对稳定性区域在珔h =h λ复平面上满足 |1+珔 h +12珔h 2+16珔h 3+124珔h 4 |≤1的区域,也就是由曲线 1+珔h + 12珔h 2+16珔h 3+124 珔h 4=e i θ 所围成的区域.如图5畅2所示. 例22 用Euler 法求解 y ′=-5y +x ,y (x 0)=y 0,  x 0≤x ≤X . 从绝对稳定性考虑,对步长h 有何限制? 解 对于模型方程y ′=λy (λ<0为实数)这里λ=抄f 抄y =-5.由 |1+h λ|=|1-5h |<1 得到对h 的限制为:0<h <0畅4. 四、习题 1畅取步长h =0畅2,用Euler 法解初值问题 y ′=-y -x y 2 , y (0)= 1.  (0≤x ≤0畅6), 2畅用梯形公式解初值问题 y ′=8-3y ,  (1≤x ≤2),

取步长h=0畅2,小数点后至少保留5位. 3畅用改进的Euler公式计算初值问题 y′=1x y-1x y2, y(1)=0畅5,  1<x<1畅5, 取步长h=0畅1,并与精确解y(x)= x 1+x比较. 4畅写出用梯形格式的迭代算法求解初值问题 y′+y=0, y(0)=1 的计算公式,取步长h=0畅1,并求y(0畅2)的近似值,要求迭代误差不超过10-5. 5畅写出用四阶经典Runge唱Kutta法求解初值问题 y′=8-3y, y(0)=2 的计算公式,取步长h=0畅2,并计算y(0畅4)的近似值,小数点后至少保留4位. 6畅证明公式 y n+1=y n+h9(2K1+3K2+4K3). K1=f(x n,y n), K2=f x n+h2,y n+h2K1, K3=f x n+34h,y n+34h K2, 至少是三阶方法. 7畅试构造形如 y n+1=α(y n+y n-1)+h(β0f n+β1f n-1)

偏微分方程求解方法及其比较

偏微分方程求解方法及其比较 发表时间:2008-12-11T09:32:01.530Z 来源:《科海故事博览科教创新》2008年第10期供稿作者:曹海洋吕淑娟王淑芬 [导读] 近些年来,无限维动力系统得到了很大的发展.随着对它研究的深入和计算能力的迅速提高,使得与之相关的数值研究越来越被人们关注.谱方法作为一种数值求解偏微分方程的方法,它具有无穷阶收敛性.因此,谱方法也就引起人们更多的关注. 摘要:近些年来,无限维动力系统得到了很大的发展.随着对它研究的深入和计算能力的迅速提高,使得与之相关的数值研究越来越被人们关注.谱方法作为一种数值求解偏微分方程的方法,它具有无穷阶收敛性.因此,谱方法也就引起人们更多的关注. 关键词:谱方法;偏微分;收敛;逼近; 1偏微分方程及其谱方法的介绍 偏微分方程主要借助于未知函数及其导数来刻画客观世界的物理量的一般变化规律。理论上,对偏微分方程解法的研究已经有很长的历史了。最初的研究工作主要集中在物理,力学,几何学等方面的具体问题,其经典代表是波动方程,热传导方程和位势方程(调和方程)。通过对这些问题的研究,形成了至今仍然使用的有效方法,例如,分离变量法,fourier变换法等。早期的偏微分方程研究主要集中在理论上,而在实际操作中其研究方法和研究结果都难以得到广泛的应用。求解的主要方法为:有限差分法,有限元法,谱方法。 谱方法起源于Ritz-Galerkin方法,它是以正交多项式(三角多项式,切比雪夫多项式,勒让得多项式等)作为基函数的Galerkin方法、Tau 方法或配置法,它们分别称为谱方法、Tau方法或拟谱方法(配点法),通称为谱方法。谱方法是以正交函数或固有函数为近似函数的计算方法。从函数近似角度看.谱方法可分为Fourier方法.Chebyshev或Legendre方法。前者适用于周期性问题,后两者适用于非周期性问题。而这些方法的基础就是建立空间基函数。 下面介绍几种正交多项式各种节点的取值方法及权重。 1) Chebyshev-Gauss: 2) Chebyshev-Gauss-Radau: x0 =1, 3) Chebyshev-Gauss-Lobatto: x0 =1, xN =1, 4)Legendre-Gauss: xj 是的零点且 5) Legendre-Gauss-Radau: xj 是的N+1个零点且 6) Legendre-Gauss-Lobatto: x0=-1,xN=1其它N-1个点是的零点且 下面介绍谱方法中最重要的Jacobi正交多项式其迭代公式为: 其中: Jacobi正交多项式满足正交性: 而Chebyshev多项式是令时Jacobi多项式的特殊形式,另外Legendre多项式是令时Jacobi多项式的特殊形式。 2 几种典型的谱方法 谱方法是以正交函数或固有函数为近似函数的计算方法。谱近似可以分为函数近似和方程近似两种近似方式。从函数近似角度看.谱方法可分为Fourier方法.Chebyshev或Legendre方法。前者适用于周期性问题,后两者适用于非周期性问题。从方程近似角度看,谱方法可分为在物理空间离散求解的Collocation法、在谱空间进行离散求解的Galerkin法,以及先在物理空间离散求积,再变换到谱空间求解的Pseudo-spectral法。Collocation法适用于非线性问题.Galerkin法适用于线性问题,而Pseudo-spectral法适用于展开方程时的非线性项的处理。谱方法的特点是对光滑函数指数性逼近的谱精度;以较少的网格点得到较高的精度;无相位误差;适合多尺度的波动性问题;计算精度高于其他方法。快速傅立叶变化的提出大大促进了谱方法的发展,迄今已有各种的谱方法计算格式被提出.并被应用于天文学、电磁学、地理学等各种问题的计算。 下面介绍一下应用于各个区域的几种谱方法: 1)以Fourier谱方法为例介绍谱方法解方程的主要过程 以一阶波动方程为例: 其中u(x,t)为方程的解,L是包含u和u关于空间变量的导数的算子,除了方程以有初始条件和适当的边界条件。 故可设其中为试探空间的基函数,ak(t)为展开系数,对于傅立叶谱方法中的共轭有: 其中从而利用其正交性和周期性可以减少工作量,另外再结合边界条件就可以求出来。 2) Galerkin方法是谱方法中十分经典的解偏微分方程的方法,但还有其局限性,而利用Hermite谱方法中依赖时间的权函数对经典的Galerkin方法进行拓展后的新的方法能适用范围扩大了很多。它能很好的应用在微分方程最优控制问题有限元方法的分析中,并且如果能够灵活运用利用Chebyshev方法、Galerkin方法和配置方法,则会形成更强的计算方法。如将Tau方法的思想成功地应用于奇数阶微分方程Petrov-Galerkin谱方法。 3)在无界区域上谱方法和拟谱方法发展了以Hermite函数和Laguerre函数为基函数的正交逼近和插值理论,在这些结果的基础上发展了全空间和半空间上数理方程的谱方法和拟谱方法,从而形成一种新的能更好解决误解区域问题的方法,此种方法被很好的应用于统计物理、量子力学和流体力学中。 4) 我们利用非一致带权Sobolev空间中的Jacobi多项式正交逼近和Jacobi-Gauss型插值理论,提出以Jacobi多项式为基函数的Jacobi谱方法和拟谱方法用来解决一些奇异问题和计算某些特定的无界区域问题。 5)有限谱方法是基于有限点、有限项的局域谱方法。这种方法要求近似函数应具有等同隔网格和非周期性的性质。有限谱方法分为基于非

偏微分方程式之求解

第六章偏微分方程式之求解 在化工的领域中,有不少程序之动态是由以偏微分方程式(Partial differential equation;PDE)所描述的,例如热与质量在空间中的传递等。这些用以描述实际问题的PDE,除非具有某些特定的方程式型态及条件,否则甚难以手算的方式找出解析解。而在数值求解方面,最常被采用的方法为有限差分法(finite difference)何有限元素法(finite element)。然对于某些不熟悉数值分析及程序编写的化工人而言,欲充分了解以偏微分方程式所描述之系统动态是相当不容易的,更遑论进一步的设计与分析了。 值得庆幸的是,MATLAB 的环境中提供了一个求解PDE 问题的工具箱,让使用者得以利用简单的指令或图形接口工具输入欲解的PDE,并求解。使得PDE 之数值解在弹指之间完成,使用者不在为数值法所苦恼,轻松掌握偏微分方程式系统的动态,并可进一步进行后续之设计工作。 本章将以循渐进的方式,介绍PDE 工具箱及其用法,并以数个典型的化工范例进行示范,期能使初学者很快熟悉PDE工具箱,并使用它来设计与分析以偏微方方程式所描述的程序系统。 6.1 偏微分方程式之分类 偏微分方程式可根据其阶数(order),线性或非线性型态,以及边界条件进行分类。 6.1.1依阶数的分类 偏微分方程式是以偏微分项中之最高次偏微分来定义其阶数,例如: 一阶偏微分方程式: xy 二阶偏微分方程式: 三阶偏微分方程式: 6.1.2 依非线性程度分类

偏微分方程式亦可以其线性或非线性情况,区分为线性 (linear),似线性 (quasilinear),以及非线性三类。 例如,以下之二阶偏微分方程式 (Constantinides and Mostoufi,1999) 可依系数 ( )之情况,进行如下表之归类 类别 情况 线性 似线性 系数 ( )为定值,或仅为 (x,y)函数 系数 ( )为依变数 (dependent variable)u 或其比方程式中之偏微 分低阶之偏微分项的函数,如 ( ) (x,y,u, u x, u y) 非线性 系数 ( )中,具有与原方程式之偏微分同阶数之变数,如 () (x,y,u, 2u x 2 , 2 u y 2, 2u x y) 另外,对于线性二阶偏微分方程式,可进一步将其分类为椭圆型 (elliptic) ,拋 物线型 (parabolic),以及双曲线型 (hyperbolic) 。具体上来说,此类偏微分方程 式二阶线性之 一般式为 系数a,b,c,d,e 和 f 是定值或为 u 的函数。若 g=0,则上式为其次是偏微分方程 式。式子 ( )之分类及代表性例子,请见下表 (c ~ u) a ~ u f 2 热传导或扩散方程式 u 2 u xt a() 2 u y 2 22 uu b( ) c( ) 2 x y x 2 d() 0 22 uu b c 2 x y y 2 d u e u fu g 0 xy 方程式类别 判断式 椭圆型 b 2 4ac 0 拋物线型 b 2 4ac 0 代表性范例 Laplace 方程式, Poisson 方程式, 22 uu 22 xy 22 uu 22 xy f (x,y) x 2 t (c ~ u) a ~ u f

微分方程数值方法习题二

并与真解u(x) 2e x x 1相比较. 微分方程数值方法 常微分方程初值问题习题一 u' ax b, u(0) 0, 分别写出Euler 法和改进的Euler 法的近似解 府 的表达式,并求 它们与真解u(x) -ax 2 bx 的差u(X m ) U m . 2. 取步长h 0.1,分别用Euler 法和改进的Euler 法求下列初值问 题的解,并与真解相比较. 真解 u(x) .1 2x ; 2 ,u x . c (2) u 2 ,1 x 2, x u u(1) 2, 1 真解 u(x) x(8 31 n x)3 ; u x u '広乔 u(1) 1, 3 1 真解 u(x) (4x 2 3x 2)3. X 2 3. 用Euler 法计算0£dt 在x 0.1,0.2的近似值. 4. 取步长h 0.2,用四阶Runge-Kutta 法解 u' u x, 0 x 1, u(0) 1, 1.对初值问题 (1) u' u 2x 0x1, u(0) u 1 , (3) 1 x 1.5,

5. 设 f(x,u)关于 u 满足 Lipschitz 条件,证明 N 级 Runge-Kutta 法中的增量函数 (x,u,h)关于u 也满足 Lipschitz 条件. 6. 对初值问题 u' u x 1, u(0) 1, 写出四阶Taylor 级数法和四阶 Runge-Kutta 法的计算公式,它们 是否相同. 7. 证明改进的Euler 法的绝对稳定区间是(-2,0). 8.证明:当h( h)满足 3 4 h h 24 时,四阶 Runge-Kutta 法绝对稳定. 9. 用Tayor 展开确定下面多步法中的系数,使其阶尽可能高,并求 局部截断误差的主项. 10. 对初值问题 u'' f(x,u), u(X °) u °,u'(x 0) u 10, 确定求解公式 (3) u m1 a 2u m 1 h( m 1 2 ). (1) u m 1 a 1u m a 2u m 1 h 0 f m 1 ;

偏微分方程数值解法答案

1. 课本2p 有证明 2. 课本812,p p 有说明 3. 课本1520,p p 有说明 4. Rit2法,设n u 是u 的n 维子空间,12,...n ???是n u 的一组基底,n u 中的任一元素n u 可 表为1n n i i i u c ?==∑ ,则,11 11()(,)(,)(,)(,)22j n n n n n n i j i j j i j j J u a u u f u a c c c f ???=== -=-∑∑是12,...n c c c 的二次函数,(,)(,)i j j i a a ????=,令 () 0n j J u c ?=?,从而得到12,...n c c c 满足1 (,)(,),1,2...n i j i j i a c f j n ???===∑,通过解线性方程组,求的i c ,代入1 n n i i i u c ?==∑, 从而得到近似解n u 的过程称为Rit2法 简而言之,Rit2法:为得到偏微分方程的有穷维解,构造了一个近似解,1 n n i i i u c ?== ∑, 利用,11 11()(,)(,)(,)(,)22j n n n n n n i j i j j i j j J u a u u f u a c c c f ???===-=-∑∑确定i c ,求得近似解n u 的过程 Galerkin 法:为求得1 n n i i i u c ? == ∑形式的近似解,在系数i c 使n u 关于n V u ∈,满足(,)(,) n a u V f V =,对任 意 n V u ∈或(取 ,1j V j n ?=≤≤) 1 (,)(,),1,2...n i j i j i a c f j n ???===∑的情况下确定i c ,从而得到近似解1 n n i i i u c ?==∑的过程称 Galerkin 法为 Rit2-Galerkin 法方程: 1 (,)(,)n i j i j i a c f ???==∑ 5. 有限元法:将偏微分方程转化为变分形式,选定单元的形状,对求解域作剖分,进而构 造基函数或单元形状函数,形成有限元空间,将偏微分方程转化成了有限元方程,利用 有效的有限元方程的解法,给出偏微分方程近似解的过程称为有限元法。 6. 解:对求解区间进行网格剖分,节点01......i n a x x x x b =<<<<=得到相邻节点1,i i x x -

偏微分方程程序附件

程序 一、 计算下面双曲方程的近似解 解法: 1、 一阶迎风格式 程序: function upwind1(h,lamda) %迎风格式 一阶精度 显示格式 x=h:h:10-h; tao=lamda*h; t=tao:tao:5-tao; [X,T]=meshgrid(x,t); i=1:10/h; j=1:5/tao; u(i,j)=0; for n=2:5/tao for m=2:10/h u(m,n)=u(m,n-1)-lamda*(u(m,n-1)-u(m-1,n-1))+2*tao*(n-1)*tao*sin(m*h)+(n-1)^2*tao^3*cos(m *h); %迎风格式 end end for n=1:5/tao-1 for m=1:10/h-1 U(m,n)=u(m+1,n+1); end end U=U'; figure(1); grid on; mesh(X,T,U); xlabel('x 轴'); ylabel('t 轴'); zlabel('u 轴'); title('迎风格式差分曲面图'); %计算误差 ??? ????==<<<<+=??+??== 0| 0|105,00,cos sin 2 0 02x t u u x t x t x t x u t u

jj=1:5/tao-1; uu(ii,jj)=0; for nn=1:5/tao-1 for mm=1:10/h-1 uu(mm,nn)=(nn*tao)^2*sin(mm*h); end end UU=uu'; error= U-UU; figure(2); mesh(X,T,error); %mesh(X,T,UU); xlabel('x轴'); ylabel('t轴'); zlabel('u轴'); title('迎风格式误差曲面图'); figure(3); mesh(X,T,UU); xlabel('x轴'); ylabel('t轴'); zlabel('u轴'); title('古典解'); 2、Lax-Wendroff格式 function lax_w1(h,lamda) %Lax-Wendroff 二阶精度显示格式 x=h:h:10-h; tao=lamda*h; t=tao:tao:5-tao; [X,T]=meshgrid(x,t); i=1:10/h; j=1:5/tao; u(i,j)=0; for n=2:5/tao for m=2:10/h if m==10/h u(m,n)=u(m,n-1)-lamda*(u(m,n-1)-u(m-1,n-1))+2*tao*(n-1)*tao*sin(m*h)... +(n-1)^2*tao^3*cos(m*h); %用迎风格式处理边界问题 else u(m,n)=u(m,n-1)-0.5*lamda*(u(m+1,n-1)-u(m-1,n-1))+2*tao*(n-1)*tao*sin(m*h)... +tao*((n-1)*tao)^2*cos(m*h)+0.5*lamda^2*(u(m+1,n-1)-2*u(m,n-1)+u(m-1,n-1))... +tao^2*(n-1)*tao*(sin(m*h)-cos(m*h))+0.5*tao^2*(n-1)^2*tao^2*(sin(m*h)+cos(m*h)); %Lax-Wendroff差分格式

常微分方程数值方法

常微分方程数值方法 1、欧拉方法:1,,1,0),,(1-=+=+n k y t hf y y k k k k . function E=euler(f,a,b,ya,n) % Input - f is the function entered as a string 'f' % - a and b are the left and right end points % - ya is the initial condition y(a) % - n is the number of steps % Output - E=[T' Y'] where T is the vector of abscissas and % Y is the vector of ordinates h=(b-a)/n; T=zeros(1,n+1); Y=zeros(1,n+1); T=a:h:b; Y(1)=ya; for j=1:n Y(j+1)=Y(j)+h*feval(f,T(j),Y(j)); end E=[T' Y']; 【例】 用欧拉方法求解区间]3,0[内的初值问题:1)0(,2'=-=y y t y 。 f=inline('(t-y)/2','t','y');a=0;b=3;ya=1;n=12; %n=3,6,12,24,48,96... E=euler(f,a,b,ya,n),plot(E(:,1),E(:,2),'r*'),hold on 符号解:y=dsolve('Dy=(t-y)/2','y(0)=1') h=(3-0)/12;t=0:h:3;y=eval(y);[t' y'] 用图比较数值解:(f 为ode 函数文件) ode45('f',[0,3],1) 2、休恩(Huen)方法(即改进Euler 方法): 1 ,,1,0)],,(,(),([211-=+++=++n k y t hf y t f y t f h y y k k k k k k k k function H=heun(f,a,b,ya,n) % Input - f is the function entered as a string 'f' % - a and b are the left and right end points % - ya is the initial condition y(a) % - n is the number of steps % Output - H=[T' Y'] where T is the vector of abscissas and % Y is the vector of ordinates h=(b-a)/n; T=zeros(1,n+1); Y=zeros(1,n+1); T=a:h:b; Y(1)=ya; for j=1:n k1=feval(f,T(j),Y(j)); k2=feval(f,T(j+1),Y(j)+h*k1); Y(j+1)=Y(j)+(h/2)*(k1+k2); end H=[T' Y'];

相关文档
最新文档