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

MATLABEuler法解常微分方程

MATLABEuler法解常微分方程
MATLABEuler法解常微分方程

Euler法解常微分方程

Euler法解常微分方程算法:

Step 1 分别取积分上限、积分下限、步长

Step 2计算判断是否成立,成立转到Step 3,否则继续进行Step 4

Step 3 计算

Step 4

Euler法解常微分方程算程序:

function euler2(fun,y0,A,h)

%fun--y'

%y0---初值

%A----x取值范围

%a----x左区间端点值

%b----x右区间端点值

%h----给定步长

x=min(A);

b=max(A);

y=y0;

while x

b=y;

y=y+h*feval(fun,x,b)

x=x+h;

end

例:用Euler法计算下列初值问题(取步长h=0.2)

输入:fun=inline('-y-x*y^2')

euler2(fun,1,[0 0.6],0.2)

得到:

y =

0.8000

y =

0.6144

y =

0.4613

指导教师:年月日改进Euelr法解常微分方程

改进Euler法解常微分方程算法:

Step 1 分别取积分上限、积分下限、步长

Step 2 取一个以h为步长,a,b分别为左右端点的矩阵

Step 3 (1)做显性Euler预测

(2)将带入

Step 4计算判断是否成立,成立返回Step 3,否则继续进行Step 5 Step 5

改进Euler法解常微分方程算程序:

function gaijineuler2(fun,y0,A,h)

%fun--y'

%y0---初值

%A----x取值范围

%a----x左区间端点值

%b----x右区间端点值

%h----给定步长

a=min(A);

b=max(A);

x=a:h:b;

y(1)=y0;

for i=1:length(x)-1

w1=feval(fun,x(i),y(i));

y(i+1)=y(i)+h*w1;

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

y(i+1)=y(i)+h*(w1+w2)/2;

end

x=x'

y=y'

例:用改进Euler法计算下列初值问题(取步长h=0.25)

输入:fun=inline('-x*y^2')

gaijineuler2(fun,2,[0 5],0.25)

得到:

x =

0.2500

0.5000

0.7500

1.0000

1.2500

1.5000

1.7500

2.0000

2.2500

2.5000

2.7500

3.0000

3.2500

3.5000

3.7500

4.0000

4.2500

4.5000

4.7500

5.0000

y =

2.0000

1.8750

1.5939

1.2824

1.0096

0.7932

0.6282

0.5037

0.4097

0.3379

0.2824

0.2389

0.2043

0.1765

0.1538

0.1352

0.1196

0.1066

0.0955

0.0861

0.0779

指导教师:年月日禁止复制北京石油化工学院Onlyunited

一阶常微分方程解法总结

页脚内容1 第 一 章 一阶微分方程的解法的小结 ⑴、可分离变量的方程: ①、形如 )()(y g x f dx dy = 当0)(≠y g 时,得到 dx x f y g dy )()(=,两边积分即可得到结果; 当0)(0=ηg 时,则0)(η=x y 也是方程的解。 例1.1、xy dx dy = 解:当0≠y 时,有xdx y dy =,两边积分得到)(2ln 2为常数C C x y += 所以)(11212 C x e C C e C y ±==为非零常数且 0=y 显然是原方程的解; 综上所述,原方程的解为)(1212 为常数C e C y x = ②、形如0)()()()(=+dy y Q x P dx y N x M 当0)()(≠y N x P 时,可有dy y N y Q dx x P x M ) ()()()(=,两边积分可得结果; 当0)(0=y N 时,0y y =为原方程的解,当0(0=) x P 时,0x x =为原方程的解。 例1.2、0)1()1(22=-+-dy x y dx y x

页脚内容2 解:当0)1)(1(22≠--y x 时,有dx x x dy y y 1 122-=-两边积分得到 )0(ln 1ln 1ln 22≠=-+-C C y x ,所以有)0()1)(1(22≠=--C C y x ; 当0)1)(1(22=--y x 时,也是原方程的解; 综上所述,原方程的解为)()1)(1(22为常数C C y x =--。 ⑵可化为变量可分离方程的方程: ①、形如)(x y g dx dy = 解法:令x y u = ,则udx xdu dy +=,代入得到)(u g u dx du x =+为变量可分离方程,得到)(0),,(为常数C C x u f =再把u 代入得到)(0),,(为常数C C x x y f =。 ②、形如)0(),(≠+=ab by ax G dx dy 解法:令by ax u +=,则b du adx dy +=,代入得到)(1u G b a dx du b =+为变量可分离方程,得到)(0),,(为常数C C x u f =再把u 代入得到)(0),,(为常数C C x by ax f =+。 ③、形如 )(222111c y b x a c y b x a f dx dy ++++= 解法:01、02211 =b a b a ,转化为)(by ax G dx dy +=,下同①; 02、0221 1 ≠b a b a ,???=++=++00222111c y b x a c y b x a 的解为),(00y x ,令???-=-=00y y v x x u

常微分方程基本概念习题附解答

§1.2 常微分方程基本概念习题及解答 1.dx dy =2xy,并满足初始条件:x=0,y=1的特解。 解:y dy =2xdx 两边积分有:ln|y|=x 2+c y=e 2x +e c =cex 2另外y=0也是原方程的解,c=0时,y=0 原方程的通解为y= cex 2,x=0 y=1时 c=1 特解为y= e 2 x . 2. y 2dx+(x+1)dy=0 并求满足初始条件:x=0,y=1的特解。 解:y 2dx=-(x+1)dy 2y dy dy=-11+x dx 两边积分: -y 1=-ln|x+1|+ln|c| y=|)1(|ln 1+x c 另外y=0,x=-1也是原方程的解 x=0,y=1时 c=e 特解:y=| )1(|ln 1+x c 3.dx dy =y x xy y 32 1++ 解:原方程为:dx dy =y y 21+31x x + y y 21+dy=3 1x x +dx 两边积分:x(1+x 2)(1+y 2)=cx 2 4. (1+x)ydx+(1-y)xdy=0 解:原方程为: y y -1dy=-x x 1+dx 两边积分:ln|xy|+x-y=c

另外 x=0,y=0也是原方程的解。 5.(y+x )dy+(x-y)dx=0 解:原方程为: dx dy =-y x y x +- 令 x y =u 则dx dy =u+x dx du 代入有: -112++u u du=x 1dx ln(u 2+1)x 2=c-2arctgu 即 ln(y 2+x 2)=c-2arctg 2x y . 6. x dx dy -y+22y x -=0 解:原方程为: dx dy =x y +x x ||-2)(1x y - 则令 x y =u dx dy =u+ x dx du 211 u - du=sgnx x 1dx arcsin x y =sgnx ln|x|+c 7. tgydx-ctgxdy=0 解:原方程为:tgy dy =ctgx dx 两边积分:ln|siny|=-ln|cosx|-ln|c| siny=x c cos 1=x c cos 另外y=0也是原方程的解,而c=0时,y=0. 所以原方程的通解为sinycosx=c. 8 dx dy +y e x y 32 +=0 解:原方程为:dx dy =y e y 2e x 3

常微分方程作业欧拉法与改进欧拉法

P77 31.利用改进欧拉方法计算下列初值问题,并画出近似解的草图:dy + =t = t y y ≤ ≤ ,2 ;5.0 0,3 )0( )1(= ,1 ? dt 代码: %改进欧拉法 function Euler(t0,y0,inv,h) n=round(inv(2)-inv(1))/h; t(1)=t0; y(1)=y0; for i=1:n y1(i+1)=y(i)+h*fun(t(i),y(i)); t(i+1)=t(i)+h; y(i+1)=y(i)+1/2*h*(fun(t(i),y(i))+ fun(t(i+1),y1(i+1))) end plot(t,y,'*r') function y=fun(t,y); y=y+1; 调用:Euler(0,3,[0,2],0.5) 得到解析解:hold on; y=dsolve('Dy=y+1','(y(0)=3)','t'); ezplot(y,[0,2]) 图像:

dy y =t - t y ;2.0 t = ≤ )0( 0,5.0 ,4 )2(2= ≤ ? ,2 dt 代码: function Euler1(t0,y0,inv,h) n=round(inv(2)-inv(1))/h; t(1)=t0; y(1)=y0; for i=1:n y1(i+1)=y(i)+h*fun(t(i),y(i)); t(i+1)=t(i)+h; y(i+1)=y(i)+1/2*h*(fun(t(i),y(i))+ fun(t(i+1),y1(i+1))) end plot(t,y,'*r') function y=fun(t,y); y=y^2-4*t; 调用: Euler1(0,0.5,[0,2],0.2) 图像:

一阶常微分方程的奇解

摘要.................................................... 错误!未定义书签。 1.何谓奇解.............................................. 错误!未定义书签。 2.奇解的产生............................................ 错误!未定义书签。 3.包络跟奇解的关系...................................... 错误!未定义书签。 4.理论上证明C-判别曲线与P-判别曲线方法................. 错误!未定义书签。 克莱罗微分方程 ..................................... 错误!未定义书签。 5.奇解的基本性质........................................ 错误!未定义书签。 定理1 ............................................. 错误!未定义书签。 定理2 ............................................. 错误!未定义书签。 定理3 ............................................. 错误!未定义书签。 6.小结.................................................. 错误!未定义书签。参考文献:.............................................. 错误!未定义书签。

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

第七章 常微分方程初值问题的数值解法 --------学习小结 一、本章学习体会 通过本章的学习,我了解了常微分方程初值问题的计算方法,对于解决那些很难求解出解析表达式的,甚至有解析表达式但是解不出具体的值的常微分方程非常有用。在这一章里求解常微分方程的基本思想是将初值问题进行离散化,然后进行迭代求解。在这里将初值问题离散化的方法有三种,分别是差商代替导数的方法、Taylor 级数法和数值积分法。常微分方程初值问题的数值解法的分类有显示方法和隐式方法,或者可以分为单步法和多步法。在这里单步法是指计算第n+1个y 的值时,只用到前一步的值,而多步法则是指计算第n+1个y 的值时,用到了前几步的值。通过对本章的学习,已经能熟练掌握如何用Taylor 级数法去求解单步法中各方法的公式和截断误差,但是对线性多步法的求解理解不怎么透切,特别是计算过程较复杂的推理。 在本章的学习过程中还遇到不少问题,比如本章知识点多,公式多,在做题时容易混淆,其次对几种R-K 公式的理解不够透彻,处理一个实际问题时,不知道选取哪一种公式,通过课本里面几种方法的计算比较得知其误差并不一样,,这个还需要自己在往后的实际应用中多多实践留意并总结。 二、本章知识梳理 常微分方程初值问题的数值解法一般概念 步长h ,取节点0,(0,1,...,)n t t nh n M =+=,且M t T ≤,则初值问题000 '(,),()y f t y t t T y t y =≤≤?? =?的数值解法的一般形式是 1(,,,...,,)0,(0,1,...,)n n n n k F t y y y h n M k ++==-

欧拉及改进的欧拉法求解常微分方程

生物信息技术0801 徐聪U200812594 #include #include void f1(double *y,double *x,double *yy) { y[0]=2.0; x[0]=0.0; yy[0]=2.0; for(int i=1;i<=9;i++) { x[i]=x[i-1]+0.2; y[i]=y[i-1]+0.2*(y[i-1]-x[i-1]); yy[i]=x[i]+1+exp(x[i]); printf("若x=%f,计算值是%f,真实值是%f,截断误差是%f\n ",x[i],y[i],yy[i],y[i]-yy[i]); } }; void f2(double *y,double *x,double *yy) { y[0]=1.0; x[0]=0.0; yy[0]=1.0; for(int i=1;i<=9;i++) { x[i]=x[i-1]+0.2; y[i]=y[i-1]+0.2*(2*y[i-1]+x[i-1]*x[i-1]); yy[i]=-0.5*(x[i]*x[i]+x[i]+0.5)+1.25*exp(2*x[i]); printf("若x=%f,计算值是%f,真实值是%f,截断误差是%f\n ",x[i],y[i],yy[i],y[i]-yy[i]); } }; void f3(double *y,double *x,double *yy,double *y0) { y[0]=2.0; x[0]=0.0; yy[0]=2.0; for(int i=1;i<=9;i++) { x[i]=x[i-1]+0.2; y0[i]=y[i-1]+0.2*(y[i-1]-x[i-1]); y[i]=y[i-1]+0.1*(y[i-1]-x[i-1]+y0[i-1]-x[i-1]);

总结一阶常微分方程奇解的求法

总结一阶微分方程奇解的求法 摘要:利用有关奇解的存在定理,总结出求一阶微分方程奇解的几种方法,并通过一些具体的例题说明这几种方法的应用 Using relevant theorems to develop several methods of finding singular solution of ordinary differential equation. In addition, illustrate the application of these methods through the concrete examples. 关键词:常微分方程 奇解 c-判别式 p-判别式 方法一:利用c-判别式求奇解 设一阶微分方程0, ,=?? ? ?? dx dy y x F ① 可求出方程①的通解为()0,,=c y x φ ② 如果()()???==0 ,,0,,' c y x c y x c φφ ③ 是微分方程①的解,且对③式满足:()()02 '2 '≠+y x φφ ④ 则③是微分方程①的奇解,且是通解②的包络。 例1:方程() 2 2 2 x x y dy dx dy dx + -= 的奇解 解:首先,本具题意求出该微分方程的通解为2 2 2 c cx y x ++= 与4 2 x y = 其中c 为任意常数 当时2 2 2 c cx y x ++= , ()y c cx x c y x -++= 2 2 2 ,,φ 其相应的c -判别式为 ? ??=+=-++02022x 2 c x y c cx 易得到: ? ??=-=2 2c y c x

代入原微分方程,可知? ??=-=2 2c y c x 不是原微分方程的解; 当4 2 x y = 时,易求出2 ,1''x y x ==φφ,则有()()02 '2 '≠+y x φφ 故4 2 x y = 为原微分方程的奇解 例2:试求微分方程() () y y dy dx 9 42 2 1= -的奇解 解:首先,根据题意求出微分方程的通解为:()()0322=---y y c x 其中c 为任意常数 再由相应的c-判别式: ()()()? ??=--=---020 322c x y y c x 易求出:? ??==0y c x 或 ???==3y c x 当???==0y c x 时,代入原微分方程成立; 所以? ??==0y c x 为原微分方程的解 且有()02'=--=c x x φ;()()93232 '-=---=y y y y φ 满足(Φ‘ x )2 +(Φ‘ y )2≠0 易验证???==3y c x 不是原微分方程的解 故x=c, y=0 是元微分方程的奇解。 方法二:利用p-判别法求奇解 在微分方程①中,设y ′=p,则此方程的p-判别式为: ()()?????==0,,0 ,,' p y x F p y x F p ⑤ 消去p 之后得到的函数y=?(x)是微分方程①身为解,

二阶常微分方程解

二阶常微分方程解

————————————————————————————————作者: ————————————————————————————————日期:

第七节 二阶常系数线性微分方程 的解法 在上节我们已经讨论了二阶线性微分方程解的结构,二阶线性微分方程的求解问题,关键在于如何求二阶齐次方程的通解和非齐次方程的一个特解。本节讨论二阶线性方程的一个特殊类型,即二阶常系数线性微分方程及其求解方法。先讨论二阶常系数线性齐次方程的求解方法。 §7.1 二阶常系数线性齐次方程及其求解方法 设给定一常系数二阶线性齐次方程为 ?? 22 dx y d +p dx dy +qy=0 (7.1) 其中p 、q 是常数,由上节定理二知,要求方程(7.1)的通解,只要求出其任意两个线性无关的特解y 1,y2就可以了,下面讨论这样两个特解的求法。 我们先分析方程(7.1)可能具有什么形式的特解, 从方程的形式上来看,它的特点是22dx y d ,dx dy ,y 各乘以 常数因子后相加等于零,如果能找到一个函数y,其

22dx y d ,dx dy ,y之间只相差一个常数因子,这样的函数有可能是方程(7.1)的特解,在初等函数中,指数函数e rx ,符合上述要求,于是我们令 y=e r x (其中r 为待定常数)来试解 将y =e rx ,dx dy =re r x,22dx y d =r 2e r x 代入方程(7.1) 得 r 2e rx +pre rx +qerx =0 或 e r x(r 2+pr+q )=0 因为e rx ≠0,故得 ? r 2 +pr +q=0 由此可见,若r 是二次方程 ?? r 2+pr +q=0 (7.2) 的根,那么e r x就是方程(7.1)的特解,于是方程(7.1)的求解问题,就转化为求代数方程(7.2)的根问题。称(7.2)式为微分方程(7.1)的特征方程。 特征方程(7.2)是一个以r 为未知函数的一元二次代数方程。特征方程的两个根r 1,r 2,称为特征根,由代数知识,特征根r 1,r 2有三种可能的情况,下面我们分别进行讨论。 (1)若特证方程(7.2)有两个不相等的实根r 1, r 2,此时e r 1x ,e r2x 是方程(7.1)的两个特解。

常微分方程数值解

第四章常微分方程数值解 [课时安排]6学时 [教学课型]理论课 [教学目的和要求] 了解常微分方程初值问题数值解法的一些基本概念,如单步法和多步法,显式和隐式,方法的阶数,整体截断误差和局部截断误差的区别和关系等;掌握一阶常微分方程初值问题的一些常用的数值计算方法,例如欧拉(Euler)方法、改进的欧拉方法、龙贝-库塔(Runge-Kutta)方法、阿达姆斯(Adams)方法等,要注意各方法的特点及有关的理论分析;掌握构造常微分方程数值解的数值积分的构造方法和泰勒展开的构造方法的基本思想,并能具体应用它们导出一些常用的数值计算公式及评估截断误差;熟练掌握龙格-库塔(R-K)方法的基本思想,公式的推导,R-K公式中系数的确定,特别是能应用“标准四阶R-K公式”解题;掌握数值方法的收敛性和稳定性的概念,并能确定给定方法的绝对稳定性区域。[教学重点与难点] 重点:欧拉方法,改进的欧拉方法,龙贝-库塔方法。 难点:R—K方法,预估-校正公式。 [教学内容与过程] 4.1 引言 本章讨论常微分方程初值问题 (4.1.1) 的数值解法,这也是科学与工程计算经常遇到的问题,由于只有很特殊的方程能用解析方法求解,而用计算机求解常微分方程的初值问题都要采用数值方法.通常我们假定(4.1.1)中 f(x,y)对y满足Lipschitz条件,即存在常数L>0,使对,有 (4.1.2) 则初值问题(4.1.1)的解存在唯一. 假定(4.1.1)的精确解为,求它的数值解就是要在区间上的一组离散点 上求的近似.通常取 ,h称为步长,求(4.1.1)的数值解是按节点的顺序逐步 推进求得.首先,要对方程做离散逼近,求出数值解的公式,再研究公式的局部截

(整理)常微分方程总结

(1) 概念 微分方程:一般,凡表示未知函数、未知函数的导数与自变量的之间关系的方程。 微分方程的阶:微分方程中所出现的未知函数的最高阶导数的阶数。如: 一阶: 2dy x dx = 二阶:220.4d s dt =- 三阶:3 2 2 43x y x y xy x ''''''+-= 四阶:() 4410125sin 2y y y y y x ''''''-+-+= 一般n 阶微分方程的形式:() ( ),,,,0n F x y y y '=L 。这里的()n y 是必须出现。 (2)微分方程的解 设函数()y x ?=在区间I 上有n 阶连续导数,如果在区间I 上, ()()()(),,0n F x x x x ?????'≡???? L 则()y x ?=称为微分方程()() ,,,,0n F x y y y '=L 的解。 注:一个函数有n 阶连续导数→该函数的n 阶导函数也是连续的。 函数连续→函数的图像时连在一起的,中间没有断开(即没有间断点)。 导数→导函数简称导数,导数表示原函数在该点的斜率大小。 导函数连续→原函数的斜率时连续变化的,而并没有在某点发生突变。 函数连续定义:设函数()y f x =在点0x 的某一邻域内有定义,如果()()0 0lim x x f x f x →=则 称函数()f x 在点0x 连续。 左连续:()() ()0 00lim x x f x f x f x - - →== 左极限存在且等于该点的函数值。 右连续:()() ()0 00lim x x f x f x f x + + →== 右极限存在且等于该点的函数值。 在区间上每一个点都连续的函数,叫做函数在该区间上连续。如果是闭区间,包括端点,是 指函数在右端点左连续,在左端点右连续。 函数在0x 点连续?()()()()0 0lim lim lim x x x x x x f x f x f x f x -+ →→→=== 1、()f x 在点0x 有定义 2、()0 lim x x f x →极限存在

一阶常微分方程的奇解

摘要 (2) 1.何谓奇解 (2) 2.奇解的产生 (3) 3.包络跟奇解的关系 (4) 4.理论上证明C-判别曲线与P-判别曲线方法 (5) 4.1 克莱罗微分方程 (9) 5.奇解的基本性质 (12) 5.1 定理1 (12) 5.2 定理2 (14) 5.3 定理3 (14) 6.小结 (14) 参考文献: (15)

一阶常微分方程的奇解 摘要 在常微分方程中,我们知道方程的解可以有多种,现在我们来讨论求奇解的方法。我们看到某些微分方程,会存在一些特殊的积分曲线,他并不属于这方程的积分曲线族,但是,在这些特殊的积分曲线上的每一点处,都有积分曲线族中的一条曲线和他在此处相切。从而我们引出了积分曲线族的包络,而为了求微分方程的奇解,,我们应先求出他的通解,然后求通解的包络。 关键词:奇解,包络,C-判别式,P-判别式 1.何谓奇解 设一阶隐式方程),,(,y y x F =0有一特解

)(:x y ψ=Γ,j x ∈ 如果对每一点Γ∈P ,在P 点的任何一个领域,方程),,(,y y x F =0都有一个不同于Γ的解在P 点与Γ相切,则称Γ是微分方程的),,(,y y x F =0的奇解 定义:如果一个一阶微分方程的一个特解的积分曲线上的每一点都至少和这个微分方程的不同的积分曲线相切,并且这相切的积分曲线在切点的任何邻域都不重合,则称这个特解为这个微分方程的奇解 2.奇解的产生 先看一个例子,求方程 033=-?? ? ??y dx dy (1) 或与它等价的方程 3y dx dy = 的解。 经分离变量后,可得(1)的通解 3)(27 1c x y += 容易看出,y=0也是原方程的一个解。现在来研究这个解y=0有什么特殊的地方。由图我们看到,在解y=0上的每一 点)0,(0x 处相切,这种特殊的积分曲线y=0 称为奇积分曲线,他所对应的解就是奇 解,这就是奇解的产生。 我们现在给出曲线族包络的定义 某些微分方程,存在一些特殊的积分 曲线,会存在一些特殊的积分曲线,他并 不属于这方程的积分曲线族,但是,在这些特殊的积分曲线上的每一点处,都有积分曲线族中的一条曲线和他在此处相切。在几何学里,这些特殊的积分曲线称为上述积分曲线族的包络,在微分方程里,这些特殊的积分曲线所对应的解酒称为方程的奇解。

常微分方程数值解法

第七章 常微分方程数值解法 常微分方程中只有一些典型方程能求出初等解(用初等函数表示的解),大部分的方程是求不出初等解的。另外,有些初值问题虽然有初等解,但由于形式太复杂不便于应用。因此,有必要探讨常微分方程初值问题的数值解法。本章主要介绍一阶常微分方程初值问题的欧拉法、龙格-库塔法、阿达姆斯方法,在此基础上推出一阶微分方程组与高阶方程初值问题的 数值解法;此外,还将简要介绍求解二阶常微分方程值问题的差分方法、试射法。 第一节 欧拉法 求解常微分方程初值问题 ?????==0 0)() ,(y x y y x f dx dy (1) 的数值解,就是寻求准确解)(x y 在一系列离散节点 <<<<

(整理)常微分方程(含解答)

第八章 常微分方程 【教学要求】 一、了解微分方程的基本概念:微分方程,微分方程的阶、解、特解、通解、初始条件和初值问题,线性微分方程。 二、熟练掌握一阶可分离变量微分方程的解法。 三、熟练掌握一阶线性非齐次微分方程)()(x q y x p y =+' 的解法——常数变易法和公式法。 四、理解线性微分方程解的性质和解的结构。 五、熟练掌握二阶线性常系数齐次微分方程0=+'+''qy y p y 的解法——特征根法。 会根据特征根的三种情况,熟练地写出方程的通解,并根据定解的条件写出方程特解。 六、熟练掌握二阶线性常系数非齐次微分方程qy y p y +'+'' )(x f =,当自由项f (x )为某些特殊情况时的解法——待定系数法。 所谓f (x )为某些特殊情况是指f (x )为多项式函数,指数函数 或它们的和或乘积形式、三角函数x x x ββαsin cos ,e 。 关键是依据f (x )的形式及特征根的情况,设出特解y *,代入原方程,定出y *的系数。 【教学重点】 一阶可分离变量微分方程、一阶线性微分方程、二阶线性常系数微分方程的解法。 【典型例题】 。的阶数是微分方程例)(e )(12x y y y =-'+'' 2.1.B A 4. 3.D C 解:B 。的特解形式是微分方程例)( e 232x x y y y +=+'-'' x x x b ax B b ax A e )(.e ).(++ x x c b ax D cx b ax C e ).(e ).(++++ 解:C 是一阶线性微分方程。下列方程中例)( ,3 x x y y x B y A y x cos sin 1.e .2=+'='+ y x y D y y x y C ='=+'+''.0 . 解:B ???=='++1)1(0)1(4y y x y y 求解初值问题例 ??-=+x x y y y d )1(d 解:由变量可分离法得 c x y y ln ln 1ln +-=+∴ 代入上式得通解为由21ln ln 1)1(=?=c y x y y 211=+ 的特解。满足求解微分方程例1)0(e 252==-'y x y y x 解:由公式法得 ]d e e 2[e d 12d 1c x x y x x x +???=---?

第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)。

常微分方程的数值解

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

MATLAB求解常微分方程数值解

利用MATLAB求解常微分方程数值解

目录 1. 内容简介 (1) 2. Euler Method(欧拉法)求解 (1) 2.1. 显式Euler法和隐式Euler法 (2) 2.2. 梯形公式和改进Euler法 (3) 2.3. Euler法实用性 (4) 3. Runge-Kutta Method(龙格库塔法)求解 (5) 3.1. Runge-Kutta基本原理 (5) 3.2. MATLAB中使用Runge-Kutta法的函数 (7) 4. 使用MATLAB求解常微分方程 (7) 4.1. 使用ode45函数求解非刚性常微分方程 (8) 4.2. 刚性常微分方程 (9) 5. 总结 (9) 参考文献 (11) 附录 (12) 1. 显式Euler法数值求解 (12) 2. 改进Euler法数值求解 (12) 3. 四阶四级Runge-Kutta法数值求解 (13) 4.使用ode45求解 (14)

1.内容简介 把《高等工程数学》看了一遍,增加对数学内容的了解,对其中数值解法比较感兴趣,这大概是因为在其它各方面的学习和研究中经常会遇到数值解法的问题。理解模型然后列出微分方程,却对着方程无从下手,无法得出精确结果实在是让人难受的一件事情。 实际问题中更多遇到的是利用数值法求解偏微分方程问题,但考虑到先从常微分方程下手更为简单有效率,所以本文只研究常微分方程的数值解法。把一个工程实际问题弄出精确结果远比弄清楚各种细枝末节更有意思,因此文章中不追求非常严格地证明,而是偏向如何利用工具实际求解出常微分方程的数值解,力求将课程上所学的知识真正地运用到实际方程的求解中去,在以后遇到微分方程的时候能够熟练运用MATLAB得到能够在工程上运用的结果。 文中求解过程中用到MATLAB进行数值求解,主要目的是弄清楚各个函数本质上是如何对常微分方程进行求解的,对各种方法进行MATLAB编程求解,并将求得的数值解与精确解对比,其中源程序在附录中。最后考察MATLAB中各个函数的适用范围,当遇到实际工程问题时能够正确地得到问题的数值解。 2.Euler Method(欧拉法)求解 Euler法求解常微分方程主要包括3种形式,即显式Euler法、隐式Euler法、梯形公式法,本节内容分别介绍这3种方法的具体内容,并在最后对3种方法精度进行对比,讨论Euler法的实用性。 本节考虑实际初值问题 使用解析法,对方程两边同乘以得到下式

一阶常微分方程的奇解

摘要 (4) 1.何谓奇解 (5) 2.奇解的产生 (5) 3.包络跟奇解的关系 (6) 4.理论上证明C-判别曲线与P-判别曲线方法 (7) 4.1 克莱罗微分方程 (11) 5.奇解的基本性质 (14) 5.1 定理1 (14) 5.2 定理2 (16) 5.3 定理3 (16) 6.小结 (17) 参考文献: (17)

一阶常微分方程的奇解 摘要 在常微分方程中,我们知道方程的解可以有多种,现在我们来讨论求奇解的方法。我们看到某些微分方程,会存在一些特殊的积分曲线,他并不属于这方程的积分曲线族,但是,在这些特殊的积分曲线上的每一点处,都有积分曲线族中的一条曲线和他在此处相切。从而我们引出了积分曲线族的包络,而为了求微分方程的奇解,,我们应先求出他的通解,然后求通解的包络。 关键词:奇解,包络,C-判别式,P-判别式

1.何谓奇解 设一阶隐式方程) x F=0有一特解 y , , (,y

)(:x y ψ=Γ,j x ∈ 如果对每一点Γ∈P ,在P 点的任何一个领域内,方程),,(,y y x F =0都有一个不同于Γ的解在P 点与Γ相切,则称Γ是微分方程的),,(,y y x F =0的奇解 定义:如果一个一阶微分方程的一个特解的积分曲线上的每一点都至少和这个微分方程的不同的积分曲线相切,并且这相切的积分曲线在切点的任何邻域内都不重合,则称这个特解为这个微分方程的奇解 2.奇解的产生 先看一个例子,求方程 033=-?? ? ??y dx dy (1) 或与它等价的方程 3y dx dy = 的解。 经分离变量后,可得(1)的通解 3)(27 1c x y += 容易看出,y=0也是原方程的一个解。现在来研究这个解y=0有什么特殊的地方。由图我们看到,在解y=0上的每一 点)0,(0x 处相切,这种特殊的积分曲线y=0 称为奇积分曲线,他所对应的解就是奇 解,这就是奇解的产生。 我们现在给出曲线族包络的定义 某些微分方程,存在一些特殊的积分 曲线,会存在一些特殊的积分曲线,他并 不属于这方程的积分曲线族,但是,在这些特殊的积分曲线上的每一点处,都有积分曲线族中的一条曲线和他在此处相切。在几何学里,这些特殊的积分曲线称为上述积分曲线族的包络,在微分方程里,这些特殊的积分曲线所对应的解酒称为方程的奇解。

fortran下欧拉法求解常微分方程(实例)

1. Euler 公式 100(,)() i i i i y y hf x y y y x +=+??=? 实例: ,00(,),0,1,01f x y x y x y x =-==≤≤ 精确解为:1x y x e -=+- 程序代码: DIMENSION x(0:20),y(0:20),z(0:20),k(0:21) DOUBLE PRECISION x,y,z,k,h,x0,y0,z0,k0,n f(x,y)=x-y n=20 h=1/n x(0)=0 y(0)=0 DO i=0,n-1 y(i+1)=y(i)+f(x(i),y(i))*h x(i+1)=x(i)+h ENDDO k(0)=0 DO i=0,n z(i)=k(i)+exp(-k(i))-1 k(i+1)=k(i)+h END DO open(10,file='1.txt') WRITE(10,10) (x(i),y(i),z(i),i=0,20) WRITE(*,10) (x(i),y(i),z(i),i=0,20) 10 FORMAT(1x,f10.8,2x,f10.8,2x,f10.8/) END 输出结果: 0.00000000 0.00000000 0.00000000 0.05000000 0.00000000 0.00122942 0.10000000 0.00250000 0.00483742 0.15000000 0.00737500 0.01070798 0.20000000 0.01450625 0.01873075 0.25000000 0.02378094 0.02880078 ???=='00)(),(y x y y x f y ???=='0 0)(),(y x y y x f y

试论常微分方程的奇解

试论常微分方程的奇解 摘要: 一阶微分方程拥有含有一个任意常数的通解,另外可能还有个别不含于通解的特解,即奇解,利用P-判别法和C-判别法可以求出奇解,而这两种判别法是否适用于求每一个一阶微分方程的奇解?此文中举了几个例子来说明这个问题.并给出另外三种求奇解的方法. 关键词: 一阶微分方程,奇解,P-判别式,C-判别式,C-P消去法,拾遗法,自然法. Discussing Singular Solution about First Order Differential Equation ZHU Yong-wang (Class 1, Grade 2006, College of Mathematics and Information Science) Advisor: Professor LI Jian-min Abstract: First order differential equation has a general solution which contains an arbitrary constant, but sometimes it has special solution that is singular solution, which can be solved by the P-judgment method and C-judgment method.While whether the two judgments can be applied to get every singular solution to the first order differential equation? This paper intends to illustrate this problem with several examples. Key words: Singular solution, P-judgment, C-judgment, C-P elimination method, The supplement method, Natural method. 1.引言 一般来说一阶常微分方程拥有任意常数的通解,另外还有个别不含于通解的特解.这种特解可以理解为通解的一种蜕化现象.它在几何上往往表现为解的唯一性遭到破坏.早在1649年莱布尼兹就已经观察到解族的包络也是一个解.克莱络

常微分方程数值解法

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 。

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