微分方程的基础知识及解析解

巡山小妖精
980次浏览
2020年08月05日 02:41
最佳经验
本文由作者推荐

态度决定命运-开国元帅排名



微分方程的基础知识及解析解



微分方程的基础知识与练习
(一)微分方程基本概念:
首先通过一个具体的问题来给出微分方程的基本概念。
(1)一条曲线通过点(1,2),且 在该曲线上任一点M(x,y)处的切线
的斜率为2x,求这条曲线的方程。
解 设曲线方程为
yy(x)
.由导数的几何意义可知函数
yy(x)
满足
dy
2x
(1)
dx
同时还满足以下条件:
x1
时,
y2
(2)
把(1)式两端积分,得
y

2xdx

yx
2
C
(3)
其中C是任意常数。
把条件(2)代入(3)式,得
C1

由此解出C并代入(3)式,得到所求曲线方程:
yx
2
1
(4)
(2)列车在水平直线路上以20
ms
的速度行驶;当制动时列车获得加速度
0.4ms
2
.问开始制动后多少时间列车才能停住,以及列车在这段时间里行驶了
多少路程?
解 设列车开始制动后
t
秒时行驶了
s
米。 根据题意,反映制动阶段列车运
动规律的函数
ss(t)
满足:
d
2
s
0.4
(5)
dt
2
此外,还满足条件:
t0
时,
s0,v

ds
20
(6)
dt
(5)式两端积分一次得:
ds
v0.4tC
1
(7)
dt
再积分一次得



s0.2t
2
C
1
tC
2
(8)
其中
C
1
,C
2
都是任意常数。
把条 件“
t0

v20
”和“
t0

s0”分别代入(7)式和(8)式,

C
1
20, C
2
0


C
1
,C
2
的值代入(7)及(8)式得
v0.4t20,
(9)
s0.2t
2
20t
(10)
在(9)式中令
v0
,得到列车从开始制动到完全停止所需的时间:
t
20
50(s)

0.4
再把
t5
代入(10)式,得到列车在制动阶段行驶的路程
s0.250
2
2050500(m).

上述两个例子中的关系式(1)和(5),(6)都含有未知函数的导数,它们
都是微分方程。
1.微分方程的概念
一般地,凡含有未知函数、未知函数的导数及自变量的方程,叫做微分方
程。未知函数是一元函数的方程叫做常微分方程;未知函数是多元函数的方程,
叫做偏微分方程 。我们只研究常微分方程。微分方程中所出现的未知函数的最
高阶导数的阶数,叫做微分方程的阶。
例如,方程(1)是一阶微分方程;方程(5)是二阶微分方程方程。又如,方

y

4

4y'''10y''12y'5ysin2x
是 四阶微分方程。
一般地,
n
阶微分方程的形式是
F(x,y,y',...,y
(n)
)0,
(11)
其中F是个
n2
变量的函数。这里必须指出,在方程(11)中,
y
(n)
是必须出
现的,而
x,y,y',...,y
(n1 )
等变量则可以不出现。例如
n
阶微分方程



y
(n)
10

中,除
y
(n)
外,其他变量都没有出现。
由前面的例子我们看到 ,在研究某些实际问题时,首先要建立微分方程,
然后找出满足微分方程的函数,就是说,找出这样的函 数 ,把这函数代入微分
方程能使该方程成为恒等式。这个函数就叫做该微分方程的解。
例如 ,函数(3)和(4)都是微分方程(1)的解;函数(8)和(10)都是
微分方程(5)的解。 < br>如果微分方程的解中含有任意常数,且任意常数的个数与微分方程的阶数
相同,这样的解叫做微分 方程的通解。例如,函数(3)是方程(1)的解,它
含有一个任意常数,而方程(1)是一阶的,所以 函数(3)是方程(1)的通解。
又如,函数(8)是方程的解,它含有两个任意常数,而方程(5)是 二阶的,
所以函数(8)是方程(5)的通解。
由于通解中含有任意常数,所以它还不能完全 确定地反映某一客观事物的规
律性,必须确定这些常数的值。为此,要根据问题的实际情况提出确定这些 常
数的条件。例如,例1中的条件(2),例2中的条件(6),便是这样的条件。
设微分方 程中的未知函数为
yy(x)
,如果微分方程是一阶的,通常用来确
定任意常数的条 件是
xx
0
时,
yy
0

或写成
y|
xx
0
y
0

其中
x
0

y
0
都是给定的值;如果微分方程是二阶的,通常用来确定任意常数的条件是:
xx
0
时,
yy
0

y'y1

或写成
y|
xx
0
y
0

y'|
xx
0
y1
其中
x
0

y
0

y1
都是给定的值 。上述条件叫做初始条件。
确定了通解中的任意常数以后,就得到了微分方程的特解。例如(4)式 是
方程(1)满足条件(2)的特解;(10)式是方程(5)满足条件(6)的特解。



求微分方程
y'f(x,y)
满足初始条件
y |
xx
0
y
0
的特解这样一个问
题,叫做一阶微分方程 的初值问题,记作

y'f(x,y),
(13)

y|y.
0

xx
0
二阶微分方程的初值问题是


y''f(x,y,y'),


y|y,y'|y1
0xx
0


xx
0
3、 例题
例1 验证:函数
xC
1
cosktC
2
sinkt
(14)
是微分方程
d
2
x
2
kx0
(15)
2
dt
的解。
解 求出所给函数(14)的导数
dx
kC
1
sinktkC
2
coskt,

dt
d
2
x
222
kCcosktkCsinkt k(C
1
cosktC
2
sinkt)

12
2
dt
d
2
x

2

x
的表达式 代入方程(15)得
dt
k
2
(C
1
cosktC< br>2
sinkt)
+
k
2
(C
1
coskt C
2
sinkt)
0

函数(14)及其导数代入方程(15)后 成为一个恒等式,因此函数(14)是微
分方程(15)的解。
用程序来实现:
>> syms k t C1 C2;
>> x=C1*cos(k*t)+C2*sin(k*t);
>> diff(x,t,2)+k^2*x
ans =



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’)
solve(‘eq’, ‘var’)
solve(‘eq1’,’eq2’, …,’ eqn’)
g = solve(‘eq1’, ‘eq2’, …,’ eqn’, ‘var1’, ‘var2’, …, ‘varn’)
eq代表字符串形式的方程,var代表的是变量。
例1:解方程
ax
2
bxc0

程序是:syms a b c x;
solve('a*x^2+b*x+c') ( 也可写成
solve('a*x^2+b*x+c=0') )

当没有指定变量的时候,matlab默认求解的是关于x的解,求解的结果为:
ans =
-(b + (b^2 - 4*a*c)^(12))(2*a)
-(b - (b^2 - 4*a*c)^(12))(2*a)d
当指定变量为b的时候:



solve('a*x^2+b*x+c','b')
求解的结果为:

ans =
-(a*x^2 + c)xs = -(a*x^2 + c)x

xy1
例2:对于方程组

的情况

x11y5
S=solve('x+y=1','x-11*y=5');
S.x
S.y
>> S=[S.x,S.y](这里或者写成x=S.x y=S.y)

如果解得是一个方程组,而且
采用了形如[a,b]=solve(a+b=1, 2a-b=4ab) 的格式,那么,在MATLAB R2014a
中没问题,可以保证输出的a,b 就等于相应的解,但是在R2012b等早先版本
中不能保证输出的顺序就是你声明变量时的顺序。所以 最好采用
g=solve(a+b=1, 2a-b=4ab)这种单输出格式,这样输出的是一个结构 体,g.a和
g.b就是对应的解。

S =[ 43, -13]
一、 微分方程的解析解
格式:dsolve(‘方程1’, ‘方程2’,…‘方程n’, ‘初始条件’, ‘自变量’)
记号: 在表达微分方程时,用字母D表示求微分,D2y、D3y 等表示求高阶
微分.
任何D后所跟的字母为因变量,
自变量可以指定或由系统规则选定为确省,默认自变量是t
例如,微分方程
d
2
y
dx
2
0
应表达为:D2y=0.
2
dy
2xyxe
x
,并加以验证.
dx
求解本问题的Matlab 程序为:
syms x y %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:求解微分方程



说明:
(1) 行line1是用命令定义x,y为符号变量.这里可以不写,但为确保正确性,
建议写上;
(2) 行line2是用命令求出的微分方程的解:
12*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*(12*exp(-x^2)*x ^2+exp(-x^2)*
C1)
(4) 行line4 用 simplify() (simple())函数对上式进行化简,结果为 0, 表

yy(x)
的确是微分方程的解.
例2:先求微分方程
xy 'ye
x
0
的通解,再求在初始条件
y(1)2e
下的特< br>解,并画出特解函数的图形.
求解本问题的 Matlab 程序为:
syms x y
y=dsolve('x*Dy+y-exp(x)=0', 'x')
结果y =
(exp(x)+C1)x
求特解两个方法
1.y=dsolve('x*Dy+y-exp(x)=0','y(1)=2*exp(1)', 'x')
结果y =

(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)


dx
5xye
t


dt例3:求微分方程组

在初始条件
x|
t0
1,y|
t0
0
下的特解,

dy
x3y0


dt
并画出解函数的图形.
求解本问题的 Matlab 程序为:
syms x y t
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.y
simple(x);



simple(y);
ezplot(x,y,[0,1.3]);axis auto %坐标刻度选默认值

例4 先求微分方程的通解,再求微分方程的特解.

d
2
y



4
dy
2
29y0

dx
y(0)0
dx
< br>
,y'(0)15
程序是:dsolve('D2y+4*Dy+29*y=0', 'y(0)=0,Dy(0)=15','x')
ans =

(3*sin(5*x))exp(2*x)
例5 求微分方程组的通解.


dx

dt
2x3y3z



dy
4x5y3z

dt


dz


dt
4x4y2z
程序是: < br>A=dsolve('Dx=2*x-3*y+3*z,Dy=4*x-5*y+3*z,Dz=4*x- 4*y+2*z','t');
>> x=A.x

y=A.y
z=A.z

全国教师管理系统-小学安全教育


告白短信-低碳生活的建议


关于秋天的句子-陕西中考网


实践出真知-湖南招考网


开国大典梗概-英语手抄报的内容


澳洲工作签证-读后感100字


天津电子信息职业技术学院-初中生物教学案例


电脑配置怎么看高低-99重阳节