微分方程数值解法

微分方程数值解法
微分方程数值解法

《微分方程数值解法》

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

))(()(',n n n x y x f x y =,

(2--2)

又由差商的定义可得:

h

x y x y x y n n n )

()(('1-≈

+)

(2--3) 所以有 ))(,()()(1n n n n x y x hf x y x y +≈+ (2--4)

用)(k x y 的近似值k y )1,(+=n n k 代入(2--4),则有计算1+n y 的欧拉公式

))(,(1n n n n x y x hf y y +=+ (2--5)

2.1.2欧拉法误差分析

从欧拉公式中可以看出,右端的n y 都是近似的,所以用它计算出来的

1+n y 会有累计误

差,累计误差比较复杂,为简化分析,我们考虑局部截断误差,即认为n y 是精确的前提下来估计11)(++-n n y x y ,记为1+n ε,泰勒展开有

)()()(''2

)(')()(132

1++<<+++=n n n n n x x h O y h x hy x y x y ξξ

(2--6)

联立(2--5),(2--6)即得1+n ε=)(''2

2

ξy h +)(3h O =)(2h O ,根据数值算法精度的定义,如果一个数值方法的局部截断误差1+n ε=)(1

+p h

O 则称这个算法具有P 阶精度,所以,欧拉

方法具有一阶精度或者称欧拉方法为一阶方法。 2.2 改进的欧拉方法

2.2.1 改进的欧拉法介绍

用数值积分离散化问题(1),两边做积分有: dx x y x f x y x y n n

x x n n ?

+=-+1

))(,()()(1

(2--7)

对右端积分使用梯形积分公式可得:

[]))(,())(,(2

))(,(111

+++≈

?

+n n n n x x x y x f x y x f h

dx x y x f n n

(2--8)

同欧拉方法,用)(k x y 的近似值k y )1,(+=n n k 代入(2--7),联立(2--8)得到改进的欧拉方法计算公式: ),(),((2

111+++++=n n n n n n y x f y x f h

y y (2--9)

一般来说,如果求解1+n y 时,算法右端不包含1+n y ,称为显性计算公式,如果包含,则求解时还需要解方程,这种称为隐式计算公式。显然公式(2--9)是一个隐式计算公式,事实上,改进的欧拉方法是用欧拉方法先求一个预测值1+n y ,再用这个预测值来计算1+n y ,即:

??

?

??++=+=++++)

,(),((2),(1111n n n n n n n n n n y x f y x f h

y y y x hf y y (2--10)

2.2.2改进的欧拉法误差分析

同欧拉法误差分析类似,用泰勒展开容易知道改进的欧拉方法具有二阶精度,证明略。 2.3 算例

2.3.1(一阶常微分方程)

求解初值问题

??

?

??∈-==]

1,0[21)0('

x y x y y y

解析:在MATLAB 中求解这个方程

y=dsolve('Dy=y-2*x/y','y(0)=1','x') 得y =(2*x+1)^(1/2)

它的解析解为x y 21+=,下面我们分别用欧拉方法和改进的欧拉方法来求其数值解。 欧拉方法:创建M 文件euler1.m,内容如下: function [x,y]=euler1(fun,x0,xfinal,y0,n) if nargin<5,n=50; end

h=(xfinal-x0)/n; x(1)=x0;y(1)=y0;

for i=1:n

x(i+1)=x(i)+h;

y(i+1)=y(i)+h*feval(fun,x(i),y(i));

End

再定义函数方程组中的函数f1,创建f1.m文件,内容如下:

function f=f1(x,y)

f=y-2*x/y

在MATLAB中输入:[x,y]=euler1('f1',0,1,1,20)输出f,[x,y]的值,将数值解跟精确解画图表示,输入:plot(x,y,'r*-',x,sqrt(1+2*x),'g+--');xlabel('x');ylabel('y');title('y‘=y-2x/y');legend('数值解','精确解')得到图形,保存为euler1.fig,图形如下:

改进的欧拉方法:创建M文件eulerprove1.m,内容如下:

function [x,y]=eulerprove1(fun,x0,xfinal,y0,n)

if nargin<5,n=50;

end

h=(xfinal-x0)/n;

y(1)=y0,x(1)=x0;

for i=1:n

x(i+1)=x(i)+h;

y1=y(i)+h*feval(fun,x(i),y(i))/2;

y2=h*feval(fun,x(i+1),y1)/2;

y(i+1)=y1+y2

End

在MATLAB的command窗口输入: [x,y1]=eulerprove1('f1',0,1,1,20)返回f,x1,y1的值,作图,输入:plot(x,y1,'r*-',x,sqrt(1+2*x),'g+--');xlabel('x');ylabel('y');title('y‘=y-2x/y');legend('数值解','精确解'),将图片保存为eulerprove1.fig,图形如下:

为了便于比较两种方法的误差,将两者的误差作到同一个图上,继续输入:

plot(x,abs(y-sqrt(1+2*x)),'y*-',x,abs(y1-sqrt(1+2*x)),'g+--');

xlabel('x');ylabel('y');title('误差曲线');legend('欧拉方法','改进的欧拉方法')将图片保存为error1.fig,图形如下:

从该图形来看,改进的欧拉方法与欧拉方法误差接近,欧拉方法误差稍微大些,将x 的取值扩宽,n 取值增大时,可以发现改进的欧拉方法相比欧拉方法有更高的精度。

2.3.2(高阶微分方程)

对于二阶常微分方程)

(]1,0[1)0(2)0('''∈?

??==-=x x x x

x ,求数值解 解析:先算出其解析解,在MATLAB 中输入:y=dsolve('D2x=-x','x(0)=1','Dx(0)=2')得到解为:

Y=2*sin(t)+cos(t),前面已经分别给出过欧拉方法和改进的欧拉方法的算例跟误差比较,这里我们就用精度更高的改进欧拉法进行数值求解。

改进的欧拉方法:先换元,令y x =',则原方程可以转化为])1,0[(2)0(1)0(''∈??

?

??===-=x y x y

x x

y ,

现在,二阶常微分方程转化为了一个一阶常微分方程组,同2.3.2的方法,建立M 文件eulerprove3.m,内容如下:

function [t,x,y]=eulerprove2(t0,tfinal,x0,y0,n) f1=inline('y'); f2=inline('-x') if nargin<5,n=50; end

h=(tfinal-t0)/n; t(1)=t0,x(1)=x0;y(1)=y0; for i=1:n t(i+1)=t(i)+h;

x1=x(i)+h*feval(f1,y(i)); y1=y(i)+h*feval(f2,x(i)); x2=x(i)+h*feval(f1,y1); y2=y(i)+h*feval(f2,x1); x(i+1)=(x1+x2)/2; y(i+1)=(y1+y2)/2;

end

在command窗口输入[t,x,y]=eulerprove3(0,1,1,2,10),得到t,x,y的值,其中x就是我们要求的数值解,作图,输入:plot(t,x,'r*-',t,2*sin(t)+cos(t),'b+-');

xlabel('x');ylabel('y‘);legend('数值解','精确解'),将图形保存为eulerprove3.fig,图形如下:

上面,我们已经通过例子看出,改进的欧拉法相比于欧拉法,在每一个节点处的误差值更下,下面,我们来讨论节点的多少(步长大小)对误差的影响,创建erro3r.m文件,内容如下:function [N,Y]=error3(n0,nfinal)

N(1)=n0,m=fix((nfinal-n0)/4);

for i=1:m

N(i+1)=N(i)+4;

[t,x1,y1]=eulerprove3(0,1,1,2,N(i));

Y(i)=log10(max(x1-2*sin(t)-cos(t)));

[t,x2,y1]=eulerprove3(0,1,1,2,N(i));

Y(i+1)=log10(max(x2-2*sin(t)-cos(t)));

end

输入[N,Y]=error3(4,100),返回节点个数值和Y值,Y代表在N个节点时,数值解与精确解差的绝对值的最大值的对数(10为

底)。:plot(N,Y,'d-.'),xlabel('N'),ylabel('log_1_0max|error|) title('误差曲线'),将图片保存为error3.fig,图形如下:

从这个图的误差曲线,随着插值节点个数增多,误差也是越来越小的,所以,为了得到尽可能准确的解,使用改进的欧拉法时插值节点数应当越大越好。但是,随着节点个数的增多,计算量也会随之增大,所以,在实际应用时,应当结合具体要求灵活选取。

3龙格-库塔法

3.1 龙格-库塔法与泰勒展开

3.1.1泰勒(Taylor )展开 首先,考虑考虑微分方程

),('y x f y = (3--1) 引入算子符号][

y

f x ??

+??, y x ff f f y

f x +=??

+??][ (3--2) 于是有

f

y

f x y f y f x f y f x y f x y f y

f x ff f y f f y m m y x y x 1)(2][,][)]]([['''][

'''-??

+??=??

+??=??+????+??=??+??=+=+=

(3--3)

设不带括号的f 及其各阶微商都在))(,(n n x y x 处取值,于是有泰勒展开式:

)

(]435333[!

4]

2[!

3][!2)()(][!4][!3][!2)()(53

22324

22325342321h O ff f f f f f f ff f ff f f f f f f f f ff f h ff f f f f ff f h ff f h hf x y h O f y

f x h f

y

f x h f y f x h hf x y x y y y x yy y yy x xy

y xy x xx y yyy xyy xxy xxx y y x yy xy xx y x n n n ++++++++++++++++++++=+??

+??+??

+??+??+??++=+ (3--4)

3.1.2 龙格-库塔(R-K )方法介绍

龙格-库塔方法的基本思路是想办法计算),(y x f 在某些点上的函数值,然后对这些函数值做数值线性组合,构造出一个近似的计算公式;再把近似的计算公式和解的泰勒展开式相比较,使得前面的若干项相吻合,从而达到较高的精度,一般的显示R-K 方法的形式如下:

????

?

????

≤≤++==+=∑∑-==+)2(),,(),,(,

1

1111r i k y h x hf k y x hf k k y y i j j ij n n i n n r i i i n n βαω

(3--5)

当式(3--5)的局部截断误差达到方法段阶)为时称公式(K R r p h

O p ---+53)(1

龙格库塔方法是应用最广的求解常微分方程初值问题的单步法,下面我们给出几个推导公式。

3.2 龙格-库塔法公式与ode 函数

3.2.1 二阶二段R-K 法公式推导

由式子(3--5),二阶二段的R-K 方法可以写成

???

??++==++=+),

,(),,(1212

122111k y h x hf k y x hf k k k y y n n n n n n βαωω

(3--6)

不带括号的f 及其各阶微商都在))(,(n n x y x 处取值,由泰勒展开式(3--4)及截断误差的定义可知:

)

()2

1

()21()1()

()()()(2

)()))

(,()(,

())(,()()(32212222213212212

2122111h O ff h f h hf h O hff hf f h hf x y ff f h hf x y x y x hf x y h x hf x y x hf x y x y y x y x n y x n n n n n n n n n n +--+-+--=+++---+++=++---=++βωαωωωβαωωβαωωε (3--7)

由于上式是二阶二段的R-K 法,即必须有)(31h O n =+ε,所以

???

??===+,,,

2/12/1121

22221βωαωωω

(3--8)

式(3--8)有四个未知元,三个方程,故有无穷组解。

若令12=α,由式子(3--9)可解得,

,1,2/12121===βωω于是 ???

?

???

++==++=+)

,(),(,21211

21211k y h x hf k y x hf k k k y y n n n n n n

这个公式称为预估-校正公式。常用的二阶公式还有中点公式(取2/12=α),这里不再列举。

3.2.2 其他常见公式和ode 函数

从二阶二段R-K 公式的推导可以看出,二段方法每一步需要计算两次函数值,而它也只能达到2阶精度,如果我们提高函数的计算次数,就可以得到精度更高的计算公式,高阶的

R-K 法的推导与二阶方法的推导完全相同,只是随着阶数的增高计算量会逐渐增大。下面给出几个常用的计算公式。

(1)库塔公式(3阶3段)

?????????

+-+=++==+++=+)

2,()2/,2/()

,()4(6

12131213211

k k y h x hf k k y h x hf k y x hf k k k k y y n n n n n n n n

(2)标准四阶R-K 公式

?????

?

??

???++=++=++==++++=+),()

2/,2/()2/,2/(),()22(6

1342

3

12143211

k y h x hf k k y h x hf k k y h x hf k y x hf k k k k k y y n n n n n n n n n n

上述三阶公式具有三阶精度,四阶公式具有四阶精度,要验证这一点,我们观察如下泰勒展开:

...

)33(!

31

)2(!21)

,()()!1(1),()(!

1),(32232210++++++++++=??+??++??+??=+++=∑yyy xyy xxy xxx

yy xy xx y x n i n

i f k f hk kf h f h f k hkf f h kf hf f y x f y k x h n y x f y k x h i h y h x f (3--9)

其中y x ,落在平面上连接),(),(k y h x y x ++和的线段上。

只需要按照式(3.9)将k 泰勒展开,代入截断误差的计算公式中即可证明。(详细证明见参考文献[2]P253)

由于R-K 法是基于泰勒展开的数值方法,所以,如果解具有较好的光滑性,则能够得到较好的计算精度,反之,则可能四阶R-K 法的数值精度还不如低阶的数值方法,这个需要根据具体情况自行选择数值方法。一般而言,R-K 法在求解范围较大而精度要求较高时是比较好的方法,四阶的R-K 法也可以用作阿达姆斯预估校正法的前几步计算,以保持四阶精度(下一节阿达姆斯预估校正法中也提到了这一点)。

在MATLAB 中,专门提供了求解微分方程的ode 函数,如ode45,ode23,ode113,ode15s ,ode23s 等等。ode 求解器分为变步长和固定步长两种求解模式,其中,ode45是采用R-K 法的变步长求解器,和它一样的还有ode23。目前,ode45是使用最多的求解函数,主要用于求解非刚性常微分方程。(如果求解时长时间没有响应,则方程是刚性的,可以换用ode23求解),ode 函数的调用方式大都类似,以ode45为例,常用的语法格式有:[T,Y] = ode45(odefun,tspan,y0) ; [T,Y] = ode45(odefun,tspan,y0,options) ;sol =

ode45(odefun,[t0tf],y0...) ,其中odefun 是函数句柄,可以是函数文件名或内联函数名,tspan 是求解区间 [t0 tf] 或者一系列散点[t0,t1,...,tf],y0 是初始值向量,T 返回列向量的时间点,Y 返回对应T 的求解列向量 ,options 是求解参数设置,可以用odeset 在计算前设定误差,输出参数,事件等 。 3.3算例

用自带ODE45求解高阶常微分方程组

将常微分方程组初值问题?????????=====++=++--0

.1)0(',25.0)0(75.0)0(',5.0)0(0))(''0)(''23

2

22

3

22y y x x y x y y y x x x 转化为一阶常微分方程组并用

ode45求解).1(),1(y x

解析:首先我们尝试用MATLAB 求出该方程组的解析解,在command 窗口输入:

[x,y]=dsolve('D2x+x*(x^2+y^2)^(-3/2)=0','D2y+y*(x^2+y^2)^(-3/2)=0','x(0)=0.5','y(0)=0.25','Dx(0)=0.75','Dy(0)=1'),运行大概五分钟,提示:Warning: Explicit solution could not be found.x =[ empty sym ],y =[],产生该问题的原因可能在于该非线性方程无法用solve 求解,或该方程的解析解不存在。

下面,我们用数值方法求解该方程组,调用的是函数库中的ode45函数。首先,我们可以做变量替换,令b y a x ==',',则该方程组可以化为一个一阶常微分方程组初值问题:

?????????=====+-==+-=--25

.0)0('5.0)0('0.1)0()

)('75.0)0()('23

2

22

3

22y b

y x a x b y x y b a y x x a 现在,可以直接调用ode45函数进行数值计算。先建立一个名为fun45.m 的M 文件来定

义方程组,内容如下:

function y=fun45(t,x)

y(1)=-x(3)*(x(3)^2+x(4)^2)^(-3/2);

y(2)=-x(4)*(x(3)^2+x(4)^2)^(-3/2);

y(3)=x(1);

y(4)=x(2);

y=y(:)

在command窗口输入: x0=[0.75,1,0.5,0.25];[t,x]=ode45('fun45',[0,1],x0),输出x 的值,x是一个四列的矩阵,四列分别代表a,b,x,y在区间[0,1]上的值,可以读出:

x(1)=0.5499, y(1)=0.7407,或者作图:plot(t,x);legend('a','b','x','y'),xlabel('t')将图片保存为fun45.fig.图形如下:

通过Data Cursor一样可以读出x(1)=0.5499, y(1)=0.7407。

结语

掌握并灵活运用上述数值解法对于求常微分方程模型中的数值解有着重要的意义。本文通过对常微分方程的数值解法进行比较分析其中的优缺点,并使用实例证明。数值求解常微分方程有着重要意义,我们应该在不断探索其解法的前提下,创新出更合适软件来解决实际问题。有待于进一步的研究。

参考文献

[1] 李荣华,刘播. 微分方程数值解法[M]. 第四版. 北京:高等教育出版社.,2009.1

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

第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 αβ''-=<

偏微分方程数值解法试题与答案

一.填空(1553=?分) 1.若步长趋于零时,差分方程的截断误差0→lm R ,则差分方程的解lm U 趋近于微分方 程的解lm u . 此结论_______(错或对); 2.一阶Sobolev 空间{} )(,,),()(21 Ω∈''=ΩL f f f y x f H y x 关于内积=1),( g f _____________________是Hilbert 空间; 3.对非线性(变系数)差分格式,常用 _______系数法讨论差分格式的_______稳定性; 4.写出3 x y =在区间]2,1[上的两个一阶广义导数:_________________________________, ________________________________________; 5.隐式差分格式关于初值是无条件稳定的. 此结论_______(错或对)。 二.(13分)设有椭圆型方程边值问题 用1.0=h 作正方形网格剖分 。 (1)用五点菱形差分格式将微分方程在内点离散化; (2)用截断误差为)(2 h O 的差分法将第三边界条件离散化; (3)整理后的差分方程组为 三.(12)给定初值问题 x u t u ??=?? , ()10,+=x x u 取时间步长1.0=τ,空间步长2.0=h 。试合理选用一阶偏心差分格式(最简显格式), 并以此格式求出解函数),(t x u 在2.0,2.0=-=t x 处的近似值。 1.所选用的差分格式是: 2.计算所求近似值: 四.(12分)试讨论差分方程 ()h a h a r u u r u u k l k l k l k l ττ + - = -+=++++11,111 1 逼近微分方程 0=??+??x u a t u 的截断误差阶R 。 思路一:将r 带入到原式,展开后可得格式是在点(l+1/2,k+1/2)展开的。 思路二:差分格式的用到的四个点刚好是矩形区域的四个顶点,可由此构造中心点的差分格 式。

微分方程数值解法

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

偏微分方程数值解期末试题及答案(内容参考)

偏微分方程数值解试题(06B) 参考答案与评分标准 信息与计算科学专业 一(10分)、设矩阵A 对称,定义)(),(),(2 1 )(n R x x b x Ax x J ∈-= ,)()(0x x J λλ?+=.若0)0('=?,则称称0x 是)(x J 的驻点(或稳定点).矩阵A 对称(不必正定),求证0x 是)(x J 的驻点的充要条件是:0x 是方程组 b Ax =的解 解: 设n R x ∈0是)(x J 的驻点,对于任意的n R x ∈,令 ),(2 ),()()()(2 000x Ax x b Ax x J x x J λλλλ?+ -+=+=, (3分) 0)0('=?,即对于任意的n R x ∈,0),(0=-x b Ax ,特别取b Ax x -=0,则有 0||||),(2000=-=--b Ax b Ax b Ax ,得到b Ax =0. (3分) 反之,若 n R x ∈0满足 b Ax =0,则对于任意的 x ,)(),(2 1 )0()1()(00x J x Ax x x J >+ ==+??,因此0x 是)(x J 的最小值点. (4分) 评分标准:)(λ?的展开式3分, 每问3分,推理逻辑性1分 二(10分)、 对于两点边值问题:????? ==∈=+-=0 )(,0)() ,()(' b u a u b a x f qu dx du p dx d Lu 其中]),([,0]),,([,0)(min )(]),,([0min ] ,[1b a H f q b a C q p x p x p b a C p b a x ∈≥∈>=≥∈∈ 建立与上述两点边值问题等价的变分问题的两种形式:求泛函极小的Ritz 形式和 Galerkin 形式的变分方程。 解: 设}0)(),,(|{11 =∈=a u b a H u u H E 为求解函数空间,检验函数空间.取),(1 b a H v E ∈,乘方程两端,积分应用分部积分得到 (3分) )().(),(v f fvdx dx quv dx dv dx du p v u a b a b a ==+=??,),(1 b a H v E ∈? 即变分问题的Galerkin 形式. (3分)

偏微分方程数值解法

一、 问题 用有限元方法求下面方程的数值解 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 由于向后欧拉格式为隐式格式且含有非线性项,故相邻两时间步之间采用牛顿迭代,即:

偏微分方程数值解法答案

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 -

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

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

常微分方程数值解法

i.常微分方程初值问题数值解法 常微分方程初值问题的真解可以看成是从给定初始点出发的一条连续曲线。差分法是常微分方程初值问题的主要数值解法,其目的是得到若干个离散点来逼近这条解曲线。有两个基本途径。一个是用离散点上的差商近似替代微商。另一个是先对微分方程积分得到积分方程,再利用离散点作数值积分。 i.1 常微分方程差分法 考虑常微分方程初值问题:求函数()u t 满足 (,), 0du f t u t T dt =<≤ (i.1a ) 0(0)u u = (i.1b) 其中(,)f t u 是定义在区域G : 0t T ≤≤, u <∞上的连续函数,0u 和T 是给定的常数。我们假设(,)f t u 对u 满足Lipschitz 条件,即存在常数L 使得 121212(,)(,), [0,]; ,(,)f t u f t u L u u t T u u -≤-?∈∈-∞∞ (i.2) 这一条件保证了(i.1)的解是适定的,即存在,唯一,而且连续依赖于初值0u 。 通常情况下,(i.1)的精确解不可能用简单的解析表达式给出,只能求近似解。本章讨论常微分方程最常用的近似数值解法-差分方法。先来讨论最简单的Euler 法。为此,首先将求解区域[0,]T 离散化为若干个离散点: 0110N N t t t t T -=<< <<= (i.3) 其中n t hn =,0h >称为步长。 在微积分课程中我们熟知,微商(即导数)是差商的极限。反过来,差商就是微商的近似。在0t t =处,在(i.1a )中用向前差商 10()()u t u t h -代替微商du dt ,便得 10000()()(,())u t u t hf t u t ε=++ 如果忽略误差项0ε,再换个记号,用i u 代替()i u t 便得到 1000(,)u u hf t u -= 一般地,我们有 1Euler (,), 0,1, ,1n n n n u u hf t u n N +=+=-方法: (i.4) 从(i.1b) 给出的初始值0u 出发,由上式可以依次算出1,,N t t 上的差分解1,,N u u 。

偏微分方程数值解法

“十二五”国家重点图书出版规划项目 信息与计算科学丛书 67 偏微分方程数值解法 陈艳萍鲁祖亮刘利斌编著

内 容 简 介 本书试图用较少的篇幅描述偏微分方程的几种数值方法. 主要内容包括:Sobolev空间初步, 椭圆边值问题的变分问题, 椭圆问题的有限差分方法, 抛物型方程的有限差分方法, 双曲型方程的有限差分方法, 椭圆型方程的有限元方法, 抛物及双曲方程的有限元方法, 椭圆型方程的混合有限元方法, 谱方法等. 本书内容丰富, 深入浅出, 尽可能地用简单的方法来描述一些理论结果, 并根据作者对有限差分、有限元、混合有限元、谱方法的理解和研究生教学要求, 全面、客观地评价各种数值计算方法,并列举一些数值计算的例子, 阐述许多新的学术观点. 本书可作为高等学校数学系高年级本科生和研究生的教材或参考书, 也可作为计算数学工作者和从事科学与工程计算的科研人员的参考书. 图书在版编目(CIP)数据 偏微分方程数值解法/陈艳萍, 鲁祖亮, 刘利斌编著. —北京:科学出版社, 2015.1 (信息与计算科学丛书67) ISBN 978-7-03-000000-0 Ⅰ. ①偏… Ⅱ. ①陈… ②鲁… ③刘… Ⅲ. ① Ⅳ.① 中国版本图书馆CIP数据核字(2014) 第000000号 责任编辑: 王丽平/责任校对: 彭涛 责任印制: 肖钦/封面设计: 陈敬 出版 北京东黄城根北街16号 邮政编码: 100717 https://www.360docs.net/doc/186402436.html, 印刷 科学出版社发行 各地新华书店经销 * 2015年1月第一版开本: 720×1000 1/16 2015年1月第一次印刷印张: 14 字数: 280 000 定价: 88.00元 (如有印装质量问题, 我社负责调换)

常微分方程初值问题数值解法

常微分方程初值问题数值解法 朱欲辉 (浙江海洋学院数理信息学院, 浙江舟山316004) [摘要]:在常微分方程的课程中讨论的都是对一些典型方程求解析解的方法.然而在生产实 际和科学研究中所遇到的问题往往很复杂, 在很多情况下都不可能给出解的解析表达式. 本篇文章详细介绍了常微分方程初值问题的一些数值方法, 导出了若干种数值方法, 如Euler法、改进的Euler法、Runge-Kutta法以及线性多步法中的Adams显隐式公式和预测校正 公式, 并且对其稳定性及收敛性作了理论分析. 最后给出了数值例子, 分别用不同的方法计算出近似解, 从得出的结果对比各种方法的优缺点. [关键词]:常微分方程;初值问题; 数值方法; 收敛性; 稳定性; 误差估计 Numerical Method for Initial-Value Problems Zhu Yuhui (School of Mathematics, Physics, and Information Science, Zhejiang Ocean University, Zhoushan, Zhejiang 316004) [Abstract]:In the course about ordinary differential equations, the methods for analytic solutions of some typical equations are often discussed. However, in scientific research, the problems are very complex and the analytic solutions about these problems can’t be e xpressed explicitly. In this paper, some numerical methods for the initial-value problems are introduced. these methods include Euler method, improved Euler method, Runge-Kutta method and some linear multistep method (e.g. Adams formula and predicted-corrected formula). The stability and convergence about the methods are presented. Some numerical examples are give to demonstrate the effectiveness and accuracy of theoretical analysis. [Keywords]:Ordinary differential equation; Initial-value problem; Numerical method; Convergence; Stability;Error estimate

偏微分方程数值解复习题(2011硕士)

偏微分方程数值解期末复习(2011硕士) 一、考题类型 本次试卷共六道题目,题型及其所占比例分别为: 填空题20%;计算题80% 二、按章节复习内容 第一章 知识点:Euler法、向前差商、向后差商、中心差商、局部截断误差、整体截断误差、相容性、收敛性、阶、稳定性、显格式、隐格式、线性多步法、第一特征多项式、第二特征多项式、稳定多项式、绝对稳定等; 要求: 会辨认差分格式, 判断线性多步法的误差和阶; 第二章 知识点:矩形网格、(正则,非正则)内点、边界点、偏向前(向后,中心)差商、五点差分格式、增设虚点法、积分插值法、线性椭圆型差分格式、极值原理、比较定理、五点差分格式的相容收敛和、稳定性等; 要求: 建立椭圆型方程边值问题的差分格式, 极值原理; 第四章 知识点:最简显格式、最简隐格式、CN格式、双层加权格式、Richardson 格式、网格比、传播因子法(分离变量法) 、传播因子、传播矩阵、谱半径、von Neumann条件、跳点格式、ADI格式、线性椭圆型差分格式、极值原理、比较定理、五点差分格式的相容收敛和稳定性等; 要求: 建立抛物型方程边值问题的差分格式, 计算局部截断误差; 第五章 知识点:左偏心格式、右偏心格式、中心格式、LF格式、LW格式、Wendroff 格式、跳蛙格式、特征线、CFL条件等; 要求: 建立双曲型方程边值问题的差分格式, 计算局部截断误差; 第七章 要求: 会用线性元(线性基)建立常微分方程边值问题的有限元格式

三 练习题 1、 已知显格式21131( )22 n n n n u u h f f +++-=- ,试证明格式是相容的,并求它的阶。 P39+P41 2、用Taylor 展开原理构造一元函数一阶导数和二阶导数的数值微分公式。 提示:向前、向后和中心差商与一阶导数间关系,二阶中心差商与二阶导数之间的关系 课件 3、用数值微分方法或数值积分方法建立椭圆型方程 2 2 22 (,), (,),u u f x y x y x y ??-- =?∈Ω?? :01,01 x y Ω≤≤≤≤ 内点差分格式。 P75+课件 4、构造椭圆型方程边值问题的差分格式. P101 (4)题 5、构建一维热传导方程2 20,(0)u u Lu a a t x ??= -=>??的数值差分格式(显隐格式等)。 参考P132-135相关知识点 6、设有逼近热传导方程2 2 (0)u u Lu a f a const t x ??≡ -==>??的带权双层格式 ()()1 11111112 2(1)2k k j j k k k k k k j j j j j j u u a u u u u u u h θθτ ++++-+-+-??= -++--+?? 其中[0,1] θ ∈,试求其截断误差。并证明当2 1212h a θτ=-时,截断误差的阶最 高阶为 2 4 () O h τ+。 P135+P165+课件 7、传播因子法证明抛物型方程2 2(0)u u Lu a f a const t x ??≡-==>??的最简显隐和六 点CN 格式稳定性。 P156+课件 8、对一阶常系数双曲型方程的初边值问题 0,0,0,0,(,0)(),0,(0,)(),0, u u a t T x a t x u x x x u t t t T φψ???+=<≤<<∞>???? ? =≤<∞??=≤≤?

常微分方程数值解法

第八章 常微分方程数值解法 考核知识点: 欧拉法,改进欧拉法,龙格-库塔法,单步法的收敛性与稳定性。 考核要求: 1. 解欧拉法,改进欧拉法的基本思想;熟练掌握用欧拉法,改进欧拉法、求微 分方程近似解的方法。 2. 了解龙格-库塔法的基本思想;掌握用龙格-库塔法求微分方程近似解的方 法。 3. 了解单步法的收敛性、稳定性与绝对稳定性。 例1 用欧拉法,预估——校正法求一阶微分方程初值问题 ? ??=-='1)0(y y x y ,在0=x (0,1)0.2近似解 解 (1)用1.0=h 欧拉法计算公式 n n n n n n x y y x y y 1.09.0)(1.01+=-+=+,1.0=n 计算得 9.01=y 82.01.01.09.09.02=?+?=y (2)用预估——校正法计算公式 1,0)(05.01.09.0)0(111)0(1=???-+-+=+=++++n y x y x y y x y y n n n n n n n n n 计算得 91.01=y ,83805.02=y 例2 已知一阶初值问题 ???=-='1 )0(5y y y 求使欧拉法绝对稳定的步长n 值。 解 由欧拉法公式 n n n n y h y h y y )51(51-=-=+ n n y h y ~)51(~1-=+

相减得01)51()51(e h e h e n n n -==-=-Λ 当 151≤-h 时,4.00≤

偏微分方程的数值解法

《偏微分方程数值解法》试题 (专业:凝聚态物理学号:2013201260 姓名:鄢建军) 1.考虑定解问题 (1)用迎风格式(P、45)求解 1,0 (,0) 0,0 t x u u x u x x += ? ? ≤ ? ? =? ?> ? ? 。 利用迎风格式编写Fortran程序语言,运行结果如下: Fig 1、迎风格式求解结果 (2)用Beam-Warming格式(P、51)求解。 利用Beam—Warming格式编写Fortran程序语言,运行结果如下 :

Fig 2、 Beam —Warming 格式求解结果 (3) 比较两种方法结果的异同。 将两种格式运行的结果绘制在一起,要求时间步长与空间步长在两种格式中都相同,运行结果如下图所示: Fig 3、 迎风格式与Beam-Warming 格式求解结果比较 从两种格式的运行结果来瞧,都存在边缘的误差现象,相比而言,Beam-Warming 格式的运行结果差一些。但就是理论上分析,迎风格式的截断误差为()h οτ+,而Beam-Warming 格式的截断误差为22()h h οττ++。稳定性上来分析,迎风格式的稳定性较好,要求1(/)a h λλτ≤=,Beam-Warming 格式的稳定性条件为2(/)a h λλτ≤=。 2. 考虑定解问题212 1110,04(,0)sin ,0(0,)(,)0u u a x l t t u x x x l l u t u l t π???-=<

微分方程数值解法答案

包括基本概念,差分格式的构造、截断误差和稳定性,这些内容是贯穿整个教材的主线。解答问题关键在过程,能够显示出你已经掌握了书上的内容,知道了解题方法。这次考试题目的类型: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

微分方程数值解――

微分方程数值解―― 第二章 习题 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 ),(。于是我们得到以下等价变分问题的提法:

常微分方程的数值解

实验4 常微分方程的数值解 【实验目的】 1.掌握用MATLAB软件求微分方程初值问题数值解的方法; 2.通过实例用微分方程模型解决简化的实际问题; 3.了解欧拉方法和龙格-库塔方法的基本思想和计算公式,及稳定性等概念。 【实验内容】 题3 小型火箭初始重量为1400kg,其中包括1080kg燃料。火箭竖直向上发射时燃料燃烧率为18kg/s,由此产生32000N的推力,火箭引擎在燃料用尽时关闭。设火箭上升时空气阻力正比于速度的平方,比例系数为0.4kg/m,求引擎关闭瞬间火箭的高度、速度、加速度,及火箭到达最高点的时的高度和加速度,并画出高度、速度、加速度随时间变化的图形。 模型及其求解 火箭在上升的过程可分为两个阶段,在全过程中假设重力加速度始终保持不变,g=9.8m/s2。 在第一个过程中,火箭通过燃烧燃料产生向上的推力,同时它还受到自身重力(包括自重和该时刻剩余燃料的重量)以及与速度平方成正比的空气阻力的作用,根据牛顿第二定律,三个力的合力产生加速度,方向竖直向上。因此有如下二式: a=dv/dt=(F-mg-0.4v2)/m=(32000-0.4v2)/(1400-18t)-9.8 dh/dt=v 又知初始时刻t=0,v=0,h=0。记x(1)=h,x(2)=v,根据MATLAB 可以求出0到60秒内火箭的速度、高度、加速度随时间的变化情况。程序如下: function [ dx ] = rocket( t,x ) a=[(32000-0.4*x(2)^2)/(1400-18*t)]-9.8; dx=[x(2);a]; end ts=0:1:60;

x0=[0,0]; [t,x]=ode45(@rocket,ts,x0); h=x(:,1); v=x(:,2); a=[(32000-0.4*(v.^2))./(1400-18*t)]-9.8; [t,h,v,a]; 数据如下: t h v a 0 0 0 13.06 1.00 6.57 13.19 13.30 2.00 26.44 26.58 1 3.45 3.00 59.76 40.06 13.50 4.00 106.57 53.54 13.43 5.00 16 6.79 66.89 13.26 6.00 240.27 80.02 12.99 7.00 326.72 92.83 12.61 8.00 425.79 105.22 12.15 9.00 536.99 117.11 11.62 10.00 659.80 128.43 11.02 11.00 793.63 139.14 10.38 12.00 937.85 149.18 9.71 13.00 1091.79 158.55 9.02 14.00 1254.71 167.23 8.33 15.00 1425.93 175.22 7.65 16.00 1604.83 182.55 6.99 17.00 1790.78 189.22 6.36 18.00 1983.13 195.27 5.76 19.00 2181.24 200.75 5.21 20.00 2384.47 205.70 4.69 21.00 2592.36 210.18 4.22 22.00 2804.52 214.19 3.79 23.00 3020.56 217.79 3.41 24.00 3240.08 221.01 3.07 25.00 3462.65 223.92 2.77 26.00 3687.88 226.56 2.50 27.00 3915.58 228.97 2.27

偏微分方程数值解法试题与答案

x 1 ?若步长趋于零时,差分方程的截断误差 R m 0,则差分方程的解 U i m 趋近于微分方 程的解U m ?此结论 ________ (错或对); 1 2.一 阶 Sobolev 空间 H ( ) f (x,y) f , f x , f y L ?() 关于内积(f,g )1 _____________________________________ 是Hilbert 空间; 3 ?对非线性(变系数)差分格式,常用 ____________ 系数法讨论差分格式的 ________ 稳定性; 4?写出y x 3在区间[1,2]上的两个一阶广义导数: ______________________________________ _____ ____ ______________ _ ____ ________ ; 5 ?隐式差分格式关于初值是无条件稳定的 ?此结论 ________ (错或对)。 (13分)设有椭圆型方程边值问题 0.1作正方形网格剖分 。 (1) 用五点菱形差分格式将微分方程在内点离散化; (2) 用截断误差为 O (h 2)的差分法将第三边界条件离散化; (3) 整理后的差分方程组为 U C 三.(12)给定初值问题 u x,0 x 1 取时间步长 0.1,空间步长h 0.2。试合理选用一阶偏心差分格式(最简显格式) 2 u ~2 x 2 u ~2 y 0 x 0.3 0.2 x 0.3 2y 1, — u n 2x y 0.2

并以此格式求出解函数u(x,t)在x 0.2,t 0.2处的近似值。 x

1.所选用的差分格式是: 2 .计算所求近似值: 1 a k 1 四.(12分)试讨论差分方程 u l 1 k k k 1 u | r u | 1 u | , r h a 1 h 逼近微分方程 u a u 0 t x 的截断误差阶R 。 思路一:将r 带入到原式,展开后可得格式是在点( l+1/2,k+1/2 )展开的。 思路二:差分格式的用到的四个点刚好是矩形区域的四个顶点,可由此构造中心点的差分格 式。 2 —2 ,考虑 Du Fort-Frankel 格式 X 试论证该格式是否总满足稳定性的 Von-Neumann 条件? 六. (12分)(1 )由Green 第一公式推导 Green 第二公式: (2) 对双调和方程边值问题 n 2 选择函数集合(空间)为: 推导相应的双线性泛函和线性泛函: A (u,v ) F (v ) 相应的虚功问题为: 极小位能问题为 七. ( 12分)设有常微分方程边值问题 y y f (x ) , a x b y a 1, y b 1 五.(12分) 对抛物型方程 U |k1 U |k 2 |k 1 (U |k1 U |k1) U |k 1 ) 2 (u)vdxdy G (u) u vdxdy :[v v u ]ds n f (x,y) (x,y) g 1(x , y), g 2(x, y) (x,y),

微分方程数值解法

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

相关文档
最新文档