Bài tp và tính toán
thc hành Chương 9
1. H
1. H
1. H
1. H1. H
ph
ph
ph
ph ph
ươ
ươ
ươ
ươươ
ng trình vi phân th
ng trình vi phân th
ng trình vi phân th
ng trình vi phân thng trình vi phân th
ư
ư
ư
ưư
ng
ng
ng
ngng
............
............
............
........................
...............
...............
...............
..............................
...............
...............
...............
..............................
...............
...............
...............
..............................
...............
...............
...............
..............................
.............
.............
.............
..........................
327
327
327
327327
1.1. Khái nim......................................................................................................................... 327
1.2. H phương trình vi phân tuyến tính ................................................................................. 328
1.3. H phương trình vi phân tuyế n tính không thu n nht..................................................... 328
1.4. H phương trình vi phân vi h s không đi.................................................................. 328
2. Ph
2. Ph
2. Ph
2. Ph2. Ph
ươ
ươ
ươ
ươươ
ng trình
ng trình
ng trình
ng trình ng trình
đ
đ
đ
đđ
o hàm riêng
o hàm riêng
o hàm riêng
o hàm riêngo hàm riêng
...
...
...
......
..............
..............
..............
............................
...............
...............
...............
..............................
...............
...............
...............
..............................
...............
...............
...............
..............................
...............
...............
...............
..............................
............
............
............
........................
328
328
328
328328
3. Th
3. Th
3. Th
3. Th3. Th
c hành tính toán t
c hành tính toán t
c hành tính toán t
c hành tính toán tc hành tính toán t
rên máy.......
rên máy.......
rên máy.......
rên máy.......rên máy.......
...............
...............
...............
..............................
...............
...............
...............
..............................
...............
...............
...............
..............................
..................
..................
..................
....................................
...............
...............
...............
..............................
...
...
...
......
329
329
329
329329
3.1. Gii h phương trình vi phân thông thưng.................................................................... 329
3.2. Tìm nghi m dưi các dng khác nhau và b ng các phương pháp tu chn..................... 330
3.3. Gii phương trình vi phân đo hàm riêng ........................................................................ 332
3.4. V đ th nghim phương trình vi phân ........................................................................... 334
1. H phương trình vi phân thưng
1.1. Khái nim
Bài 1. Hãy tìm các tích phân đc lp ca nhng h phương trình sau:
dx dz
x
y z
= =
; 2)
dy
dx dz
x
y x y
= =
+
;
3)
cos cos cos cos
dy
dx dz
x
x x y
= = ; 4)
( ) ( ) 0
dy
dx dz
z x z y y z
= =
+
+
.
Bài 2. Gii bài toán Cauchy cho các h phương trình sau:
1)
2 2
2
=
=
dx
x
y
dt
dy
xy
dt
v
i điu kin ban đu
1
0
x
y
=
=
khi 1t = .
2)
cos
sin
=
=
x
x
dx
e y
dt
dy
e y
dt
v
i điu kin ban đu
1
0
x
y
=
=
khi 0t = .
328
Gii tích các hàm nhiu biến
1.2. H phương trình vi phân tuyến tính
Gii các h phương trình vi phân tuyến tính thun nht sau:
1)
2
3 4
dx
x
y
dt
dy
x
y
dt
= +
= +
2)
2 3
2
dx
y x
dt
dy
y x
dt
=
=
3)
2
12 4 12
4 5
dx
x
y z
dt
dy
x
y z
dt
dz
x
y z
dt
=
=
= + +
4)
2
dx
x
y z
dt
dy
x
y z
dt
dz
x
y
dt
= +
= +
=
1.3. H phương trình vi phân tuyến tính không thun nht
Gii các h phương trình vi phân tuyến tính không thun nht sau:
1)
3
5 3 2
5
t
t
dx
x
y e
dt
dy
x
y e
dt
= +
= + +
2)
2 4 cos
2 sin
dy
y z x
dx
dz
y z x
dx
= + +
= +
1.4. H phương trình vi phân vi h s không đi
Gii các h phương trình vi phân tuyến tính thun nht sau bng phương pháp
biến đi ma trn:
1)
3
4
dx
x
y
dt
dy
x
y
dt
=
=
2)
5 3
3
dx
x
y
dt
dy
x
y
dt
= +
=
3)
4
3
dx
x
y
dt
dy
x
y z
dt
dz
x
z
dt
=
= +
= +
4)
3 2
3 4 3
2 4
dx
x
y z
dt
dy
x
y z
dt
dz
x
y
dt
=
=
=
2. Ph
ương trình đo hàm riêng
Bài 1. Gii các phương trình tuyến tính cp mt thun nht sau:
Bài tp và tính toán thc hành Chương 9
329
1) 0
z z
y x
x y
+ =
; 2)
2
( ) 0
z z
x y x
x y
+ + =
;
3) 0
2
u u u
z
x y
x y z
+ + =
; 4)
( , , ) ( . . )
0
u x y z u x y z
x yz
x y
+ =
;
5) 0
z z
x z
x y
= ; 6)
3 2 3 2
( 3 ) 2 2 0
u u u
x xy y y z
x y z
+ + + =
Bài 2. Gii các phương trình tuyến tính cp mt không thun nht sau:
1)
2
z z
x
y x yz
x y
= ; 2)
2
2
z z
x
y x y z
x y
+ = + ;
3) 3 sin( )
u u
x
y
x y
+ =
; 4)
2
( )
z z
z
y xz xy
x y
+ =
.
Bài 3. Gii các phương trình đo hàm riêng cp hai và cp cao sau:
1)
2
3 7
u u
x
y
x x y
+ = ; 2)
2 2
2 2
0
u u
x y
= ;
3)
5
2 3
0
u
x y
= ; 4)
5
2 3
sin( )
u
x
y
x y
= .
3. Th
c hành tính toán trên máy
3.1. Gii h phương trình vi phân thông thưng
Gii ph ng trình vi phân thươ ưng trên chương trình Maple bng lnh
dsolve, đã đưc trình bày trong giáo trình gii tích mt biến. Dưi đây chúng ta
nhc li và b xung thêm mt s bài t p mi. Các bư ươc gii ph ng trình h vi
phân tương t nh giư i phương trình vi phân b c nh t. Nghi m t ng quát c a h 2
phương trình vi phân bc nht ph thuc vào 2 tham s t do.
Thí d 1. Gii h phương trình vi phân
dy
z
dx
dz
y
dx
=
=
vi điu ki n ban đu:
(0) 0, (0) 2y z= = .
Bưc 1 Gán tên sys (viết tt ca ch system - h) cho h phương trình:
[> sys:={diff(y(x),x)=z(x),diff(z(x),x)=y(x),y(0)=0,z(0)=2};
{ }
: ( ) ( ), ( ) ( ), (0) 0, (0) 2sys y x z x z x y x y z
x x
= = = = =
Bưc 2 Gán tên cho nghim:
330
Gii tích các hàm nhiu biến
[> fcns:={y(x),z(x)};
: { ( ), ( )}
f
cns y x z x=
Bưc 3 Gii h phương trình vi phân:
[> dsolve(sys,fcns);
{ ( ) , ( ) }
x x x x
y x e e z x e e
= = +
Thí d 2. Gii h phương trình vi phân thưng cp 2 (không có điu kin ban đu)
sau:
''
''
y z
z
y
=
=
Chú ý rng nếu đưa phương trình này v h b c nht thì ta có h 4 phương trình.
Bưc 1
Gán tên sys cho h phương trình cn gii:
[> sys:=(D@@2)(y)(x)=z(x),(D@@2)(z)(x)= y(x);
2 2
: ( )( )( ) ( ), ( )( )( ) ( )
s
ys D y x z x D z x y x= = =
Bưc 2 Gii h phương trình vi phân b ng l nh
[> dsolve({sys},{y(x),z(x)});
( )
1 1 1 1 1 1
{ ( ) _ 1 _ 1 _ 1cos( ) _ 2 _ 2 _ 2sin( )
4 4 2 4 4 2
x x x x
y x C e C e C x C e C e C x
= + + + +
1 1 1 1 1 1
_ 3 _ 3 _ 3cos( ) _ 4sin( ) _ 4 _ 4
4 4 2 2 4 4
x x x x
C e C e C x C x C e C e
+ + + ,
1 1 1 1 1 1
( ) _ 1 _ 1 _ 1cos( ) _ 2sin( ) _ 2 _ 2
4 4 2 2 4 4
1 1 1 1 1 1
_
3 _ 3 _ 3cos( ) _ 4 _ 4 _ 4sin( )}
4 4 2 4 4 2
x x x x
x x x x
z x C e C e C x C x C e C e
C e C e C x C e C e C x
= + + +
+ + + + +
3.2. Tìm nghim dưi các dng khác nhau và bng các phương
pháp tu chn
Trong trưng hp tng quát, lnh gii phương trình vi phân có cú pháp là:
[> dsolve(deqns,vars,keyword);
Trong đó deqns là các phương trình vi phân,
vars là các biến nghim, phn
keyword cho phép ta xác đnh ph ng pháp giươ i và dng biu din nghim. Cách
biu din mc đnh là "chính xác " (exact). Nếu chn cách biu din nghim như
vy ta s không ph ph n keyword. Ni cho giá tr ếu cách biu din y không
thành (nh i là ý ta muư ta thy trong ví d trên đây), hoc không ph n, thì ta có th
yêu cu máy cho ta mt trong các cách biu din sau đây:
Bài tp và tính toán thc hành Chương 9
331
Vi
k
k
k
kk
eyword
eyword
eyword
eywordeyword đưc cho dưi dng
ty
ty
ty
tyty
pe=
pe=
pe=
pe=pe=series thì máy s cho ta
nghim dưi dng chui.
Vi
keyword
keyword
keyword
keywordkeyword đưc cho dưi dng
type=
type=
type=
type=type=numeric thì máy s s dng
các phương pháp s (có mt khi lưng ln các phương pháp này trong
MAPLE đ gii phương trình vi phân). Kế t qu máy cho ta nghi m dưi
dng mt hàm tưng trưng mà có th đánh giá đưc giá tr s c a nó t i b t
k đim nào.
Vi
keyword
keyword
keyword
keywordkeyword đưc cho dưi dng
ouput
ouput
ouput
ouputouput
=
=
=
==basic thì máy s cho ta tp
hàm cơ s mà t p nghi m đưc că ưng trên đó (nh m ết bao tuyến tính). N u
phương trình không phi là thun nht thì máy s cho ta thêm mt nghim
riêng, đ m i nghi m b t k đu có th biu din qua tp nghim cơ s và
nghim riêng này.
Thông thưng, nghi m có th đưc cho dưi d ng mt hàm n (tc là m t phương
trình hay h phương trình to bi các tích phân đu), hoc dưi dng các biến ph
thuc tham s. Nếu ta mun bt nó ph i di cho ta nghim dư ng hin (tc là mt
hàm s ca y theo x ) thì ta cho
keyword
keyword
keyword
keywordkeyword là
explicit=
explicit=
explicit=
explicit=explicit=true. (Vì kh năng
này thưng khó xy ra nên giá tr mc đnh là
explicit=
explicit=
explicit=
explicit=explicit=false ).
Mun có đưc nghi u dim bi n thông qua các hàm đc bit kiu
Di
Di
Di
DiDi
ra
ra
ra
rara
c(.),
c(.),
c(.),
c(.), c(.),
Heaviside
Heaviside
Heaviside
HeavisideHeaviside
(.)
(.)
(.)
(.)(.),... thì ta phi cho
ke
ke
ke
keke
yword
yword
yword
ywordyword
method
method
method
methodmethod
=
=
=
== là laplace
.
.
.
. .
Thí d 1. Gii h
dy
z
y x
dx
dz
y
dx
=
=
vi giá tr ban đu (0) 0, (0) 1y z= = .
1) Theo phương pháp mc đnh sn trong máy, ta dùng các lnh:
[> sys:=diff(y(x),x)=z(x)-y(x)-x,diff(z(x),x)=y(x):
fcns:={y(x),z(x)}:
[> dsolve({sys,y(0)=0,z(0)=1},fcns);
(
)
(
)
( ) ( ) ( ) ( )
1 1
( 5 1) ( 5 1)
2 2
1 1 1 1
( 5 1) ( 5 1) ( 5 1) ( 5 1)
2 2 2 2
1 1
( ) 5 5 1, ( )
5 5
1 1 1 1
5 5 1
10 10 2 2
x x
x
x x x
z x e e x y x
e e e e
+
+ +
= + + =
+ +
2) Mun tìm nghim dưi dng chui, ta dùng lnh
[> dsolve({sys,y(0)=0,z(0)=1},fcns,type=series);
2 3 4 5 6
2 3 4 5 6
1 5 1
{ ( ) ( ),
2 24 15
1 1 1 1
( ) 1 ( )}
2 3 8 24
y x x x x x x O x
z
x x x x x O x
= + + +
= + + +
332
Gii tích các hàm nhiu biến
3) Tìm nghim dưi dng mt l iưi đ m s ta dùng các lnh:
[> F:=dsolve({sys,y(0)=0,z(0)=1},fcns,type=numeric);
F := proc(rkf45_x) ... end
và, tiếp theo, đ biết giá tr ca nghim ti mt đ đim nào ó ta dùng lnh
[> F(1);
[ (x = 1, y x) = .343731408276753914, z(x) = 1.25897207653682308]
[> F(1.5);
[x = 1.5, y(x) = .237649509495644756, z x( ) = 1.40935827136441327]
[> F(1.7);
[x = 1.7, y(x) = .163416733680997378, z(x) = 1.44974926864546538].
Thí d
2. Tìm nghim phương trình vi phân cp hai
3
" 2y x y= (vi điu kin ban
đu (0) 1y = , '(0) 1y = ) dưi dng l iưi đ m s, bng chương trình mang tên
dverk78, và cho giá tr c a nghi m và đo hàm ca nó ti các đim x = 1, x =
1.5, x = 1.7 dưi dng bng s u li :
[> deq3:={(D@@2)(y)(x)=2*x^3*y(x),y(0)=1,D(y)(0)=1};
[> s:=dsolve(deq3,{y(x)},type=numeric,method=dverk78,
value=array([1.0,1.5,1.7]));
1 2 17013243525314170 1 93603788311791480
1 50000000000000000 4 26826796627041372 8 36391691654069902
1 69999999999999996 6 71039854665199442 17 2757972122874470
s
:
x,y(x), y(x)
x
. . .
. . .
. . .
=
Thí d 3. Gii phương trình vi phân tuyến tính cp 2 không thu n nh t
2 " ' 3
x
y y y x+ + =
và cho biế t h cơ s (basis) ca tp nghim cùng vi mt nghim riêng:
[> solve(2*x*diff(y(x),x$2)+diff(y(x),x)+3*y(x)=x,y(x),
output=basis);
1 4 1 4
cos( 6 ) sin( 6 )
1 1
, ,
9 3
6 6
x x x x
x
x x
+
.
3.3. Gii phương trình vi phân đo hàm riêng
Mun gii phương trình vi phân đo hàm riêng ta dùng lnh pdesolve vi
cú pháp:
Bài tp và tính toán thc hành Chương 9
333
[> pdesolve(pt,s);
trong đó pt là phương trình đo hàm riêng c n gi i, s là nghim (hàm nhiu
biến) cn tìm. Đi v i r t nhiu phương trình vi phân đo hàm riêng, lnh
pdesolve cho ta nghim dưi dng hin. Hàm tùy ý thưng đưc kí hiu là
_F1,_F2,v.v... Dưi đây là mt s ví d gii phương trình đo hàm riêng trên
Maple.
1. Phương trình đo hàm riêng cp mt
Thí d 1. Gii phương trình
0
z z
y x
x y
+ = .
[>pdesolve(y*diff(z(x,y),x)+x*diff(z(x,y),y)=0,z(x,y));
2 2
1
( , ) ( )
z
x y F x y= +
Thí d
2. Gii phương trình
2
( ) 0
z z
x y x
x y
+ + = .
[>pdesolve(x*diff(z(x,y),x)+(y+x^2)*diff(z(x,y),y)=0,z(x,y));
2
1
( , )
y x
z x y F
x
=
2. Phương trình tuyến tính cp mt không thun nht
Thí d
3. Gii phương trình
z
y z
x
= .
[>
pdesolve(y*diff(z(x,y),x)=z(x,y),z(x,y));
1
( , ) ( )
x
y
z
x y e F y=
Thí d
4. Gii phương
trình
z
z
x
= .
[>
pdesolve(diff(z(x,y),x)=z(x,y),z(x,y));
1
( , ) ( )
x
z
x y e F y=
Chú ý rng nh đây là mt phương trình đo hàm riêng (trong l
pdesolve
hàm
z
ph thuc vào hai biến ,
x
y
) ch không phi phương trình vi phân thưng
dz
z
dx
=
(
z
là hàm ca mt biến
x
). Vì vy nghim tng quát ph thuc vào mt hàm
1
( )
F
y , ch không phi là mt hng s như trong trưng hp phương trình vi phân
thưng.
Thí d 5. Gii phương trình 3 sin( )
u u
x
y
x y
+ = .
334
Gii tích các hàm nhiu biến
[>
pdesolve(diff(u(x,y),x)+3*diff(u(x,y),y)=sin(x*y),u(x,y));
Nghim đưc vi c biết thông qua các hàm đ t.
3. Phương trình đo hàm riêng cp hai
Thí d 6. Gii phương trình
2
3 7
u u
x
y
x x y
+ = .
[>
pdesolve(3*diff(g(x,y),x)+7*diff(g(x,y),x,y)=x*y,g(x,y));
3
2 2
7
1 2
1 7
( , ) ( ) ( )
y
g
x y x y x F y e F x
= + + .
Thí d 7. Gii phương trình
2 2
2 2
0
u u
x y
= .
[>
pdesolve(diff(u(x,y),x,x)-diff(u(x,y),y,y)=0,u(x,y));
1 2
( , ) ( ) ( )u x y F y x F y x= + +
4. Phương trình đo hàm riêng cp cao
Thí d 8. Gii phương trình
5
2 3
0
u
x y
= .
[>
pde:=D[1,1,2,2,2](U)(x,y)=0;
: [1,1,2, 2,2]( )( , ) 0pde D U x y= =
[>
pdesolve(pde,U(x,y));
2
1 2 3 4 5
( , ) ( ) ( ) ( ) ( ) ( )U x y F y F y x F x F x y F x y= + + + +
3.4. V đ th nghim phương trình vi phân
1. V ph đ th nghim ca h ương trình vi phân thưng
Đ v đ th nghi m ca h phương trình vi phân, ta c n gi gói công c :
[>
with(DEtools):
Và tiến hành v đ th nghim ca h phương trình vi phân bng lnh:
[>
DEplot(deqns,vars,trange,inits,eqns);
hoc lnh
[>
DEplot(deqns,vars,trange,inits,xrange,yrange,eqns);
Trong đó:
deqns - bng các phương trình vi phân bc nht hoc mt phương trình vi
phân cp cao.
vars - biến ph thu thuc hoc bng các biến ph c.
Bài tp và tính toán thc hành Chương 9
335
trange - min thay đi ca biến đc lp.
inits - điu kin ban đu xác đnh đưng cong nghim cn v.
yrange - min thay đi ca biến ph c th thu nht.
xrange - min thay đi ca biến ph c th thu hai.
eqns - các tu chn (màu, tiêu đ, đ đm nht ca đ th,...).
Thí d.
V
đ th c a nghim c a h phương trình vi phân
' (1 )
' 0,3 ( 1)
x
x y
y y x
=
=
vi
biến o ođc lp t thay đi trong đ n [-2,2], biến ph thuc x thay đi trong đ n [-
1,2], biến ph o thuc y thay đi trong đ n [-1,2], và thêm tiêu n) là: đ (tu ch
Lotka-Volterra model (Mô hình Lotka-Volterra).
[>
DEplot({diff(x(t),t)=x(t)*(1-y(t)),
diff(y(t),t)=.3*y(t)* (x(t)-1)},[x(t),y(t)],t=-
2..2,x=-1..2,y=-1..2, title=`Lotka-Volterra model`);
Hình 9.1
2. V đ th nghim ca phương trình vi phân thưng trong không gian ba chiu
Đ v đ th nghim ca phương trình vi phân trong không gian ba chiu ta
ph nhi dùng l
DEplot3d
thay cho
DEplot
trên:
[>
DEplot3d(deqns,vars,trange,inits,xrange,yrange,eqns);
Thí d.
V đ th nghim ca h phương trình vi phân
'
' sin
10
x y
y
y x
=
=
vi điu
kin ban đu là [x(0)=0, y(0)=1]; t thay đi trong đon [-10,10].
[>
DEplot3d({diff(x(t),t)=y(t),diff(y(t),t)=-sin(x(t))-
y(t)/10},{x(t),y(t)},t=-10..10,stepsize=.1,
[[x(0)=1,y(0)=1]],linecolor=t);
336
Gii tích các hàm nhiu biến
Hình 9.2
Ta có th v đ th hai ho c nhi u nghi m c a m t phương trình vi phân (vi các
điu kin ban đu khác nhau) trên cùng mt hình.
3. V đ th nghim phương trình vi phân đo hàm riêng
V đ th nghim ca phương trình đo hàm riêng bng lnh
PDEplot(.).
Thí d.
V đ th nghim phương trình
cos2 sin
u u
x
y
x y
+ = .
[>
PDEplot(D[1](u)(x,y)+cos(2*x)*D[2
](u)(x,y)=-sin(y),u(x,y),
[0,s,1+s^2],s=-2..2);
Thí d.
V đ th nghim phương trình
2 2 2
( , ) ( , )
( ( , ) ) 2 2 ( , ) 0
z x y z x y
y z x y x xy z x y x
x y
+ + + = .
[>
PDEplot((y^2+z(x,y)^2+x^2)*diff(z(x,y),x)-2*x*y*
diff(z(x,y),y)+2*z(x,y)*x=0,z(x,y),[t,t,
sin(Pi*t/0.1)/10],t=0..0.1);
Hình 9.4
Hình 9.3

Preview text:

Bài tập và tính toán thực hành Chương 9 1. 1 .H ệ p h p ươ ư ng n g t r t ì r n ì h n h v i v ip h p â h n â n t h t ườ ư ng
n ....................................................................................................................................................................32 3 7 2
1.1. Khái niệm......................................................................................................................... 327
1.2. Hệ phương trình vi phân tuyến tính ................................................................................. 328
1.3. Hệ phương trình vi phân tuyến tính không thuần nhất..................................................... 328
1.4. Hệ phương trình vi phân với hệ số không đổi.................................................................. 328 2. 2 .P h P ươ ư ng n g t r t ì r n ì h n h đạ đ o o h à h m à m r i r ê i n ê g n
g ........................................................................................................................................................................... .32 3 8 2 3. 3 .T h T ực c h à h n à h n h t ítn í h n h t o t á o n á n t rê r n ê n m á m y á .
y ........................................................................................................................................................................ .32 3 9 2
3.1. Giải hệ phương trình vi phân thông thường .................................................................... 329
3.2. Tìm nghiệm dưới các dạng khác nhau và bằng các phương pháp tuỳ chọn..................... 330
3.3. Giải phương trình vi phân đạo hàm riêng ........................................................................ 332
3.4. Vẽ đồ thị nghiệm phương trình vi phân ........................................................................... 334
1. H phương trình vi phân thường
1.1. Khái nim
Bài 1. Hãy tìm các tích phân độc lập của những hệ phương trình sau: dx dy dz dx dy dz 1) = = ; 2) = = ; x y z x y x + y dx dy dz dx dy dz 3) = = ; 4) = = . cos x cos x cos x cos y z(x + z)
y( y + z) 0
Bài 2. Giải bài toán Cauchy cho các hệ phương trình sau:  dx 2 2  = x −  y dt x   = −1 1)   
với điều kiện ban đầu khi t =1.   dyy = 0  = 2 xy    dt  dx −  = x e cos  y dt  x =1 2)  
với điều kiện ban đầu   khi t = 0 . dy −  y =0 = − x e sin  y    dt 328
Giải tích các hàm nhiều biến
1.2. H phương trình vi phân tuyến tính
Giải các hệ phương trình vi phân tuyến tính thuần nhất sau:   dx d  x  = 2x + y  = 2y −3xdtdt 1)  2)    dy   dy  = 3x + 4 y  = y −2x   dt  dt   dx d  x  =
2x y z
= x y + zdt  dt     dy dy 3)  
= 12x − 4 y −12z 4) 
= x + y z dtdt    dz    = − dz
4x + y + 5z   = 2x ydt    dt 
1.3. H phương trình vi phân tuyến tính không thun nht
Giải các hệ phương trình vi phân tuyến tính không thuần nhất sau:   dx 3 dy
= 5x −3 y + 2 t e  
= 2y + 4z + cos xdt  1) dx  2)   dy   = dz x + y + 5 t e−  
= −y −2z +sin x   dt   dx
1.4. H phương trình vi phân vi h s không đổi
Giải các hệ phương trình vi phân tuyến tính thuần nhất sau bằng phương pháp biến đổi ma trận:  dx   =  dx 3x y   = 5x + 3y dtdt 1)   2)   dy  dy = 4x y   = −3x y  dt   dt   dx   dx  = 4x y  
= 3x − 2y zdt   dt    dydy 3)  
= 3x + y z 4)  
= 3x −4 y−3 z dt  dt    dz   =  dz x + z   = 2x− 4 ydt     dt  
2. Phương trình đạo hàm riêng
Bài 1. Giải các phương trình tuyến tính cấp một thuần nhất sau:
Bài tập và tính toán thực hành Chương 9 329 zzzz 1) y + x = 0 ; 2) 2 x +( y + x ) = 0 ; ∂ xyxy uuu ∂ ∂ u( , x , y ) zu( . x . y ) z 3) z x + y + = 0 ; 4) x + yz = 0 ; ∂ xy 2 ∂ zxyzzuuu 5) xz = 0 ; 6) 3 2 3 2 (x + 3xy ) + 2y + 2y z = 0 ∂ xyxyz
Bài 2. Giải các phương trình tuyến tính cấp một không thuần nhất sau: ∂ zzzz 1) 2 x yx = yz ; 2) 2 x + 2y = x y + z ; ∂ xyxyuuzz 3) + 3 = sin(xy) ; 4) 2 (z y ) +xz = xy . ∂ xyxy
Bài 3. Giải các phương trình đạo hàm riêng cấp hai và cấp cao sau: 2 ∂uu 2 2 ∂ uu 1)3 + 7 = xy ; 2) − = 0 ; ∂xxy 2 2 ∂ xy 5 ∂ u 5 ∂ u 3) = 0 ; 4) = sin(x y) . 2 3 ∂ x y 2 3 ∂ x y
3. Thc hành tính toán trên máy
3.1. Gii h phương trình vi phân thông thường Giải phư n
ơ g trình vi phân thường trên chương trình Maple bằng lệnh
dsolve, đã được trình bày trong giáo trình giải tích một biến. Dưới đây chúng ta
nhắc lại và bổ xung thêm một số bài tập mới. Các bước giải phương trình hệ vi
phân tương tự như giải phương trình vi phân ậ b c n ấ h t. Nghiệm ổ t ng quát ủ c a ệ h 2
phương trình vi phân bậc nhất phụ thuộc vào 2 tham số tự do.
Thí d 1. Giải hệ phương trình vi phân  dy  = z  dx   dz  = y  dx
với điều kiện ban đầu:
y(0) = 0, z(0) = 2 .
Bước 1 Gán tên sys (viết tắt của chữ system - hệ) cho hệ phương trình:
[> sys:={diff(y(x),x)=z(x),diff(z(x),x)=y(x),y(0)=0,z(0)=2}; ∂ ∂
sys := { y(x)= z(x),
z( x) = y(x), y(0) = 0, z(0)= xx ∂ }2
Bước 2 Gán tên cho nghiệm: 330
Giải tích các hàm nhiều biến
[> fcns:={y(x),z(x)}; fcns :={ ( y )
x , z( x)}
Bước 3 Giải hệ phương trình vi phân:
[> dsolve(sys,fcns); { ( ) x x − = − , ( ) xx y x e e z x = e + e }
Thí d 2. Giải hệ phương trình vi phân thường cấp 2 (không có điều kiện ban đầu) sau:  y ' = z   z  ' = y  
Chú ý rằng nếu đưa phương trình này về hệ bậc nhất thì ta có hệ 4 phương trình.
Bước 1 Gán tên sys cho hệ phương trình cần giải:
[> sys:=(D@@2)(y)(x)=z(x),(D@@2)(z)(x)= y(x); 2 2
sys := (D )(y )(x )= z (x ), (D )(z )(x )= y (x )
Bước 2 Giải hệ phương trình vi phân bằng lệnh
[> dsolve({sys},{y(x),z(x)}); 1 (−x ) 1 x 1 1 −x 1 x 1 { ( y ) x = _ 1 C e + _ 1 C e + _ 1 C cos( )
x − _ C2 e + _ C2 e + _ C2sin( ) x 4 4 2 4 4 2 1 −x 1 x 1 1 1 x 1 + _ 3 + _ 3
− _ 3cos( ) − _ 4sin( ) + _ 4 − _ 4 −x C e C e C x C x C e C e , 4 4 2 2 4 4 1 −x 1 x 1 1 1 x 1 ( z ) x = _ 1 C e + _ 1 C e − _ 1 C cos( x) − _ C2sin( )
x + _ C2e − _ C2 −x e + 4 4 2 2 4 4 1 −x 1 x 1 1 −x 1 x 1 + _ C 3e + _C 3e
+ _C 3cos(x) − _C 4e
+ _ C 4e + _ C 4sin(x)} 4 4 2 4 4 2
3.2. Tìm nghim dưới các dng khác nhau và bng các phương
pháp tu
chn
Trong trường hợp tổng quát, lệnh gii phương trình vi phân có cú pháp là:
[> dsolve(deqns,vars,keyword);
Trong đó deqns là các phương trình vi phân, vars là các biến nghiệm, phần
keyword cho phép ta xác định phư n
ơ g pháp giải và dạng biểu diễn nghiệm. Cách
biểu diễn mặc định là "chính xác " (exact). Nếu chọn cách biểu diễn nghiệm như
vậy ta sẽ không phải cho giá trị ở phần keyword. Nếu cách biểu diễn ấy không
thành (như ta thấy trong ví dụ trên đây), hoặc không phải là ý ta muốn, thì ta có thể
yêu cầu máy cho ta một trong các cách biểu diễn sau đây:
Bài tập và tính toán thực hành Chương 9 331 ♦ Với key e w y o w r o d
r được cho dưới dạng ty t pe p =
e series thì máy sẽ cho ta
nghiệm dưới dạng chuỗi. ♦ Với ke k y e w y o w r o d
r được cho dưới dạng ty t p y e p =
e numeric thì máy sẽ sử dụng
các phương pháp số (có một khối lượng lớn các phương pháp này trong
MAPLE để giải phương trình vi phân). Kết quả máy cho ta ngh ệ i m dưới
dạng một hàm tượng trưng mà có thể đánh giá được giá trị số của nó ạ t i bất kỳ điểm nào. ♦ Với ke k y e w y o w r o d
r được cho dưới dạng ou o p u u p t
u =basic thì máy sẽ cho ta tập
hàm cơ sở mà tập nghiệm được căng trên đó (như một bao tuyến tính). Nếu
phương trình không phải là thuần nhất thì máy sẽ cho ta thêm một nghiệm
riêng, để mọi nghiệm ấ
b t kỳ đều có thể biểu diễn qua tập nghiệm cơ sở và nghiệm riêng này.
Thông thường, nghiệm có t ể
h được cho dưới dạng một hàm ẩn (tức là ộ m t phương
trình hay hệ phương trình tạo bởi các tích phân đầu), hoặc dưới dạng các biến phụ
thuộc tham số. Nếu ta muốn bắt nó phải cho ta nghiệm dư i
ớ dạng hiển (tức là một
hàm số của y theo x ) thì ta cho ke k y e w y o w r o d r là ex e p x l p ilc i i c ti=
t true. (Vì khả năng
này thường khó xảy ra nên giá trị mặc định là ex e p x l p ilc i i c ti= t false ).
Muốn có được nghiệm biểu diễn thông qua các hàm đặc biệt kiểu Di D ira r c( c . ( ) . , ) , He H a e v a i v s i i s d i e d (. ( ) . ,... thì ta phải cho ke k yw y o w r o d r là m e m t e h t o h d o =laplace. .   dy
= z yxThí d 1.dx Giải hệ 
với giá trị ban đầu y(0) = 0, z(0) =1.  dz  = y    dx
1) Theo phương pháp mặc định sẵn trong máy, ta dùng các lệnh:
[> sys:=diff(y(x),x)=z(x)-y(x)-x,diff(z(x),x)=y(x): fcns:={y(x),z(x)}:
[> dsolve({sys,y(0)=0,z(0)=1},fcns);    1 ( 1 − + )x 1 (1 ( 5 1) ( 5 1 − ) x 2 2 )  ( z ) x = 5 e − 5 e + x +1, ( y ) x =  5 5     1 ( 1 − + )x 1 (1 − x) 1 ( 1 − x) 1 ( 1 ( 5 1) ( 5 1) ( 5 1) − ( 5 1 + )x  2 2 2 2 ) 5e 5e 1 e e  − + + − −  10 10 2 2    
2) Muốn tìm nghiệm dưới dng chui, ta dùng lệnh
[> dsolve({sys,y(0)=0,z(0)=1},fcns,type=series); 2 1 3 5 4 1 5 6
{ y( x)= xx + x x + x + ( O x ), 2 24 15 1 2 1 3 1 4 1 5 6 (
z x ) =1+ x x + x
x +O (x )} 2 3 8 24 332
Giải tích các hàm nhiều biến
3) Tìm nghiệm dưới dạng mt lưới đim số ta dùng các lệnh:
[> F:=dsolve({sys,y(0)=0,z(0)=1},fcns,type=numeric);
F := proc(rkf45_x) ... end
và, tiếp theo, để biết giá trị của nghiệm tại một điểm nào đ ó ta dùng lệnh [> F(1);
[x = 1, y(x) = .343731408276753914, z(x) = 1.25897207653682308] [> F(1.5);
[x = 1.5, y(x) = .237649509495644756, z(x) = 1.40935827136441327] [> F(1.7);
[x = 1.7, y(x) = .163416733680997378, z(x) = 1.44974926864546538].
Thí d 2. Tìm nghiệm phương trình vi phân cấp hai 3
y" = 2x y (với điều kiện ban
đầu y(0) =1, y '(0) =1 ) dưới dạng lưới đim số, bằng chương trình mang tên
dverk78, và cho giá trị của nghiệm và đạo hàm của nó tại các điểm x = 1, x =
1.5, x = 1.7 dưới dạng bng s liu:
[> deq3:={(D@@2)(y)(x)=2*x^3*y(x),y(0)=1,D(y)(0)=1};
[> s:=dsolve(deq3,{y(x)},type=numeric,method=dverk78,
value=array([1.0,1.5,1.7])); s :=  ∂    x, y(x), y(x)  x ∂     1.
2.17013243525314170 1.93603788311791480    
 1.50000000000000000 4.26826796627041372 8.36391691654069902     1
  .69999999999999996 6.71039854665199442 17 2
. 757972122874470    
Thí d 3. Giải phương trình vi phân tuyến tính cấp 2 không thuần nhất
2xy "+ y '+ 3y = x
và cho biết hệ cơ sở (basis) của tập nghiệm cùng với một nghiệm riêng:
[> solve(2*x*diff(y(x),x$2)+diff(y(x),x)+3*y(x)=x,y(x), output=basis);  1 4 1 4    x cos( 6 x ) x sin( 6 x )   1 1 , ,  − + x   . 9 3   6 x 6 x     
3.3. Gii phương trình vi phân đạo hàm riêng
Muốn giải phương trình vi phân đạo hàm riêng ta dùng lệnh pdesolve với cú pháp:
Bài tập và tính toán thực hành Chương 9 333 [> pdesolve(pt,s);
trong đó pt là phương trình đạo hàm riêng cần giải, s là nghiệm (hàm nhiều
biến) cần tìm. Đối với rất nhiều phương trình vi phân đạo hàm riêng, lệnh
pdesolve cho ta nghiệm dưới dạng hiển. Hàm tùy ý thường được kí hiệu là
_F1,_F2,v.v... Dưới đây là một số ví dụ giải phương trình đạo hàm riêng trên Maple.
1. Phương trình đạo hàm riêng cp mt
Thí d 1. Giải phương trình ∂zz y + x = 0 . ∂ xy
[>pdesolve(y*diff(z(x,y),x)+x*diff(z(x,y),y)=0,z(x,y)); 2 2 ( z , x )
y = F x + y 1( ) ∂zz
Thí d 2. Giải phương trình 2 x + (y + x ) = 0. ∂xy
[>pdesolve(x*diff(z(x,y),x)+(y+x^2)*diff(z(x,y),y)=0,z(x,y)); 2  y x   − ( z , x y) = F    1 x     
2. Phương trình tuyến tính cp mt không thun nht z
Thí d 3. Giải phương trình y = z . ∂ x
[>pdesolve(y*diff(z(x,y),x)=z(x,y),z(x,y)); x ( , ) y z x y = e 1 F ( ) y z
Thí d 4. Giải phương trình = z. ∂ x
[>pdesolve(diff(z(x,y),x)=z(x,y),z(x,y)); ( , ) x
z x y = e F (y ) 1
Chú ý rằng đây là một phương trình đạo hàm riêng (trong lệnh pdesolve hàm z dz
phụ thuộc vào hai biến x, y ) chứ không phải phương trình vi phân thường = z dx
( z là hàm của một biến x ). Vì vậy nghiệm tổng quát phụ thuộc vào một hàm F (y ) 1
, chứ không phải là một hằng số như trong trường hợp phương trình vi phân thường. ∂ uu
Thí d 5. Giải phương trình + 3 = sin(x ) y . ∂ xy 334
Giải tích các hàm nhiều biến
[>pdesolve(diff(u(x,y),x)+3*diff(u(x,y),y)=sin(x*y),u(x,y));
Nghiệm được viết thông qua các hàm đ c ặ biệt.
3. Phương trình đạo hàm riêng cp hai 2 ∂ uu
Thí d 6. Giải phương trình 3 + 7 = x y. ∂ xxy
[>pdesolve(3*diff(g(x,y),x)+7*diff(g(x,y),x,y)=x*y,g(x,y)); 3 1 − 2 7 2 y 7 (
g x, y) = x y x + 1
F ( y) + e 2 F (x) . 6 18 2 2 ∂ uu
Thí d 7. Giải phương trình − = 0 . 2 2 ∂ xy
[>pdesolve(diff(u(x,y),x,x)-diff(u(x,y),y,y)=0,u(x,y));
u(x, y) = F ( y + x) + F ( y x) 1 2
4. Phương trình đạo hàm riêng cp cao 5 ∂ u
Thí d 8. Giải phương trình = 0. 2 3 ∂ x y
[>pde:=D[1,1,2,2,2](U)(x,y)=0; pde := [
D 1,1, 2, 2, 2](U )( , x y) = 0
[>pdesolve(pde,U(x,y)); 2 U ( ,
x y) = F ( y) + F ( y)x + F (x) + F (x) y + F (x) y 1 2 3 4 5
3.4. V đồ th nghim phương trình vi phân
1. V đồ th nghim ca h phương trình vi phân thường
Để vẽ đồ thị nghiệm của ệ
h phương trình vi phân, ta ầ
c n gọi gói công cụ : [> with(DEtools):
Và tiến hành vẽ đồ thị nghiệm của hệ phương trình vi phân bằng lệnh:
[>DEplot(deqns,vars,trange,inits,eqns); hoặc lệnh
[>DEplot(deqns,vars,trange,inits,xrange,yrange,eqns); Trong đó: deqns
- bảng các phương trình vi phân bậc nhất hoặc một phương trình vi phân cấp cao. vars
- biến phụ thuộc hoặc bảng các biến phụ thuộc.
Bài tập và tính toán thực hành Chương 9 335 trange
- miền thay đổi của biến độc lập. inits
- điều kiện ban đầu xác định đường cong nghiệm cần vẽ. yrange
- miền thay đổi của biến phụ thuộc thứ nhất. xrange
- miền thay đổi của biến phụ thuộc thứ hai. eqns
- các tuỳ chọn (màu, tiêu đề, độ đậm nhạt của đồ thị,...). 
x '= x(1− y)
Thí d. Vẽ đồ thị của nghiệm ủ
c a hệ phương trình vi phân   với  y' = 0,3 ( y x 1 − )  
biến độc lập t thay đổi trong đoạn [-2,2], biến phụ thuộc x thay đổi trong đoạn [-
1,2], biến phụ thuộc y thay đổi trong đoạn [-1,2], và thêm tiêu đề (tuỳ chọn) là:
‘Lotka-Volterra model’ (Mô hình Lotka-Volterra).
[> DEplot({diff(x(t),t)=x(t)*(1-y(t)),
diff(y(t),t)=.3*y(t)* (x(t)-1)},[x(t),y(t)],t=-
2..2,x=-1..2,y=-1..2, title=`Lotka-Volterra model`);
Hình 9.1
2. V đồ th nghim ca phương trình vi phân thường trong không gian ba chiu
Để vẽ đồ thị nghiệm của phương trình vi phân trong không gian ba chiều ta
phải dùng lệnh DEplot3d thay cho DEplot ở trên:
[> DEplot3d(deqns,vars,trange,inits,xrange,yrange,eqns); x   ' = yThí d.
Vẽ đồ thị nghiệm của hệ phương trình vi phân  y với điều y  '  = −sin x −   10
kiện ban đầu là [x(0)=0, y(0)=1]; t thay đổi trong đoạn [-10,10].
[> DEplot3d({diff(x(t),t)=y(t),diff(y(t),t)=-sin(x(t))-
y(t)/10},{x(t),y(t)},t=-10..10,stepsize=.1,
[[x(0)=1,y(0)=1]],linecolor=t);
336
Giải tích các hàm nhiều biến Hình 9.2
Ta có thể vẽ đồ thị hai hoặc nh ề i u nghiệm của ộ
m t phương trình vi phân (với các
điều kiện ban đầu khác nhau) trên cùng một hình.
3. V đồ th nghim phương trình vi phân đạo hàm riêng
Vẽ đồ thị nghiệm của phương trình đạo hàm riêng bằng lệnh PDEplot(.).
Thí d. Vẽ đồ thị nghiệm phương trình ∂uu + cos 2x = sin y . ∂ xy
[>PDEplot(D[1](u)(x,y)+cos(2*x)*D[2 ](u)(x,y)=-sin(y),u(x,y), [0,s,1+s^2],s=-2..2); Hình 9.3
Thí d. Vẽ đồ thị nghiệm phương trình 2 2
2 ∂ z (x , y )
z (x ,y )
(y + z (x, y)+ x ) − 2xy
+ 2z(x, y)x = 0. ∂ xy
[>PDEplot((y^2+z(x,y)^2+x^2)*diff(z(x,y),x)-2*x*y*
diff(z(x,y),y)+2*z(x,y)*x=0,z(x,y),[t,t,
sin(Pi*t/0.1)/10],t=0..0.1);
Hình 9.4