当前位置:文档之家› 讲义二:卷积与微分方程的数值法求解

讲义二:卷积与微分方程的数值法求解

讲义二:卷积与微分方程的数值法求解
讲义二:卷积与微分方程的数值法求解

讲义二:卷积与微分方程的数值法求解

一、 从离散卷积和到连续卷积

序列f 1(k )和f 2(k )的离散卷积定义式为

()()()()1212i f k f k f i f k i ∞=?∞?=

?∑ 用来计算离散卷积的函数为:

f=conv(f1,f2) f1,f2为参与卷积运算的两个序列,f 为卷积的

结果,长度为length(f1)+length(f2)-1。

[f,r]=deconv(f1,f2) 解卷运算,使f1=conv(f,f2)+r 成立

EX 错误!文档中没有指定样式的文字。-1 ()()1sin ,010x k k k =≤≤,

()20.8,015k x k k =≤≤,计算离散卷积和()y k =()1x k ?()2x k 。

%程序5_1 计算离散卷积和

k1=0:10; %x1的变量取值范围

x1=sin(k1); %构建x1序列

k2=0:15; %x2的变量取值范围

x2=0.8.^k2; %构建x2序列

y=conv(x1,x2); %计算卷积结果

%显示卷积结果

subplot(3,1,1);stem(k1,x1);title('x_1(k)');

subplot(3,1,2);stem(k2,x2);title('x_2(k)');

k=0:length(y)-1;

subplot(3,1,3);stem(k,y);title('y(k)');

下面讨论连续卷积的计算:

连续时间函数1()f t 和2()f t 的卷积定义为:

()()()()()1212f t f t f t f f t d τττ∞

?∞=?=?∫

由于计算机实际处理的数据必须满足:1、离散存储;2、有限数据量。连续信号的处理必须首先经过数值化的过程,以离散的形式被分析、保存和处理。用数值方法计算卷积需要将卷积积分看作信号的分段求和来实现,这样会得到一定的精确度要求下的卷积。

()()()()()()()1212120lim k f t f t f t f f t d f k f t k τττ∞

?∞Δ→=?∞=?=?=Δ?ΔΔ∑∫ 如果我们只求当t n =Δ(n 为整数)时f (t )的值()f n Δ,则得:

()()()()1212[()]k k f n f k f n k f k f n k ∞∞=?∞=?∞Δ≈

ΔΔ?ΔΔ=ΔΔ?Δ∑∑ 式中的()12[()]k f k f n k ∞=?∞

Δ?Δ∑实际上就是连续信号f 1(t )和f 2(t )经等时间

间隔Δ均匀抽样的离散序列1()f k Δ和2()f k Δ的离散卷积和。当Δ足够小

时,()f n Δ就是卷积积分的近似计算结果。

因此,MATLAB 实现数值卷积的过程可总结如下:

1. 将连续信号f 1(t )和f 2(t )以时间间隔Δ进行取样,得到离散序列1()f k Δ和2()f k Δ。

2. 构造与1()f k Δ和2()f k Δ相对应的时间向量k1 和k2(向量k1和k2 是

取样时间间隔 的整数倍)。

3. 调用MATLAB 计算离散卷积和的指令conv()函数计算卷积积分f (t )的近似向量()f n Δ。

4. 构造()f n Δ对应的时间向量k(共length(k1)+length(k2)-1项,由k1与k2首项之和开始,以Δ为间隔,至k1与k2长度之和减2为止)。

例:数值计算f 1(t )=e -t ε(t ),f 2(t )=te -t ε(t )的卷积。

%程序2-6 卷积的数值计算

dt=0.01;

k1=0:dt:6;

f1=exp(-k1);%生成信号f1

k2=k1;

f2=k2.*exp(-k2);%生成信号f2

f=dt*conv(f1,f2);%计算卷积结果f

k0=k1(1)+k2(1); %计算序列f 非零样值的起点位置

k3=length(f1)+length(f2)-2; %计算卷积和f 的非零样值的宽度

k=k0:dt:k0+k3*dt; %确定卷积和f 非零样值的时间向量 subplot(2,2,1);

plot(k1,f1);title('f1(t)');xlabel('t'); %在子图1 绘f1(t)时域波形图 subplot(2,2,2);

plot(k2,f2);title('f2(t)');xlabel('t'); %在子图2 绘f2(t)时波形图 subplot(2,2,3);

plot(k,f); %画卷积f(t)的时域波形

h=get(gca,'position');

h(3)=2.5*h(3);set(gca,'position',h); %将第三个子图的横坐标范围扩为原来的2.5 倍

title('f(t)=f1(t)*f2(t)');xlabel('t');

二、 微分方程的数值求解

基本思想是把微分方程化为差分方程即可。比如二阶微分方程:''''y ay by cf df ++=+,两个初始条件一般设定为:y(0-);y'(0-)。利用计算机进行数值化近似求解时,需要把微分化为差分:

()()y t y k ?

()1[()(1)]s

dy t y k y k dt T ??? 222

()1[()2(1)(2)]s d y t y k y k y k dt T ???+? 利用这些转化公式,原微分方程就变成了一个形如:

()(1)(2)()(1)y k y k y k f k f k αβγλ+?+?=+?形式的后向差分方程。求解原微分方程就转化为求解差分方程。但是求解差分方程需要的初始条件y(-

1);y(-2)如何得到呢?

考虑到y(0-)是激励加入前连续系统的初始状态,相应离散系统激励加入前的初始状态是y(-1),所以又可以得到以下方程组: (0)(1)

(1)(2)'(0)S

y y y y y T ?≈?????≈ 根据此式求出差分方程的初始条件,之后用迭代法求解即可。 如果连续系统给出的是初始条件y(0+);y'(0+),那么求离散系统初始条件的方程组应该为:

(0)(0)

(1)(0)'(0)S

y y y y y T +≈?+≈

例:数值法求解微分方程''4'3'3y y y f f ++=+,初始条件为:y(0-)=y'(0-)=1,()()f t t ε=。步长取T S =0.1,求解范围为区间[0,4]。 解:计算知全响应为:3()(1)()t t y t e e t ε??=?+,绘制曲线进行对照。 把微分方程转化为差分方程为

143()240(1)100(2)13()10(1)y k y k y k f k f k ??+?=??

初始条件需要求解方程组:

(1)1

(1)(2)10.1

y y y ?=???= 得到:y(-1)=1;y(-2)=0.9。

Matlab 程序如下.

Ts=0.1; %时间间隔

n=1:4/Ts+2; %坐标1,2代表初始条件坐标-2,-1

F(n)=1;F(1)=0;F(2)=0; %激励信号初始条件

Y(1)=0.9;Y(2)=1; %输入初始条件y(-2)=0.9;y(-1)=1

for k=3:length(n) %迭代求解

Y(k)=(13*F(k)-10*F(k-1)-100*Y(k-2)+240*Y(k-1))/143;

end

n1=(n-3)*Ts;

subplot(2,1,1);plot(n1,Y);

xlabel('t');ylabel('y(t)');title('全响应(数值计算)');grid on;

subplot(2,1,2);ezplot('-exp(-3*t)+exp(-t)+1',[0,4]);

xlabel('t');ylabel('y(t)');title('全响应');grid on;

为了使用方便,MATLAB 提供了直接数值解算微分方程的常用指令如:ode45、ode23等;利用符号工具包中的dsolve 函数也可以很方便地求解微分方程。这些指令求解的微分方程不限于线性常系数微分方程。

ode23、ode45 是极其常用的用来求解非刚性的标准形式的一阶常微分方程(组)的初值问题的解的 Matlab 的常用程序,其中:

ode23 采用龙格-库塔2 阶算法,用3 阶公式作误差估计来调节步长,具有低等的精度.

ode45 则采用龙格-库塔4 阶算法,用5 阶公式作误差估计来调节步长,具有中等的精度. 例:求解微分方程初值问题2222dy y x x dx

+=+,(0)1y ?=的数值解,求解范围为区间[0, 0.5].

fun=inline('-2*y+2*x^2+2*x','x','y');

[x,y]=ode23(fun,[0,0.5],1);

x';

y';

plot(x,y,'o-')

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 问题数值解法概论

微分方程数值解法

《微分方程数值解法》 【摘要】自然界与工程技术中的很多现象,可以归结为微分方程定解问题。其中,常微分方程求解是微分方程的重要基础内容。但是,对于许多的微分方程,往往很难得到甚至不存在精确的解析表达式,这时候,数值解提供了一个很好的解决思路。,针对于此,本文对常微分方程数值解法进行了简单研究,主要讨论了一些常用的数值解法,如欧拉法、改进的欧拉法、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)可得:

微分方程常用的两种数值解法:欧拉方法与龙格—库塔法

四川师范大学本科毕业论文 微分方程常用的两种数值解法:欧拉方法与龙 格—库塔法 学生姓名XXX 院系名称数学与软件科学学院 专业名称信息与计算科学 班级2006级 4 班 学号20060640XX 指导教师Xxx 四川师范大学教务处 二○一○年五月

微分方程常用的两种数值解法:欧拉方法与龙格—库塔法 学生姓名:xxx 指导教师:xx 【内容摘要】微分方程是最有生命力的数学分支,在自然科学的许多领域中,都 会遇到常微分方程的求解问题。当前计算机的发展为常微分方程的应用及理论研究提供了非常有力的工具,利用计算机解微分方程主要使用数值方法,欧拉方法和龙格——库塔方法是求解微分方程最典型常用的数值方法。本文详细研究了这两类数值计算方法的构造过程,分析了它们的优缺点,以及它们的收敛性,相容性,及稳定性。讨论了步长的变化对数值方法的影响和系数不同的同阶龙格—库塔方法的差别。通过编制C程序在计算机上实现这两类方法及对一些典型算例的结果分析比较,能更深切体会它们的功能,优缺点及适用场合,从而在实际应用中能对不同类型和不同要求的常微分方程会选取适当的求解方法。 关键词:显式单步法欧拉(Euler)方法龙格—库塔(Runge—Kutta)方法截断误差收敛性 Two commonly used numerical solution of differential equations:Euler method and Runge - Kutta method Student Name: Xiong Shiying Tutor:Zhang Li 【Abstract】The differential equation is the most vitality branch in mathematics. In many domains of natural science, we can meet the ordinary differential equation solution question. Currently, the development of computer has provided the extremely powerful tool for the ordinary differential equation application and the fundamental research, the computer solving differential equation mainly uses value method. The Euler method and the Runge—Kutta method are the most typical commonly value method to solve the differential equation. This article dissects the structure process of these two kinds of values commonly value method to solve the analyses their good and bad points, to their astringency, the compatibility, and the stability has made the proof. At the same time, the article discuss the length of stride to the numerical method changing influence and the difference of the coefficient different same step Runge—kutta method. Through establishing C program on the computer can realize these two kind of methods, Anglicizing some models of calculate example result can sincerely realize their function, the advantage and disadvantage points and the suitable situation, thus the suitable solution method can be selected to solve the different type and the

微分方程数值解--大纲

偏微分方程数值解 (Numerical Methods for Partial Differential Equations) 课程代码:10210801 学位课程/非学位课程:非学位课程 学时/学分:46/3 课程简介: 《偏微分方程数值解》是数学类专业必修的一门专业课。主要内容包括:变分形式和Galerkin有限元法、椭圆型方程的差分方法、抛物型方程的差分方法、双曲型方程的差分方法、离散方程的解法。通过本课程的学习,使学生掌握求解偏微分方程数值解的基本方法,能够根据具体的微分方程使用合适的计算方法。 一、教学目标 1、知识水平教学目标 偏微分方程数值解课程的教学,要使学生掌握椭圆型微分方程、抛物型微分方程、双曲型微分方程等典型方程的差分方法,了解与之相关的理论问题,理解变分原理、有限元方法以及离散方程的解法,理解各种计算方法的收敛条件和收敛速度。 2、能力培养目标 通过偏微分方程数值解课程教学,应注意培养学生以下能力: (1)连续问题离散化能力——掌握科学的思维方法,能够使用差分方法和有限元方法的各种格式对三类典型方程进行离散化处理。 (2)算法分析与设计能力——结合各类偏微分方程的特点,设计各种计算方法,对计算方法的收敛条件和收敛速度等进行分析,具体设计易于上机实现的算法。(3)离散方程组的快速求解能力——理解离散方程组的特点,使用数学软件编程,具体上机实现,进行数值模拟的动手能力。 3、素质培养目标 通过数学物理方程课程教学,应注重培养学生以下素质: (1)具体问题有限化——善于对现实世界中得到的偏微分方程进行有限差分、有限元分析的有限化思想素养。 (2)数值解法定性化——通过学习,引导学生树立偏微分方程数值求解的基本原则,培养学生对数值方法中的稳定性、收敛性和误差等进行定性分析的素质。(3)算法实现程序化——培养学生的创造性和具体实现程序化的思维,使学生学会用数学中算法的观点思考实际问题,用程序和计算机解决数学问题。 二、教学重点与难点 1、教学重点:椭圆型、抛物型、双曲型等微分方程的差分方法,有限元方法。 2、教学难点:各种计算方法的稳定性、收敛性和误差分析,变分形式。 三、教学方法与手段 以教师讲授为主,安排上机实验,辅以习题课、课堂讨论、小论文,注重理论联系实际。 四、教学内容与目标 教学内容教学目标课时分配 (46学时) 1. 边值问题的变分形式 6 二次函数的极值掌握 两点边值问题掌握

微分方程数值解

浅谈微分方程数值解法(双语)课堂教学模式 姓名:肖录明 学号:11301010232 摘要:微分方程数值解是高等院校信息与计算科学专业的一门重要专业基础课。这是一门本具有较强实际背景,专门研究科学计算的课程。这门课程理论性较强,公式多而且难记。我们还需要通过一门语言(比如MATLAB语言)来实现我们数值计算算法。由于解微分方程在科学计算中极为常见,故学好这门课程就非常有用且能为以后的学习打下基础。在我国双语教学正在慢慢的被倡导,且益处明显。本文主要探讨该课程的双语教学模式,并对在学习过程中出现的一些问题进行了思考。 关键词:微分方程数值解法双语教学科学计算 1引言 微分方程数值解法在数值分析中占有重要的地位,它以逼近论,数值代数等学科为基础,反过来又推动这些学科的发展。微分方程数值解法就主要研究如何通过离散算法将连续形式的微分方程转化为有限维问题,如代数方程组,进而来求解其近似解[1]。主要包括求解区域网格划分、离散方程的建立、方程性能分析、近似解收敛性分析等环节。微分方程数值解法在科学计算、工程技术等领域有极其广泛的应用,比如在计算物理、化学、流体力学航空航天等很多工程领域都有用到。目前已发展成为一门计算技术学科,其核心理论内容也成为高校计算数学和应用数学等专业的核心基础专业课程之一[2]。

2双语教学的必要性 双语教学主要指中英双语教学,是一种重要的教学模式,具有特殊效果和意义。 1.双语教学可丰富教学模式,转变教学理念,促进教育改革和开放。双语教学提倡用原版教材和国外的教学方式。其语言文字原汁原味,叙述合情合理,注重启发性,内容安排适合学生。这不仅使学生学到专业知识,且有助于提高英语水平,特别是专业英语阅读和写作能力。国外的教学模式以人为本,有助于转变以教师为中心、以学习知识体系为主的教育理念,促进教育改革。 2.双语教学有助于提高学生的人文素质。多学习和运用英语可以让我们发现和扬弃汉语中那些带有落后的人文价值观念和行为方式的词汇和句子,批判地接受一些思想观念和做法,使人的思维灵活有深度,个性得以发展,创新能力不断提高。大范围开展双语教学,有助于培养出具有世界主流人文素质且能很好地参与国际交流和合作的人才。 3.双语教学有助于学生以后在国内外学习、工作、考研和国际合作等带来很多方便。 微分方程数值解法既有数学上严密的逻辑性、独特的理论结构体系,又在各种工程计算中有着重要的应用,因此是联系纯数学理论和工程应用的桥梁和纽带。很多工业应用软件是利用数值方法开发成的,并且大都用英语写成。因此,有必要用双语的形式讲授这门课,让学生在学习专业知识的同时,还掌握专业英语词汇,有助于学生以后的学习和发展。从课程的体系和内容衔接上看,这门课一般安排在大学三年级。这时侯,学生对于数学分析、常微分方程、数学物理方程和计算方法等课程有了很好的基础,其中的很多概念如:导数、定积分、

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

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

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

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 公式是显式单步法.

第8章 常微分方程数值解法 本章主要内容: 1.欧拉法

第8章 常微分方程数值解法 本章主要内容: 1.欧拉法、改进欧拉法. 2.龙格-库塔法。 3.单步法的收敛性与稳定性。 重点、难点 一、微分方程的数值解法 在工程技术或自然科学中,我们会遇到的许多微分方程的问题,而我们只能对其中具有较简单形式的微分方程才能够求出它们的精确解。对于大量的微分方程问题我们需要考虑求它们的满足一定精度要求的近似解的方法,称为微分方程的数值解法。本章我们主要 讨论常微分方程初值问题?????==00 )() ,(y x y y x f dx dy 的数值解法。 数值解法的基本思想是:在常微分方程初值问题解的存在区间[a,b]内,取n+1个节点a=x 0<x 1<…<x N =b (其中差h n = x n –x n-1称为步长,一般取h 为常数,即等步长),在这些节点上把常微分方程的初值问题离散化为差分方程的相应问题,再求出这些点的上的差分方程值作为相应的微分方程的近似值(满足精度要求)。 二、欧拉法与改进欧拉法 欧拉法与改进欧拉法是用数值积分方法对微分方程进行离散化的一种方法。 将常微分方程),(y x f y ='变为() *+=?++1 1))(,()()(n x n x n n dt t y t f x y x y 1.欧拉法(欧拉折线法) 欧拉法是求解常微分方程初值问题的一种最简单的数值解法。 欧拉法的基本思想:用左矩阵公式计算(*)式右端积分,则得欧拉法的计算公式为:N a b h N n y x hf y y n n n n -= -=+=+)1,...,1,0(),(1 欧拉法局部截断误差 11121 )(2 ++++≤≤''=n n n n n x x y h R ξξ或简记为O (h 2)。

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

郑州大学研究生课程(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 微分方程的初值问题[1] 1.1 预备知识 在对生活实际问题的研究中,通常需要考虑一阶微分方程的初值问题 00(,)()dy f x y dx y x y ?=???=? (1) 这里(),f x y 是矩形区域R :00,x x a y y b -≤-≤上的连续函数. 对初值问题(1)需要考虑以下问题:方程是否一定有解呢?若有解,有多少个解呢?下面给出相关的概念与定理. 定义1 Lipschitz 条件[1][2]:矩形区域R :00,x x a y y b -≤-≤上的连续函数(),f x y 若满足:存在常数0L >,使得不等式()()1212,,f x y f x y L y y -≤-对所有()()12,,,x y x y R ∈都成立,则称(),f x y 在R 上关于y 满足Lipschitz 条件. 定理 1 解的存在唯一性定理[1][3]:设f 在区域()}{,,D x y a x b y R =≤≤∈上连续,关于y 满足Lipschitz 条件,则对任意的[]00,,∈∈x a b y R ,常微分方程初值问题(1)当[],x a b ∈时存在唯一的连续解()y x . 该定理保证若一个函数(),f x y 关于y 满足Lipschitz 条件,它所对应的微分方程的初值问题就有唯一解.在解的存在唯一性得到保证的前提下,自然要考虑方程的求

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

微分方程的分类及其数值解法 微分方程的分类: 含有未知函数的导数,如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)

微分方程数值解欧拉法

1.1、求解初值问题()?????=-=-1 0y y xe dx dy x ,已知精确解为 ()()x x x x y -+=22 12 当h=0.1时,解为: n x n y ()n x y ()n n y x y - 0 1 1 0 0.1 0.900000 0.909362 9.3616E-03 0.2 0.819048 0.835105 1.6057E-02 0.3 0.753518 0.774155 2.0637E-02 0.4 0.700391 0.723946 2.3555E-02 0.5 0.657165 0.682347 2.5182E-02 0.6 0.621775 0.647598 2.5823E-02 0.7 0.592526 0.618249 2.5723E-02 0.8 0.568034 0.593114 2.5080E-02 0.9 0.547177 0.571230 2.4053E-02 1.0 0.529051 0.551819 2.2768E-02 0.1 0.2 0.30.40.50.60.70.80.91 当h=0.05时,解为:

n x n y ()n x y ()n n y x y - 0 1 1 0 0.05 0.950000 0.952418 2.4185E-03 0.10 0.904878 0.909362 4.4835E-03 0.15 0.864158 0.870391 6.2326E-03 0.20 0.827406 0.835105 7.6996E-03 0.25 0.794223 0.803138 8.9155E-03 0.30 0.764247 0.774155 9.9084E-03 0.35 0.737147 0.747850 1.0704E-02 0.40 0.712621 0.723946 1.1324E-02 0.45 0.690397 0.702188 1.1791E-02 0.50 0.670223 0.682347 1.2124E-02 0.55 0.651876 0.664213 1.2338E-02 0.60 0.635148 0.647598 1.2450E-02 0.65 0.619855 0.632328 1.2473E-02 0.70 0.605829 0.618249 1.2420E-02 0.75 0.592918 0.605220 1.2302E-02 0.80 0.580985 0.593114 1.2129E-02 0.85 0.569909 0.581819 1.1909E-02 0.90 0.559579 0.571230 1.1651E-02 0.95 0.549896 0.561258 1.1362E-02 1.00 0.540771 0.551819 1.1048E-02 0.1 0.2 0.30.40.50.60.70.80.91

第8章常微分方程边值问题的数值解法

第8章 常微分方程边值问题的数值解法 引 言 第7章介绍了求解常微分方程初值问题的常用的数值方法;本章将介绍常微分方程的边值问题的数值方法。 只含边界条件(boundary-value condition)作为定解条件的常微分方程求解问题称为常微分方程的边值问题(boundary-value problem). 为简明起见,我们以二阶边值问题为 则边值问题(8.1.1)有唯一解。 推论 若线性边值问题 ()()()()()(),, (),()y x p x y x q x y x f x a x b y a y b αβ '''=++≤≤?? ==? (8.1.2) 满足 (1) (),()p x q x 和()f x 在[,]a b 上连续; (2) 在[,]a b 上, ()0q x >, 则边值问题(8.1.1)有唯一解。 求边值问题的近似解,有三类基本方法: (1) 差分法(difference method),也就是用差商代替微分方程及边界条件中的导数,最终化为代数方程求解;

(2) 有限元法(finite element method); (3) 把边值问题转化为初值问题,然后用求初值问题的方法求解。 差分法 8.2.1 一类特殊类型二阶线性常微分方程的边值问题的差分法 设二阶线性常微分方程的边值问题为 (8.2.1)(8.2.2) ()()()(),,(),(), y x q x y x f x a x b y a y b αβ''-=<

微分方程数值解法答案

包括基本概念,差分格式的构造、截断误差和稳定性,这些内容是贯穿整个教材的主线。解答问题关键在过程,能够显示出你已经掌握了书上的内容,知道了解题方法。这次考试题目的类型:20分的选择题,主要是基本概念的理解,后面有五个大题,包括差分格式的构造、截断误差和稳定性。 习题一 1. 略 2. y y x f -=),(,梯形公式:n n n n n n y h h y y y h y y )121(),(2111+-+=+- =+++,所以0122)1(01])121[()121()121(y h h y h h y h h y h h n h h n n n +--+--+-+=+-+==+-+= ,当0→h 时, x n e y -→。 同理可以证明预报-校正法收敛到微分方程的解. 3. 局部截断误差的推导同欧拉公式; 整体截断误差: ? ++++++-++≤1 ),())(,(11111n n x x n n n n n n n dx y x f x y x f R εε 11)(++-++≤n n n y x y Lh R ε,这里R R n ≤ 而111)(+++-=n n n y x y ε,所以 R Lh n n += -+εε1)1(,不妨设1

偏微分方程数值解法

《偏微分方程数值解法》 课程设计 题目: 六点对称差分格式解热传导方程的初边 值问题 姓名: 王晓霜 学院: 理学院 专业: 信息与计算科学 班级: 0911012 学号: 091101218 指导老师:翟方曼 2012年12月14

日 一、题目 用六点对称差分格式计算如下热传导方程的初边值问题 222122,01,01(,0),01 (0,),(1,),01x t t u u x t t x u x e x u t e u t e t +???=<<<≤?????=≤≤??==≤≤??? 已知其精确解为 2(,)x t u x t e += 二、理论 1.考虑的问题 考虑一维模型热传导方程 (1.1) )(22x f x u a t u +??=??,T t ≤<0 其中a 为常数。)(x f 是给定的连续函数。(1.1)的定解问题分两类: 第一,初值问题(Cauch y 问题):求足够光滑的函数()t x u ,,满足方程(1.1)和初始条件: (1.2) ()()x x u ?=0,, ∞<<∞-x 第二,初边值问题(也称混合问题):求足够光滑的函数()t x u ,,满足方程(1.1)和初始条件: ()13.1 ()()x x u ?=0,, l x l <<- 及边值条件 ()23.1 ()()0,,0==t l u t u , T t ≤≤0 假定()x f 和()x ?在相应的区域光滑,并且于()0,0,()0,l 两点满足相容条件,则上述问题有唯一的充分光滑的解。 现在考虑边值问题(1.1),(1.3)的差分逼近 取 N l h = 为空间步长,M T =τ为时间步长,其中N ,M 是自然数,

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

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

微分方程数值解欧拉法

dy??x??xey?1.1、求解初值问题,已知精确解为 ????x?2xx?y?2x2当h=0.1时,解为:?dx????01y?1 ????yxy?xyyx nnnnn 1 0 1 9.3616E-03 0.1 0.900000 0.909362 1.6057E-02 0.819048 0.2 0.835105 2.0637E-02 0.774155 0.753518 0.3 2.3555E-02 0.723946 0.4 0.700391 2.5182E-02 0.5 0.682347 0.657165 2.5823E-02 0.621775 0.6 0.647598 2.5723E-02 0.592526 0.618249 0.7 2.5080E-02 0.568034 0.8 0.593114 2.4053E-02 0.547177 0.9 0.571230 2.2768E-02 1.0 0.551819 0.529051

1 0.950.90.850.80.750.70.650.60.550.510.100.20.80.70.90.60.40.30.5时,解为:h=0.05 当. ????x xyy y?yx nnn nn 1 1 0 2.4185E-03 0.952418 0.05 0.950000 4.4835E-03 0.10 0.909362 0.904878 6.2326E-03 0.15 0.864158 0.870391 7.6996E-03 0.827406 0.20 0.835105 8.9155E-03 0.794223 0.25 0.803138 9.9084E-03 0.774155 0.764247 0.30 1.0704E-02 0.737147 0.747850 0.35 1.1324E-02 0.723946 0.40 0.712621 1.1791E-02 0.702188 0.45 0.690397 1.2124E-02 0.50 0.670223 0.682347

微分方程数值解――

微分方程数值解―― 第二章 习题 1. 设)('x f 为)(x f 的一阶广义导数,试用类似办法定义)(x f 的k 阶广义导数) () (x f k ( ,2,1=k )。 解:对一维情形,函数的广义导数是通过分部积分来定义的。 我们知,)(x f 的一阶广义导数位)(x g ,如果满足 dx x x f dx x x g b a b a )()()()('?? -=?? 类似的,)(x f 的k 阶广义导数为)()() (x f x g k =,如果有 dx x x f dx x x g b a k k b a )()()1()()()(?? -=?? 2. 试建立与边值问题 ?????====<<=+=) 2.1(0)()(,0)()() 1.1(,''44b u b u a u a u b x a f u dx u d Lu 等价的变分问题。 证明: 设}0)()(,0)()(),(|{' '2====∈=b v a v b v a v I H v v V 对方程)1.1(两边同乘以v ,再关于x 在),(b a 上积分)(V v ∈,得 ??=+b a b a fvdx vdx u dx u d )(44 其中 dx dx dv dx u d dx dx dv dx u d dx u d v dx u d d v vdx dx u d b a b a b a b a b a ???? -=-==33 33333344|)( dx dx v d dx u d dx dv dx u d dx u d d dx dv b a b a b a ??+-=-=22222222|)( dx dx v d dx u d b a ? = 2 222 (*) 记dx uv dx v d dx u d v u a b a ?+=)(),(2 222,?=b a fvdx v f ),(。于是我们得到以下等价变分问题的提法:

相关主题
文本预览
相关文档 最新文档