微分方程数值求解方法

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 +=----

计算方法_微分方程数值解

120 第6章 常微分方程初值问题数值解法 6.1 问题的描述和基本概念 1、常微分方程初值问题 ● 一般形式 0(,)()y f x y y a y '=??=? 式中(,)f x y 已知,0()y a y =称为初值条件. ● 初值问题的数值方法和数值解 求函数()y y x =在若干离散点k x 上的近似值 (0,1,)k y k = 的方法称为初值问题的数值方法,而 称(0,1,)k y k = 为初值问题的数值解.

121 2. 建立数值解法的思想与方法 用离散化方法将初值问题化为差分方程, 然后再求解. 设节点为 011n n a x x x x +=<<<<< 距离1k k k h x x +=-称为步长. 求数值解一般是从0y 开使逐次顺序求出12,,y y . 初值问题的解法有单步法和多步法两种: ● 单步法:计算1k y +时只用到k y 一个值; ● 多步法:计算1k y +时要用1,,,k k k l y y y -- 多个值。 数值解法还有显格式和隐格式之分。

122 微分方程离散化方法主要有 数值微分法,数值积分法和Taylor 展开法 1) 数值微分法 由'()(,())k k k y x f x y x =,用数值微分的2点前差公式代替'()k y x ,得近似离散化方程 记1k k h x x +=-,做k k ,“”,得差分方程 1(,)k k k k y y f x y h +-= 即 1(,)k k k k y y hf x y +=+ (Euler 公式) 由初值条件0()y y a =及Euler 公式可求出数值解 12,,,,n y y y .Euler 公式是显式单步法.

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

第十章 偏微分方程数值解法 偏微分方程问题,其求解十分困难。除少数特殊情况外,绝 大多数情况均难以求出精确解。因此,近似解法就显得更为重要。本章仅介绍求解各类典型偏微分方程定解问题的差分方法。 §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 =′

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

微分方程的分类及其数值解法 微分方程的分类: 含有未知函数的导数,如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)有限谱方法是基于有限点、有限项的局域谱方法。这种方法要求近似函数应具有等同隔网格和非周期性的性质。有限谱方法分为基于非

微分方程数值方法习题二

并与真解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、欧拉方法: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'];

解微分方程方法

MATLAB解微分方程(2011-07-15 17:35:25) 转载▼ 分类:matlab学习标签: 教育

先说明一下最常用的ode45调用方式,和相应的函数文件定义格式。 [t,x]=ode45(odefun,tspan,x0); 其中,Fun就是导函数,tspan为求解的时间区间(或时间序列,如果采用时间序列,则必须单调),x0为初值。 这时,函数文件可以采用如下方式定义 function dx=odefun(t,x) 对于上面的小例子,可以用如下的程序求解。

2.终值问题 tspan可以是递增序列,也可以为递减序列,若为递减则可求解终值问题。 [t,x]=ode45(@zhongzhiode,[3,0],[1;0;2]);plot(t,x) function dx=zhongzhiode(t,x) dx=[2*x(2)^2-2; -x(1)+2*x(2)*x(3)-1; -2*x(2)+2*x(3)^2-4]; 结果如下 3.odeset options = odeset('name1',value1,'name2',value2,...) [t,x]=solver(@fun,tspan,x0,options) 通过odeset设置options 第一,通过求解选项的设置可以改善求解精度,使得原本可能不收敛的问题收敛。options=odeset('RelTol',1e-10);

第二,求解形如M(t,x)x'=f(t,x)的方程。 例如,方程 x'=-0.2x+yz+0.3xy y'=2xy-5yz-2y^2 x+y+z-2=0 可以变形为 [1 0 0][x'] [-0.2x+yz+0.3xy] [0 1 0][y']=[2xy-5yz-2y^2 ] [0 0 1][z'] [x+y+z-2 ] 这样就可以用如下的代码求解该方程 function mydae M=[1 0 0;0 1 0;0 0 0]; options=odeset('Mass',M); x0=[1.6,0.3,0.1]; [t,x]=ode15s(@daedot,[0,1.5],x0,options);plot(t,x) function dx=daedot(t,x) dx=[ -0.2*x(1)+x(2)*x(3)+0.3*x(1)*x(2); 2*x(1)*x(2)-5*x(2)*x(3)-2*x(2)*x(2); x(1)+x(2)+x(3)-2]; 4.带附加参数的ode45

求解偏微分方程三种数值方法

数值模拟偏微分方程的三种方法介绍 (有限差分方法、有限元方法、有限体积方法) I.三者简介 有限差分方法(Finite Difference Methods)是数值模拟偏微分方程最早采用的方法,至今仍被广泛使用。该方法包括区域剖分和差商代替导数两个步骤。首先将求解区域划分为差分网格,用有限个网格节点代替连续的求解区域。其次,利用Taylor级数展开等方法将偏微分方程中的导数项在网格节点上用函数值的差商代替进行离散,从而建立以网格节点上的值为未知量的代数方程组。该方法是一种直接将微分问题变为代数问题的近似数值解法,数学概念直观,表达简单,是发展较早且十分成熟的数值方法。 差商代替导数后的格式称为有限差分格式,从格式的精度来考虑,有一阶格式、二阶格式和高阶格式。从差分的空间离散形式来考虑,有中心格式和迎风格式。对于瞬态方程,考虑时间方向的离散,有显格式、隐格式、交替显隐格式等。目前常见的差分格式,主要是以上几种格式的组合,不同的组合构成不同的差分格式。差分方法主要适用于结构网格,网格的大小一般根据问题模型和Courant 稳定条件来决定。 有限元方法(Finite Element Methods)的基础是虚位移原理和分片多项式插值。该方法的构造过程包括以下三个步骤。首先,利用虚位移原理得到偏微分方程的弱形式,将计算区域划分为有限个互不重叠的单元(三角形、四边形、四面体、六面体等),在每个单元上选择合适的节点作为求解函数的插值点,将偏微分方程中的变量改写成由各变量或其导数的节点值与所选用的分片插值基函数组成的线性表达式,得到微分方程的离散形式。利用插值函数的局部支集性质及数值积分可以得到未知量的代数方程组。 有限元方法有较完善的理论基础,具有求解区域灵活(复杂区域)、单元类型灵活(适于结构网格和非结构网格)、程序代码通用(数值模拟软件多数基于有限元方法)等特点。有限元方法最早应用于结构力学,随着计算机的发展已经渗透到计算物理、流体力学与电磁学等各个数值模拟领域。

相关文档
最新文档