微分方程的基础知识及解析解Word文件下载.docx
《微分方程的基础知识及解析解Word文件下载.docx》由会员分享,可在线阅读,更多相关《微分方程的基础知识及解析解Word文件下载.docx(10页珍藏版)》请在冰点文库上搜索。
0时,s0,vds20dt
(6)
(5)式两端积分一次得:
ds0.4tC1
dt1
v
(7)
再积分一次得
s0.2t2C1tC2
8)
其中C1,C2都是任意常数
把条件“t0时v20”和“t0时s0”分别代入(7)式和(8)式,得
C120,C20
把C1,C2的值代入(7)及(8)式得
(9)
10)
v0.4t20,
s0.2t220t
在(9)式中令v0,得到列车从开始制动到完全停止所需的时间:
20
0.4
50(s)。
再把t5代入(10)式,得到列车在制动阶段行驶的路程
2
s0.25022050500(m).
上述两个例子中的关系式
(1)和(5),(6)都含有未知函数的导数,它们都是微分方程。
1.微分方程的概念
一般地,凡含有未知函数、未知函数的导数及自变量的方程,叫做微分方程。
未知函数是一元函数的方程叫做常微分方程;
未知函数是多元函数的方程,叫做偏微分方程。
我们只研究常微分方程。
微分方程中所出现的未知函数的最高阶导数的阶数,叫做微分方程的阶。
例如,方程
(1)是一阶微分方程;
方程(5)是二阶微分方程方程。
又如,方程
y44y'
'
10y'
12y'
5ysin2x是四阶微分方程。
般地,n阶微分方程的形式是
(n)
其中F是个n2变量的函数。
这里必须指出,在方程(11)中,y(n)是必须出现的,而
x,y,y'
...,y(n1)等变量则可以不出现。
例如n阶微分方程
y(n)10
中,除y(n)外,其他变量都没有出现。
由前面的例子我们看到,在研究某些实际问题时,首先要建立微分方程,然后找出满足微分方程的函数,就是说,找出这样的函数,把这函数代入微分方程能使该方程成为恒等式。
这个函数就叫做该微分方程的解。
例如,函数(3)和(4)都是微分方程
(1)的解;
函数(8)和(10)都是微分方程(5)的解。
如果微分方程的解中含有任意常数,且任意常数的个数与微分方程的阶数相同,这样的解叫做微分方程的通解。
例如,函数(3)是方程
(1)的解,它含有一个任意常数,而方程
(1)是一阶的,所以函数(3)是方程
(1)的通解。
又如,函数(8)是方程的解,它含有两个任意常数,而方程(5)是二阶的,所以函数(8)是方程(5)的通解。
由于通解中含有任意常数,所以它还不能完全确定地反映某一客观事物的规律性,必须确定这些常数的值。
为此,要根据问题的实际情况提出确定这些常数的条件。
例如,例1中的条件
(2),例2中的条件(6),便是这样的条件。
设微分方程中的未知函数为yy(x),如果微分方程是一阶的,通常用来确定任意常数的条件是
xx0时,yy0,
或写成y|xx0y0
其中x0,y0都是给定的值;
如果微分方程是二阶的,通常用来确定任意常数的条件是:
xx0时,yy0,y'
y1
或写成y|xx0y0,y'
|xx0y1其中x0,y0和y1都是给定的值。
上述条件叫做初始条件。
确定了通解中的任意常数以后,就得到了微分方程的特解。
例如(4)式是方程
(1)满足条件
(2)的特解;
(10)式是方程(5)满足条件(6)的特解。
求微分方程y'
f(x,y)满足初始条件y|x
x0
y0的特解这样一个问
题,叫做一阶微分方程的初值问题,记作
y'
f(x,y),y|xx0y0.
13)
二阶微分方程的初值问题是
f(x,y,y'
),y|xx0y0,y'
|xx0y1
3、例题
例1验证:
函数
xC1cosktC2sinkt
14)
是微分方程
d22xk2x0
dt2
15)
的解。
求出所给函数
14)的导数dxdt
kC1sinktkC2coskt,
d2x
dt2
kC1coskt
22
kC2sinktk(C1cosktC2sinkt)
把ddt2x及x的表达式代入方程(
15)得
k2(C1cosktC2sinkt)+k2(C1cosktC2sinkt)0
14)是微
函数(14)及其导数代入方程(15)后成为一个恒等式,因此函数(
分方程(15)的解。
用程序来实现:
>
symsktC1C2;
x=C1*cos(k*t)+C2*sin(k*t);
diff(x,t,2)+k^2*xans=k^2*(C1*cos(k*t)+C2*sin(k*t))-C1*k^2*cos(k*t)-C2*k^2*sin(k*t)>
simple(ans)
(二)微分方程的解一、几个会用到的函数:
1、solve函数:
Matlab中solve函数主要是用来求解线性方程组的解析解或者精确解。
solve函数的语法定义主要有以下四种:
solve(‘eq'
)
‘var'
solve(‘eq1'
'
eq2'
⋯eq,n'
g=solve(‘eq1'
‘eq2'
‘var1'
‘var2'
⋯va,rn‘'
eq代表字符串形式的方程,var代表的是变量。
例1:
解方程ax2bxc0
程序是:
symsabcx;
solve('
a*x^2+b*x+c'
)(也可写成solve('
a*x^2+b*x+c=0'
))当没有指定变量的时候,matlab默认求解的是关于x的解,求解的结果为:
ans=
-(b+(b^2-4*a*c)^(1/2))/(2*a)
-(b-(b^2-4*a*c)^(1/2))/(2*a)d
当指定变量为b的时候:
b'
求解的结果为:
ans=-(a*x^2+c)/xs=-(a*x^2+c)/x
例2:
对于方程组xy1的情况
x11y5
S=solve('
x+y=1'
x-11*y=5'
);
S.x
S.y
S=[S.x,S.y](这里或者写成x=S.xy=S.y)如果解得是一个方程组,而且采用了形如[a,b]=solve(a+b=1,2a-b=4ab)的格式,那么,在MATLABR2014a中没问题,可以保证输出的a,b就等于相应的解,但是在R2012b等早先版本中不能保证输出的顺序就是你声明变量时的顺序。
所以最好采用g=solve(a+b=1,2a-b=4ab)这种单输出格式,这样输出的是一个结构体,g.a和g.b就是对应的解。
S=[4/3,-1/3]
一、微分方程的解析解格式:
dsolve(方‘程1'
方‘程2'
⋯方‘程n'
初‘始条件'
自‘变量'
)记号:
在表达微分方程时,用字母D表示求微分,D2y、D3y等表示求高阶微分.
任何D后所跟的字母为因变量,自变量可以指定或由系统规则选定为确省,默认自变量是t例如,微分方程d2y0应表达为:
D2y=0.
dx2
求解本问题的Matlab程序为:
symsxy%line1
y=dsolve('
Dy+2*x*y=x*exp(-x^2)'
x'
)%line2
diff(y,x)+2*x*y-x*exp(-x^2)%line3
simplify(diff(y,x)+2*x*y-x*exp(-x^2))%line4
例1:
求解微分方程dy2xyxex,并加以验证.
说明:
(1)行line1是用命令定义x,y为符号变量.这里可以不写,但为确保正确性,建议写上;
(2)行line2是用命令求出的微分方程的解:
1/2*exp(-x^2)*x^2+exp(-x^2)*C1
(3)行line3使用所求得的解.这里是将解代入原微分方程,结果应该为0,
但这里给出:
-x^3*exp(-x^2)-2*x*exp(-x^2)*C1+2*x*(1/2*exp(-x^2)*x^2+exp(-x^2)*
C1)
(4)行line4用simplify()(simple())函数对上式进行化简,结果为0,表明yy(x)的确是微分方程的解.
例2:
先求微分方程xy'
yex0的通解,再求在初始条件y
(1)2e下的特解,并画出特解函数的图形.
symsxy
x*Dy+y-exp(x)=0'
'
结果y=
(exp(x)+C1)/x
求特解两个方法
1.y=dsolve('
y
(1)=2*exp
(1)'
(exp(x)+exp
(1))/x
2.C1=solve('
2*exp
(1)=exp
(1)+C1'
C1'
结果C1=exp
(1)
y=(exp(x)+exp(-x^2)
结果(exp(x)+exp
(1))/x
ezplot(y)
例3:
求微分方程组dt
5xy
dy
dt
x3y
在初始条件x|t01,y|t00下的特解,
并画出解函数的图形.求解本问题的Matlab程序为:
symsxyt
a=dsolve('
Dx+5*x+y=exp(t)'
Dy-x-3*y=0'
x(0)=1'
y(0)=0'
t'
x=a.x
y=a.ysimple(x);
simple(y);
ezplot(x,y,[0,1.3]);
axisauto%坐标刻度选默认值例4先求微分方程的通解,再求微分方程的特解
d22y4dy29y0
dx2dx
y(0)0,y'
(0)15
dsolve('
D2y+4*Dy+29*y=0'
y(0)=0,Dy(0)=15'
)ans=(3*sin(5*x))/exp(2*x)
例5求微分方程组的通解
dz
2x
3y
3z
4x
5y
4y
2z
A=dsolve('
Dx=2*x-3*y+3*z,Dy=4*x-5*y+3*z,Dz=4*x-4*y+2*z'
x=A.x
y=A.y
z=A.z