解微分方程方法

解微分方程方法
解微分方程方法

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

有时我们需要研究微分方程组中的参数对于解的影响,这时采用带有参数的ode45求解会使求解、配合循环使用,可以使得求解的过程更加简捷。

使用方法:只需将附加参数放在options的后面就可以传递给odefun了。

看下面的例子。

function Rossler

clear;clc

a=[0.2,0.2];

b=[0.2,0.5];

c=[5.7,10];

x0=[0 0 0];

for jj=1:2

[t,x]=ode45(@myRossler,[0,100],x0,[],a(jj),b(jj),c(jj));

figure;plot3(x(:,1),x(:,2),x(:,3));grid on;

end

function dx=myRossler(t,x,a,b,c)

dx=[

-x(2)-x(3);

x(1)+a*x(2);

b+(x(1)-c)*x(3)];

5. 刚性方程的求解

刚性方程就是指各个自变量的变化率差异很大,会造成通常的求解方法失效。

这是matlab中自带的一个例子,使用ode15s求解,如果用ode45求解就会出现错误。

function myode15study

[t,Y] = ode15s(@vdp1000,[0 3000],[2 0]);

plot(T,Y(:,1),'-o')

figure;plot(Y(:,1),Y(:,2))

function dy = vdp1000(t,y)

dy = zeros(2,1);

dy(1) = y(2);

dy(2) = 1000*(1 - y(1)^2)*y(2) - y(1);

6.高阶微分方程的求解

通常的方法是进行变量替换,将原方程降阶,转换成更多变量的一阶方程组进行求解。在这个例子里我们求解一个动力学系统里最常见的一个运动方程

,其中f=sin(t)

function myhighoder

clear;clc

x0=zeros(6,1);

[t,x]=ode45(@myhigh,[0,100],x0);

plot(t,x(:,1))

function dx=myhigh(t,x)

f=[sin(t);0;0];;

M=eye(3);

C=eye(3)*0.1;

K=eye(3)-0.5*diag(ones(2,1),1)-0.5*diag(ones(2,1),-1);

dx=[x(4:6);inv(M)*(f-C*x(4:6)-K*x(1:3))];

7.延迟微分方程

matlab提供了dde23求解非中性微分方程。dde23的调用格式如下:

sol = dde23(ddefun,lags,history,tspan)

lags是延迟量,比如方程中包含y1(t-0.2)和y2(t-0.3)则可以使用lags=[0.2,0.3]。

这里的ddefun必须采用如下的定义方式:

dydt = ddefun(t,y,Z)

其中的Z(:,1)就是y(t-lags(1)),Z(:,2)就是y(t-lags(2))...

下面是个使用dde23求解延迟微分方程的例子。

function mydde23study

% The differential equations

%

% y'_1(t) = y_1(t-1)

% y'_2(t) = y_1(t-1)+y_2(t-0.2)

% y'_3(t) = y_2(t)

%

% are solved on [0, 5] with history y_1(t) = 1, y_2(t) = 1, y_3(t) = 1 for

% t <= 0.

clear;clc

lags=[1,0.2];

history=[1;1;1];

tspan=[0,5];

sol = dde23(@myddefun,lags,history,tspan)

plot(sol.x,sol.y)

function dy = myddefun(t,y,Z)

dy=[

Z(1,1);

Z(1)+Z(2,2);

y(2) ];

8.ode15i求解隐式微分方程

[T,Y] = ode15i(odefun,tspan,y0,yp0)

yp0为y'的初值。

odefun的格式如下 dy = odefun(t,y,yp),yp表示y',而方程中应该使得f(t,y,y')=0

function myodeIMP

% The problem is

%

% y(1)' = -0.04*y(1) + 1e4*y(2)*y(3)

% y(2)' = 0.04*y(1) - 1e4*y(2)*y(3) - 3e7*y(2)^2

% y(3)' = 3e7*y(2)^2

%

% It is to be solved with initial conditions y(1) = 1, y(2) = 0, y(3) = 0

% to steady state.

clear;clc

y0=[1;0;0];

fixed_y0=[1;1;1];

yp0=[0 0 0];

fixed_yp0=[];

[y0mod,yp0mod]=decic(@myodefunimp,0,y0,fixed_y0,yp0,fixed_yp0); tspan=[0, logspace(-6,6)];

[t,y] = ode15i(@myodefunimp,tspan,y0mod,yp0mod);

y(:,2)=1e4*y(:,2);

semilogx(t,y)

function res=myodefunimp(t,y,yp)

res=[

-yp(1)-0.04*y(1)+1e4*y(2)*y(3);

-yp(2)+0.04*y(1)-1e4*y(2)*y(3)-3e7*y(2)^2;

-yp(3)+3e7*y(2)^2;

];

这次要接触一个新的求解ode的方法,就是使用simulink的积分器求解。

1.还是做我们研究过的一个例子(在初识matlab微分方程(2)中采用的)。

Dx=y+x(1-x^2-y^2);

Dy=-x+y*(1-x^2-y^2)

初值x=0.1;y=0.2;

积分器中设置初始条件;f(u)中指定Dx,Dy的计算公式。

运行这个仿真,scope中可以看到两个变量的时程如下:

在WorkSpace里可以得到tout和yout,执行plot(yout(:,1),yout(:,1))得到与ode45求解相似的结果如下

2.这部分解决一个使用ode求解器dde23没法求解的一类延迟微分方程(中性微分方程)。形如x'(t)=f(x'(t-t1),x(t),x(t-t2),x(t-t3))这类方程。dde23是无法求解的,但是可以借助simulink 仿真求解。

看下面的这个例子。

x'(t)=A1*x(t-t1)+A2*x'(t-t2)+B*u(t)

t1=0.15;t2=0.5

A1=[-12 3 -3] A2=[0.02 0 0] B=[0]

[106 -116 62] [0 0.03 0] [1]

[207 -207 113] [0 0 0.04] [2]

在continuous里找到transport Delay,就可以实现对于信号的延迟,因此可以建立如下仿真模型

从而在scope中可以得到如下仿真结果

OK~初识微分方程到了这里我想应该可以做个终结,因为我想作为零基础的材料来看,到这里也就可以了。以后还可能再有微分方程的内容,还请感兴趣的朋友多捧场吧。

最后,大力推荐一本书薛定宇老师的《高等应用数学问题的Matlab求解》,确实很经典。学习Matlab的时间也不算短了,可是每次翻看这本书总是能让我有温故而知新的感觉,是我目前见过的最好的Matlab书。强烈推荐!(对于从来没有接触过matlab的人来说或许有点儿难,但是如果你以后要用matlab的话买一本绝对不会后悔的。)

全微分方程及积分因子

全微分方程及积分因子

全微分方程及积分因子 内容:凑微分法,全微分方程的判别式,全微分方程的公式解,积分因子的微分方程,只含一个变量的积分因子和其他特殊形式的积分因子。由于有数学分析多元微积分的基础,本节的定理1可以简化处理。对课本中第三块知识即全微分方程的物理背景可以留到后面处理,对第四块知识增解和失解的情况要分散在本章各小节,每次都要重视这个问题。关于初等积分法的局限性可归到学习近似解法时一起讲解。 重点:全微分方程的公式解和积分因子的计算,难点为凑微分法和积分因子的计算。 习题1(1,3,5),2,3 思考题:讨论其他特殊形式的积分因子。 方程:0),(),(=+dy y x N dx y x M 判定:全微分?x N y M ??≡?? 解法:C dy y x N dx y x M y y x x =+??00),(),(0 初值问题0=C 积分因子:x N y M y M x N ??-??=? ???????-??μμμ1

)(x μ: N x N y M dx d ?? -??=μμ1 )(y μ: M x N y M dy d ??- ??-=μμ1 1.解下列方程: 1)0)(222=-+dy y x xydx 解:x N y M ?? ≡??=x 2 ??=-+x y C dy y xydx 002 )0(2既 C y y x =-3/32 2)0)2(=+---dy xe y dx e y y 解:x N y M ??≡??=y e -- ??=-+-y x y C dy y dx e 00)2(既C y xe y =--2 3)0)1(222=---+dy y x dx y x x 解:x N y M ??≡??=y x --221 ??=---+x y C dy y dx y x x 002)1(2 C y y y x x =-+---+23 232322)(32 )(32 )(32 既C y x x =-+23 2 2)(32 4)0)ln (3 =++dy x y dx x y

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

各种类型的微分方程及其相应解法 专业班级:交土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 +=----

微分方程几种求解方法

第五章 控制系统仿真 §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('位移','速度',’加速度’)

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

各种类型的微分方程及其相应解法 专业班级:交土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,2),且在该曲线上任一点M (x ,y )处的切线的斜率为2x ,求这条曲线的方程。 解 设曲线方程为)(x y y =.由导数的几何意义可知函数)(x y y =满足 x dx dy 2= (1) 同时还满足以下条件: 1=x 时,2=y (2) 把(1)式两端积分,得 ?=xdx y 2 即 C x y +=2 (3) 其中C 是任意常数。 把条件(2)代入(3)式,得 1=C , 由此解出C 并代入(3)式,得到所求曲线方程: 12+=x y (4) (2)列车在水平直线路上以20s m /的速度行驶;当制动时列车获得加速度2/4.0s m -.问开始制动后多少时间列车才能停住,以及列车在这段时间里行驶了多少路程? 解 设列车开始制动后t 秒时行驶了s 米。根据题意,反映制动阶段列车运动规律的函数)(t s s =满足: 4.02 2-=dt s d (5) 此外,还满足条件: 0=t 时,20,0== =dt ds v s (6) (5)式两端积分一次得: 14.0C t dt ds v +-== (7) 再积分一次得

2122.0C t C t s ++-= (8) 其中21,C C 都是任意常数。 把条件“0=t 时20=v ”和“0=t 时0=s ”分别代入(7)式和(8)式,得 0 ,2021==C C 把21,C C 的值代入(7)及(8)式得 ,204.0+-=t v (9) t t s 202.02+-= (10) 在(9)式中令0=v ,得到列车从开始制动到完全停止所需的时间: )(504 .020s t ==。 再把5=t 代入(10)式,得到列车在制动阶段行驶的路程 ).(5005020502.02m s =?+?-= 上述两个例子中的关系式(1)和(5),(6)都含有未知函数的导数,它们都是微分方程。 1.微分方程的概念 一般地,凡含有未知函数、未知函数的导数及自变量的方程,叫做微分方程。未知函数是一元函数的方程叫做常微分方程;未知函数是多元函数的方程,叫做偏微分方程。我们只研究常微分方程。微分方程中所出现的未知函数的最高阶导数的阶数,叫做微分方程的阶。 例如,方程(1)是一阶微分方程;方程(5)是二阶微分方程方程。又如,方程 ()x y y y y y 2sin 5'12''10'''44=+-+-是四阶微分方程。 一般地,n 阶微分方程的形式是 ()(,,',...,)0,n F x y y y = (11) 其中F 是个2+n 变量的函数。这里必须指出,在方程(11)中,)(n y 是必须出现的,而 )1(,...,',,-n y y y x 等变量则可以不出现。例如n 阶微分方程

常微分方程解题方法总结.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]

二阶线性微分方程解的结构

二阶线性微分方程解的结构

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

附录A 线性常微分方程 本课程的研究内容与常微分方程理论有非常密切的联系,因此在本附录里,我们将对线性常微分方程的知识——包括解的存在性、解的结构和求解方法做一些回顾和总结。 把包含未知函数和它的j 阶导数()j y (的方程称为常微分方程。线性常微分方程的标准形式 ()(1)110()()'()()n n n y p x y p x y p x y f x --++++= (A.1) 其中n 称为方程的阶数,()j p x 和()f x 是给定的函数。可微函数()y y x =在区间 I 上满足方程(A.1),则称其为常微分方程(A.1)在 I 上的一个解。,()f x 称为方程(A.1)的自由项,当自由项()0f x ≡时方程(A.1)称为是齐次方程,否则称为非齐次方程。一般来说常微分方程的解是不唯一的,我们将方程的全部解构成的集合称为解集合,解集合中全部元素的一个通项表达式称为方程的通解,而某个给定的解称为方程的特解。 在本附录里,我们重点介绍一阶和二阶常微分方程的相关知识。 A.1 一阶线性常微分方程 一阶线性常微分方程表示为 '()()y p x y f x x I +=∈,. (A.2) 当()0f x ≡,方程退化为 '()0y p x y +=, (A.3) 假设()y x 不恒等于零,则上式等价于

'()y p x y =- 而()'ln 'y y y =,从而(A.3)的通解为 ()d ()p x x y x Ce -?= ( A.4) 对于非齐次一阶线性常微分方程(A .2),在其两端同乘以函数()d p x x e ? ()d ()d ()d '()()p x x p x x p x x e y p x e y e f x ???+= 注意到上面等式的左端 ()d ()d ()d ''()p x x p x x p x x e y p x e y e y ?????+= ??? ‘ 因此有 ()d ()d '()p x x p x x e y e f x ????= ??? ‘ 两端积分 ()d ()d ()d p x x p x x e y C e f x x ??=+?‘ 其中C 是任意常数。进一步有 ()d ()d ()d p x x p x x y e C e f x x -????=+ ??? ?‘ 综上有如下结论 定理A.1 假设()()p x f x I 和在上连续,则一阶线性非齐次常微分方程(A.1)的通解具有如下形式 ()d ()d ()d ()()d p x x p x x p x x y x Ce e e f x x --???=+?‘ (A.5)

微分方程例题选解演示教学

微分方程例题选解

微分方程例题选解 1. 求解微分方程3ln (ln )0,|2x e x xdy y x dx y =+-== 。 解:原方程化为 x y x x dx dy 1ln 1=+, 通解为 ?+??=-]1[ln 1ln 1C dx e x e y dx x x dx x x ?+=]ln [ln 1C dx x x x ]ln 2 1[ln 12C x x += 由e x =,23=y ,得1=C ,所求特解为 11ln ln 2 y x x =+。 2. 求解微分方程22'0x y xy y -+=。 解:令ux y =,u x u y '+=',原方程化为 2u u u x u -='+, 分离变量得 dx x u du 12=-, 积分得 C x u +=ln 1, 原方程的通解为 ln x y x C =+。 3. 求解微分方程dy y y x dx xy x )()(3223+=-。 解:此题为全微分方程。下面利用“凑微分”的方法求解。 原方程化为 03223=---dy y ydy x dx xy dx x , 由 dy y ydy x dx xy dx x 3223--- 4222244 1)(2141dy dy x dx y dx -+-= )2(4 14224y y x x d --=, 得 0)2(4224=--y y x x d , 原方程的通解为 C y y x x =--42242。 注:此题也为齐次方程。 4. 求解微分方程2''1(')y y =+。 解:设y p '=,则dx dp y ='',原方程化为 21p dx dp +=, 分离变量得 dx p dp =+2 1,积分得 1arctan C x p +=, 于是 )tan(1C x p y +==', 积分得通解为 12ln cos()y x C C =-++。 5. 求解微分方程''2'20y y y -+=。 解:特征方程为 0222=--r r ,特征根为 i r ±=1,

二阶线性微分方程解的结构

附录A 线性常微分方程 本课程的研究内容与常微分方程理论有非常密切的联系,因此在本附录里,我们将对线性常微分方程的知识——包括解的存在性、解的结构和求解方法做一些回顾和总结。 把包含未知函数和它的j 阶导数()j y (的方程称为常微分方程。线性常微分方程的标准形式 ()(1)110()()'()()n n n y p x y p x y p x y f x --++++=L (A.1) 其中n 称为方程的阶数,()j p x 和()f x 是给定的函数。可微函数()y y x =在区间 I 上满足方程(A.1),则称其为常微分方程(A.1)在 I 上的一个解。,()f x 称为方程(A.1)的自由项,当自由项()0f x ≡时方程(A.1)称为是齐次方程,否则称为非齐次方程。一般来说常微分方程的解是不唯一的,我们将方程的全部解构成的集合称为解集合,解集合中全部元素的一个通项表达式称为方程的通解,而某个给定的解称为方程的特解。 在本附录里,我们重点介绍一阶和二阶常微分方程的相关知识。 A.1 一阶线性常微分方程 一阶线性常微分方程表示为 '()()y p x y f x x I +=∈,. (A.2) 当()0f x ≡,方程退化为 '()0y p x y +=, (A.3) 假设()y x 不恒等于零,则上式等价于 而()'ln 'y y y =,从而(A.3)的通解为 ()d ()p x x y x Ce -?= ( A.4) 对于非齐次一阶线性常微分方程(A.2),在其两端同乘以函数()d p x x e ?

注意到上面等式的左端 因此有 两端积分 其中C 是任意常数。进一步有 综上有如下结论 定理A.1 假设()()p x f x I 和在上连续,则一阶线性非齐次常微分方程(A.1)的通解具有如下形式 ()d ()d ()d ()()d p x x p x x p x x y x Ce e e f x x --? ??=+?‘ (A.5) 其中C 是任意常数。 观察(A.4)式和(A.5)式,我们发现一阶线性非齐次常微分方程(A.1)的解等于 一阶线性齐次常微分方程( A.2)的通解()d p x x Ce -?加上函数()d ()d *()()d p x x p x x y x e e f x x -??=?。容易验证,*()y x 是方程(A.1)的一个特解。这符合线性方程解的结构规律。 例1 求解一阶常微分方程 解 此时()2()1p x f x =-=,,由(A.5)式,解为 其中C 是任意常数。 A.2 二阶线性常微分方程 将具有以下形式的方程 "()'()()y p x y q x y f x x I ++=∈,, (A.6) 称为二阶线性常微分方程,其中(),(),()p x q x f x 都是变量x 的已知连续函数。称 "()'()0y p x y q x y x I ++=∈,, (A.7) 为与(A.6)相伴的齐次方程. A .2.1 二阶线性微分方程解的结构 首先讨论齐次方程(A.7)解的结构。

解微分方程方法

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

二阶线性微分方程解的结构

附录A 线性常微分方程 本课程的研究内容与常微分方程理论有非常密切的联系,因此在本附录里,我们将对线性常微分方程的知识——包括解的存在性、解的结构和求解方法做一些回顾和总结。 把包含未知函数和它的j 阶导数()j y (的方程称为常微分方程。线性常微分方程的标准形式 ()(1)110()()'()()n n n y p x y p x y p x y f x --++++= (A.1) 其中n 称为方程的阶数,()j p x 和()f x 是给定的函数。可微函数()y y x =在区间 I 上满足方程(A.1),则称其为常微分方程(A.1)在 I 上的一个解。,()f x 称为方程(A.1)的自由项,当自由项()0f x ≡时方程(A.1)称为是齐次方程,否则称为非齐次方程。一般来说常微分方程的解是不唯一的,我们将方程的全部解构成的集合称为解集合,解集合中全部元素的一个通项表达式称为方程的通解,而某个给定的解称为方程的特解。 在本附录里,我们重点介绍一阶和二阶常微分方程的相关知识。 A.1 一阶线性常微分方程 一阶线性常微分方程表示为 '()()y p x y f x x I +=∈,. (A.2) 当()0f x ≡,方程退化为 '()0y p x y +=, (A.3) 假设()y x 不恒等于零,则上式等价于 '()y p x y =-

而()'ln 'y y y =,从而(A.3)的通解为 ()d ()p x x y x Ce -?= ( A.4) 对于非齐次一阶线性常微分方程(A.2),在其两端同乘以函数()d p x x e ? ()d ()d ()d '()()p x x p x x p x x e y p x e y e f x ???+= 注意到上面等式的左端 ()d ()d ()d ''()p x x p x x p x x e y p x e y e y ?????+= ??? ‘ 因此有 ()d ()d '()p x x p x x e y e f x ????= ??? ‘ 两端积分 ()d ()d ()d p x x p x x e y C e f x x ??=+?‘ 其中C 是任意常数。进一步有 ()d ()d ()d p x x p x x y e C e f x x -??? ?=+ ??? ?‘ 综上有如下结论 定理A.1 假设()()p x f x I 和在上连续,则一阶线性非齐次常微分方程(A.1)的通解具有如下形式 ()d ()d ()d ()()d p x x p x x p x x y x Ce e e f x x --???=+?‘ (A.5) 其中C 是任意常数。 观察(A.4)式和(A.5)式,我们发现一阶线性非齐次常微分方程(A.1) 的解等于一阶线性齐次常微分方程(A.2)的通解()d p x x Ce -?加上函数

常微分方程解

第四章常微分方程数值解 [课时安排]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)的数值解是按节点的顺序逐步

推进求得.首先,要对方程做离散逼近,求出数值解的公式,再研究公式的局部截断误差,计算稳定性以及数值解的收敛性与整体误差等问题. 4.2 简单的单步法及基本概念 4.2.1 Euler法、后退Euler法与梯形法 求初值问题(4.1.1)的一种最简单方法是将节点的导数用差商 代替,于是(4.1.1)的方程可近似写成 (4.2.1) 从出发,由(4.2.1)求得再将 代入(4.2.1)右端,得到的近似,一般写成 (4.2.2) 称为解初值问题的Euler法. Euler法的几何意义如图4-1所示.初值问题(4.1.1)的解曲线y=y(x)过点,从出发,以为斜率作一段直线,与直线交点于,显然有 ,再从出发,以为斜率作直线推进到上一点,其余类推,这样得到解曲线的一条近似曲线,它就是折线.

阶线性微分方程解的结构

阶线性微分方程解的结 构 公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

附录A 线性常微分方程 本课程的研究内容与常微分方程理论有非常密切的联系,因此在本附录里,我们将对线性常微分方程的知识——包括解的存在性、解的结构和求解方法做一些回顾和总结。 把包含未知函数和它的j 阶导数()j y (的方程称为常微分方程。线性常微分方 程的标准形式 ()(1)110()()'()()n n n y p x y p x y p x y f x --++++= () 其中n 称为方程的阶数,()j p x 和()f x 是给定的函数。可微函数()y y x =在区间 I 上满足方程(),则称其为常微分方程()在 I 上的一个解。,()f x 称为方程()的自由项,当自由项()0f x ≡时方程()称为是齐次方程,否则称为非齐次方程。一般来说常微分方程的解是不唯一的,我们将方程的全部解构成的集合称为解集合,解集合中全部元素的一个通项表达式称为方程的通解,而某个给定的解称为方程的特解。 在本附录里,我们重点介绍一阶和二阶常微分方程的相关知识。 一阶线性常微分方程 一阶线性常微分方程表示为 '()()y p x y f x x I +=∈,. () 当()0f x ≡,方程退化为 '()0y p x y +=, ()

假设()y x 不恒等于零,则上式等价于 而()'ln 'y y y =,从而()的通解为 ()d ()p x x y x Ce -?= ( ) 对于非齐次一阶线性常微分方程(),在其两端同乘以函数()d p x x e ? 注意到上面等式的左端 因此有 两端积分 其中C 是任意常数。进一步有 综上有如下结论 定理 假设()()p x f x I 和在上连续,则一阶线性非齐次常微分方程()的通解具有如下形式 ()d ()d ()d ()()d p x x p x x p x x y x Ce e e f x x --???=+?‘ () 其中C 是任意常数。 观察()式和()式,我们发现一阶线性非齐次常微分方程()的解等于一阶线性齐次常微分方程()的通解()d p x x Ce -?加上函数 ()d ()d *()()d p x x p x x y x e e f x x -??=? 。容易验证,*()y x 是方程()的一个特解。这符合线性方程解的结构规律。 例1 求解一阶常微分方程

全微分方程及积分因子

1.5 全微分方程及积分因子

一、全微分方程的定义及条件 则它的全微分为 是一个连续可微的函数设,),(y x U U =dy y U dx x U dU ??+??=如果我们恰好碰见了方程 0),(),(=??+??dy y y x U dx x y x U 就可以马上写出它的通积分 . ),(c y x U =

定义1使得 若有函数),,(y x U dy y x N dx y x M y x dU ),(),(),(+=则称微分方程) 1(,0),(),(=+dy y x N dx y x M 是全微分方程..),()1(c y x U =的通积分为此时如0 =+ydx xdy 0 )2()3(322=+++dy xy x dx y y x 0 )()(=+dy y g dx x f 是全微分方程.=)(xy d =+)(23xy y x d =+òò))()((y d y g x d x f d 1.全微分方程的定义

需考虑的问题(1) 方程(1)是否为全微分方程? (2) 若(1)是全微分方程,怎样求解? (3) 若(1)不是全微分方程,有无可能转化为全微分方程求解?2 方程为全微分方程的充要条件 定理1则方程 偏导数中连续且有连续的一阶域在一个矩形区和设函数,),(),(R y x N y x M ) 1(,0),(),(=+dy y x N dx y x M 为全微分方程的充要条件是 ). 2(,),(),(x y x N y y x M ??=??)1(, 0),(),(=+dy y x N dx y x M

证明“必要性”设(1)是全微分方程,使得 则有函数),,(y x U dy y U dx x U y x dU ??+??=),(dy y x N dx y x M ),(),(+=故有),,(y x M x U =??),(y x N y U =??从而从而有都是连续的和由于,22y x U x y U ??????,22y x U x y U ???=???故.),(),(x y x N y y x M ??=??y x U y N x y U y M ???=?????=??22 ,

微分方程求解

微分方程求解 一、实验目的与要求 1.掌握用Matlab求微分方程及其方程组解的方法; 2.学会求微分方程近似解的欧拉折线法; 3.学会建立一些简单问题的微分方程模型,并能运用Matlab分析研究这些问题。 二、问题描述 对于很多实际问题,要直接找出所需的函数关系往往非常困难,但根据实际问题所提供的条件,有时却可以列出含有未知函数导数的关系式,这样的关系式就是所谓的微分方程。怎样利用微分方程求得所需未知函数,往往是我们解决实际问题经常需要面对的问题,即解微分方程。这里我们借用Matlab对此问题进行简单探讨。 三、问题分析 在处理关于微分方程的实际问题时,我们一般须先建立微分方程,再利用所学的数学知识解微分方程。事实上真正能找到精确解的微分方程只是很少一部分,大部分只能求近似解,即数值解。 四、试验过程 1.求微分方程解析解的命令。 求微分方程解析解的命令为: dsolve(‘方程1’,‘方程2’,…,‘初始条件1’,‘初始条件2’,…,‘自变量’),对于可用积分方法求解的微分方程和微分方程组,可以用dsolve命令来求其通解和特解。 例1:要求方程0 y +''y y的通解,可以输入以下语句Matlab命令: 4 -' 3= dsolve ('D2y+3*Dy-4*y=0', 'x') 运行结果:ans =C1*exp(-4*x)+C2*exp(x)

即 x x e C e C y 241+=- 注:求一阶用D 表示,二阶导数用D2表示,三阶导数用D3表示,以此类推。如果自变量没有选定,默认自变量为’t ’。 例2:解方程054=+'+''y y y dsolve ('D2y+4*Dy+5*y=0','x') 运行结果: ans =C1*exp(-2*x)*sin(x)+C2*exp(-2*x)*cos(x) 即: ()x C x C e y x cos sin 212+=- 例3:解方程() 2 212x xe xy y x =+'+ dsolve ('(1+x^2)*Dy+2*x*y=x*exp(x^2)','x') 运行结果:ans =(1/2*exp(x^2)+C1)/(1+x^2) 即: 2 1 1212 x C e y x ++= 如果要求微分方程的初值问题:10,602400 ='==-'+''==x x y y y y y ,可 输入以下语句 dsolve ('D2y+4*Dy-2*y=0','y(0)=6','Dy(0)=10','x') 运行结果: ans = (3+11/6^(1/2))*exp((-2+6^(1/2))*x)+(-11/6^(1/2)+3)*exp(-(2+6^(1/2))*x) 即: ()()x 62x 6261136113--+-???? ??-+???? ??+=e e y 2.求微分方程数值解。 求微分方程数值解命令为ode45,ode23,ode15s 。 对于不可以用积分方法求解的微分方程初值问题,可以用ode45,ode23,ode15s 命令求特解。 例4:求微分方程20 ,3x y yx y x y ='=++=的近似解(40≤≤x )可用下 面的命令: function f=odefun1(x,y) f=y*x+y+x^2;

常系数线性微分方程的解的结构分析

常系数线性微分方程的解的结构分析 【 摘要】在参考和总结了许多场系数线性微分方程的解法的基础上,本文总结了一些常系数微分方程的解的解法,并针对一类常系数线性微分方程的已有结论给予证明,以解给予一些结论证明思路,以及一些实例,并向高阶推广。 【关键词 】常系数 线性 微分方程 结构 一阶常系数齐次线性微分方程 0=+ax dt dx , (1.1) 的求解 上式可以改写为 adt x dx -= , (1.2) 于是变量x 和t 被分离,再将两边积分得 c at x +-=ln , (1.3) 这里的c 为常数。又由对数的定义,上式可以变为 at ce x -= , (1.4) 其中c= , 因为x=0也是方程的解,因此c 可以是任意常数。 这里首先是将变量分离,然后再两边积分,从而求出方程的解。这便要方程式可以分离变量的,也就是变量分离方程。 一阶常系数微分方程 )()(x Q y x P dx dy += , (2.1) 其中P (x ),Q(x)在考虑的区间上式连续函数,若Q (x )=0 ,上式就变为 y x P dx dy )(= , (2.2) 上式为一阶齐次线性微分方程。还是变量分离方程我们可以参考上面变量分离方程的解法,先进行变量分离得到 dx x P y dy )(= , (2.3) 两边同时积分,得到 ? =dx x p ce y )( , (2.4) 这里c 是常数。 若Q (x )≠ 0 , 那么上式就变成了 一阶非齐次线性微分方程。 我们知道一阶齐次线性微分方程是一阶常微分方程的一种特殊情况,那么可以设想将一阶

齐次线性微分方程的解 ? =dx x p ce y )( , (2.5) 中的常数c 变易成为待定的函数c (x ),令 ?=dx x p e x c y )()( , (2.6) 微分之,就可以得到 ?+?=dx x p dx x p e x P x c e dx x dc dx dy )()()()()( , (2.7) 以(2.7),(2.6)代入2.1,得到 )()()()()()()()()(x Q e x c x p e x P x c e dx x dc dx x p dx x p dx x p +?=?+?,(2.8) 即 ?=-dx x p e x Q dx x dc )()() (, 积分后得到 c (x )=c dx e x Q dx x p +?? -)()( , (2.9) 这里c 是任意常数,将上式代入(2.6)得到方程(2.1)的通解 ))(()()(c dx e x Q e y dx x p dx x p +? ? =?- (2.91) 在上面的一阶线性微分方程中,是将一阶齐次线性微分方程中的通解中的常数c 变成c(x) ,常数变易法一阶非齐次线性微分方程的解, 感觉这个方法之所以用x 的未知函数u(x)替换任意常数C,是因为C 是任意的,C 与x 形成函数关系,要确定C,需要由初始条件确定,一个x,确定一个C,也就形成一对一或多对多的映射,也就是函数关系,而这里的C 是任意的,也就可以用一个未知的,也就是任意的函数u(x)来代替,进而求得非齐次线性微分方程的解。这种将常数变异为待定函数的方法,我们通常称为常数变易法。常数变易法实质也是一种变量变换的方法,通过变换(2.6可将方程(2.1)化为变量分离方程。 二阶常系数线性微分方程 (1)二阶常系数线性齐次方程 022=++qy dx dy p dx y d (3.1) 其中p 、q 是常数,我们知道,要求方程(3.1)的通解,只要求出其任意两个线性无关的特 解y 1,y 2就可以了,下面讨论这样两个特解的求法。 我们先分析方程(3.1)可能具有什么形式的特解,从方程的形式上来看,它的特点是22dx y d ,

各类微分方程的解法大全

各类微分方程的解法 1.可分离变量的微分方程解法 一般形式:g(y)dy=f(x)dx 直接解得∫g(y)dy=∫f(x)dx 设g(y)及f(x)的原函数依次为G(y)及F(x),则G(y)=F(x)+C为微分方程的隐式通解 2.齐次方程解法 一般形式:dy/dx=φ(y/x) 令u=y/x则y=xu,dy/dx=u+xdu/dx,所以u+xdu/dx=φ(u),即du/[φ(u)-u]=dx/x 两端积分,得∫du/[φ(u)-u]=∫dx/x 最后用y/x代替u,便得所给齐次方程的通解 3.一阶线性微分方程解法 一般形式:dy/dx+P(x)y=Q(x) 先令Q(x)=0则dy/dx+P(x)y=0解得y=Ce- ∫P(x)dx,再令y=u e-∫P(x)dx代入原方程解得u=∫Q(x) e∫P(x)dx dx+C,所以y=e-∫P(x)dx[∫Q(x)e∫P(x)dx dx+C] 即y=Ce-∫P(x)dx +e- ∫P(x)dx∫Q(x)e∫P(x)dx dx为一阶线性微分方程的通解 4.可降阶的高阶微分方程解法 ①y(n)=f(x)型的微分方程 y(n)=f(x) y(n-1)= ∫f(x)dx+C1 y(n-2)= ∫[∫f(x)dx+C1]dx+C2 依次类推,接连积分n次,便得方程y(n)=f(x)的含有n个任意常数的通解②y”=f(x,y’) 型的微分方程 令y’=p则y”=p’,所以p’=f(x,p),再求解得p=φ(x,C1) 即dy/dx=φ(x,C1),所以y=∫φ(x,C1)dx+C2 ③y”=f(y,y’) 型的微分方程

令y ’=p 则y ”=pdp/dy,所以pdp/dy=f(y,p),再求解得p=φ(y,C 1) 即dy/dx=φ(y,C 1),即dy/φ(y,C 1)=dx,所以∫dy/φ(y,C 1)=x+C 2 5.二阶常系数齐次线性微分方程解法 一般形式:y ”+py ’+qy=0,特征方程r 2+pr+q=0 6.二阶常系数非齐次线性微分方程解法 一般形式: y ”+py ’+qy=f(x) 先求y ”+py ’+qy=0的通解y 0(x),再求y ”+py ’+qy=f(x)的一个特解y*(x) 则y(x)=y 0(x)+y*(x)即为微分方程y ”+py ’+qy=f(x)的通解 求y ”+py ’+qy=f(x)特解的方法: ① f(x)=P m (x)e λx 型 令y*=x k Q m (x)e λx [k 按λ不是特征方程的根,是特征方程的单根或特征方程的重根依次取0,1或2]再代入原方程,确定Q m (x)的m+1个系数 ② f(x)=e λx [P l(x)cos ωx+P n (x)sin ωx ]型 令y*=x k e λx [Q m (x)cos ωx+R m (x)sin ωx ][m=max ﹛l,n ﹜,k 按λ+i ω不是特征方程的根或是特征方程的单根依次取0或1]再代入原方程,分别确定Q m (x)和R m (x)的m+1个系数

相关文档
最新文档