Tải bản đầy đủ (.docx) (76 trang)

Các phương pháp giải bài toán Cauchy đối với phương trình vi phân thường

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (539.02 KB, 76 trang )

Khoá luận tốt nghiệp: Các phƣơng pháp giải bài toán Cauchy đối với ptvp
thƣờng

1

LỜI CẢM ƠN.

Để hoàn thành khoá luận tốt nghiệp em đã nhận được sự dìu dắt, chỉ bảo
và tạo điều kiện giúp đỡ của các thầy cô trong khoa Toán nói chung và trong
tổ Giải tích nói riêng, đặc biệt là sự hướng dẫn, chỉ bảo và giúp đỡ hết sức tận
tình của thầy giáo TS.Khuất Văn Ninh.
Qua đây, em xin bày tỏ lời cảm ơn chân thành tới thầy giáo TS.Khuất
Văn Ninh. Em xin gửi lời cảm ơn sâu sắc tới các thầy cô giáo trong tổ Giải
tích, các thầy cô giáo trong khoa Toán, cảm ơn gia đình, bạn bè và các bạn
sinh viên quan tâm và đóng góp ý kiến cho đề tài của em.

Phạm Thị Hoa K31E-SPToán


LỜI CAM ĐOAN.

Kết quả của đề tài này là do sự nỗ lực cố gắng tìm tòi của bản thân. Em
xin cam đoan kết quả nghiên cứu của em không trùng với kết quả của các tác
giả khác.

Hà Nội ngày 18/5/2009.
Sinh viên:
Phạm Thị Hoa.


MỤC LỤC


LỜI CẢM ƠN

1

LỜI CAM ĐOAN

2

LỜI NÓI ĐẦU

5

NỘI DUNG KHOÁ LUẬN

7

Chƣơng 1: Kiến thức cơ sở.

7

I. Các khái niệm

7

1. Số gần đúng

7

2. Sai số


7

3. Sai phân

8

II. Khái quát về phương trình vi phân

8

1. Một số khái niệm

8

2. Bài toán Cauchy đối với phương trình vi phân thường cấp 1

8

3. Bài toán Cauchy đối với hệ phương trình vi phân thường cấp 1

10

4. Điều kiện Lipschitz

10

Chƣong 2: Các phƣơng pháp giải gần đúng bài toán Cauchy đối với
phƣơng trình vi phân thƣờng.

11


I. Các phương pháp giải tích.

11

1. Phương pháp lặp đơn.

11

2. Phương pháp xấp xỉ liên tiếp Picard.

13

3. Phương pháp chuỗi số nguyên.

15

II. Các phương pháp số.

16

1. Phương pháp Euler.

16

2. Phương pháp Euler Cauchy

18

3. Phương pháp Runge Kutta.


20

4. Phương pháp Adams.

25

III.Ứng dụng của tin học để giải phương trình vi phân thường.

29


1. Ứng dụng của chương trình MapleV

29

2. Ứng dụng của ngôn ngữ lập trình Pascal.

30

Chƣơng 3: Các bài tập ứng dụng.

38

I. Các bài tập ứng dụng của các phương pháp giải tích.

38

II. Các bài tập ứng dụng của các phương pháp số.


45

KẾT LUẬN

53

TÀI LIỆU THAM KHẢO

54


LỜI NÓI ĐẦU
Thế kỷ XXI là thế kỷ bùng nổ của công nghệ thông tin, ứng dụng của
công nghệ thông tin có đóng góp to lớn và hiệu quả trong mọi mặt của đời
sống. Và cũng từ rất lâu tin học đã được ứng dụng vào trong môn Toán. Có
những số liệu tính toán quá cồng kềnh và những bài toán phức tạp chúng ta
không thể giải bằng tay được nhưng nếu dùng các lập trình trên máy vi tính
thì chúng ta có kết quả rất nhanh gọn và chính xác.
Các bạn sinh viên đã được học môn phương trình vi phân từ kì II năm
thứ ba, vì thế các bạn đã rất quen thuộc với dạng toán tìm nghiệm đúng của
bài toán Cauchy đối với phương trình vi phân thường. Thế nhưng có nhiều
trường hợp nghiệm đúng của các phương trình vi phân không thể tìm được.
Bởi vậy để tìm nghiệm của chúng, ta phải áp dụng các phương pháp gần đúng
khác nhau. Ở mỗi phương pháp chúng ta có thể dùng lập trình Pascal hay sử
dụng thuật toán MapleV để giải các bài toán này.
Với mong muốn học hỏi tích luỹ thêm cho mình những kỹ năng và kinh
nghiệm khi tiếp cận với ứng dụng của công nghệ thông tin váo việc giải toán
đồng thời để hiểu sâu hơn về phương trình vi phân em mạnh dạn chọn đề tài
là: “Các phương pháp giải bài toán Cauchy đối với phương trình vi phân
thường”.

Nội dung của khoá luận gồm 3 chương:
Chƣơng 1: Kiến thức cơ sở.
Chương này nhằm trình bày các khái niệm và định lý cơ bản nhất về
các vấn đề có liên quan đến nội dung trong chương 2 sẽ trình bày.


Chƣơng 2: Các phƣơng pháp giải gần đúng bài toán Cauchy đối
với phƣơng trình vi phân thƣờng.
I. Các phương pháp giải tích.
1. Phương pháp lặp đơn.
2. Phương pháp xấp xỉ liên tiếp Picard.
3. Phương pháp chuỗi số nguyên.
II. Các phương pháp số.
1. Phương pháp Euler.
2. Phương pháp Euler-Cauchy.
3. Phương pháp Runge-Kutta.
4. Phương pháp Adams.
III. Ứng dụng của tin học để giải phương trình vi phân thường.
1. Ứng dụng của chương trình MapleV
2. Ứng dụng của ngôn ngữ lập trình Pascal.
Chƣơng 3: Các bài tập ứng dụng.
I. Các bài tập ứng dụng của các phương pháp giải tích.
II. Các bài tập ứng dụng của các phương pháp số.
Mặc dù đã có nhiều cố gắng song do thời gian có hạn và điều kiện
nghiên cứu còn hạn chế đồng thời kiến thức của bản thân người làm khoá luận
còn chưa vững nên khoá luận không tránh khỏi những thiếu sót, em rất mong
nhận được sự quan tâm góp ý của các thầy cô giáo, các bạn sinh viên cũng
như các bạn đọc quan tâm đến vấn đề này để khoá luận được hoàn thiện hơn.
Hà Nội 18/5/2009.
Sinh viên:

Phạm Thị Hoa.


CHƢƠNG 1
KIẾN THỨC CƠ SỞ.

I. Các khái niệm:
1. Số gần đúng
Trong tính toán, ta thường phải là việc với các giá trị gần đúng của các
đại lượng. Ta nói a là số gần đúng của a* , nếu a không sai khác a* nhiều.
2. Sai số
a) Sai số tuyệt đối, sai số tương đối.
+) Sai số tuyệt đối: Đại lượng  a  gọi là sai số thật sự của a .
: a*

*

Do không biết a nên ta cũng không biết . Tuy nhiên ta có thể tìm
được
a 0 , gọi là sai số tuyệt đối của a , thoả mãn điều kiện:
*

a a  hay a a a* a a.

a
a
+) Sai số tương đối: đại lượng aa:

.


b) Sai số thu gọn:
Một số thập phân a có dạng tổng quát như sau:
a  
p10

p



10p1
p
trong đó 0 ≤

i

...

ps10

ps




≤ 9 i p

là những số nguyên. Nếu

s,..., p 1;
p 0

s
là số thập phân vô hạn. Thu gọn một số a là vứt bỏ một số các chữ
,
a
số bên phải a để được một số a ngắn gọn hơn và gần đúng nhất với a .
c) Sai số tính toán: Các số vốn đã có sai số, còn thêm sai số thu gọn nên
khi tính toán sẽ xuất hiện sai số tính toán.
3. Sai phân
+) Sai phân: Giả sử

h const 0. Ta
của
f

 x 

f :R
là một hàm số cho trước và

R

gọi sai

phân cấp 1


x
f

là đại


lượng

f  x hf (x).


+) Tỷ sai phân cấp 1 của

f x


f(x)
h.

Một cách tổng quát n f (x)  n1 f


f (x) .

(x) ,  n 1  , f (x) :
0

II. Khái quát về phƣơng trình vi phân:
1. Một số khái niệm:
a) Phương trình vi phân cấp 1

Phư
ơng
trình
vi


p


hân cấp 1 có dạng tổng quát:

F (x, y, y ')
0

(a) trong

đó hàm F xác định trong miền D  3 . Nếu trong miền D , từ phương
trình
(a) ta có thể giải được

y ' y ' f (x, y) thì ta được phương trình vi phân cấp 1
: 
đã giải ra đạo hàm.
b) Phương trình vi phân cấp n:
(n)
F(x, y, y ',..., y ) 0
Phương trình vi phân cấp n có dạng tổng quát
(b).
n
Hàm F xác định trong một miền G nào đấy của không gian □
phương trình (b) có thể vắng một số biến x, y, y ',..., y(n1)
nhưng

. Trong


y(n) nhất thiết

phải có mặt. Nếu từ (b) ta giải ra được đạo hàm cấp cao nhất, tức là phương
trình (b) có dạng:

y

(n)



f (x, y, y ',..., y
phân

(n1)

) thf ta được phương trình vi

cấp n đã giải ra đối với đạo hàm cấp cao nhất.
2. Bài toán Cauchy đối với phƣơng trình vi phân thƣờng cấp 1
Xét bài toán

Trong đó

t, x  R 0,T   x 0 r, x0
r .
x(t) là hàm một biến xác định trên 0,T




với

0,T



cho
trước, hàm f (t, x)


x0 cho trước được gọi là bài toán Cauchy đối với

phương trình vi phân thường cấp 1, điều kiện (2) được gọi là điều kiện
Cauchy hay điều kiện ban đầu.
a) Định lý 1(định lý tồn tại nghiệm)
Xét bài toán (1-2), t, x  R 0,T   x 0 r, x0 r .
Nếu f (t,
x)

là hàm liên tục trên hình chữ nhật R(r  cố định) thì tồn
0

tại ít nhất một nghiệm x(t) của phương trình (1) thỏa mãn điều kiện (2) tức là
x(t) là nghiệm của bài toán (1-2).
b) Định lý 2(định lý duy nhất nghiệm)
Xét bài toán (1-2). Nếu
R(r  cố định) và f (t,
0
x)


f (t,
x)

là hàm liên tục trên hình chữ nhật

thoả mãn điều kiện Lipschitz tho biến x trên hình

chữ nhật R tức là:
.
Trong đó N là hằng số (gọi là hằng số Lipschitz) thì nghiệm của bài
toán (1-2) xác định là duy nhất.
c) Định lý (định lý tồn tại và duy nhất nghiệm)
Xét bài toán (1-2), t, x  R 0,T   x 0 r, x0 r .
Hàm f (t,
x)
a. f (t,
x)

xác định trong R(r  cố định) thoả mãn 2 điều kiện :
0
liên tục trên R và do R đóng
ới M max f (t, x) .

và bị chặn cho nên


t

b. f (t,
x)


,xR

thoả mãn điều kiện Lipchitz
là hằng số thì tồn tại duy nhất nghiệm

x(t) của bài toán (1-2) xác định trên [0,T].
3. Bài toán Cauchy với hệ hai phƣơng trình vi phân:

4. Điều kiện Lipschitz.

f (x,
Ta nói rằng trong miền G hàm y)

thoả mãn điều kiện Lipschitz

theo biến y nếu tồn tại hằng số L > 0 sao cho đối với hai diểm
G,

 x, y  G bất kì, ta có bất đẳng thức
.

 x, y  


CHƢƠNG 2
CÁC PHƢƠNG PHÁP GIẢI GẦN ĐÚNG BÀI TOÁN CAUCHY ĐỐI
VỚI PHƢƠNG TRÌNH VI PHÂN THƢỜNG
Các phương pháp giải phương trình vi phân chia làm 2 nhóm:
*Nhóm các phương pháp giải tích cho phép tìm nghiệm gần đúng dưới

dạng biểu thức giải tích.
*Nhóm các phương pháp số cho phép tìm nghiệm dưới dạng bảng.
Sau đây, ở mỗi nhóm chúng ta sẽ xét một vài phương pháp cụ thể.
I. Các phƣơng pháp giải tích.
1. Phƣơng pháp lặp đơn.
a) Nội dung phương pháp.
Xét bài toán giá trị ban đầu sau đây:
dy
y '  
f (x,
dx
y)
y'( )=

(1)
(2)

Giả sử f (x, y) là hàm liên tục trên
R=

].

Khi đó bài toán (1), (2) tương đương với phương trình tích phân
y(x) =

+

(3)

Nghiệm của phương trình (3) được xác định bằng dãy

x

y
(x)
y
 n
0  f (s, yn1 (s)  ds

(4)
x

y0 (x)
y0
0


Giả sử hàm

f (x,
y)

liên tục trong R và trên đó thoả mãn điều kiện

Lipschitz theo biến thứ hai.
,
Ngoài ra, giả sử

M max f (x, y) , h 
min(a,


b
M

).

R

Khi đó dãy các xấp xỉ (4) sẽ hội tụ tới nghiệm duy nhất của phương
trình (3) trên [

.

Tốc độ hội tụ được xác định bởi công thức
, n= 0, 1, 2, …
Với y(x) là nghiệm đúng của (3),

(5)

được tính theo (4).

b) Ví dụ.
Giải bài toán sau bằng phương pháp lặp đơn.
y '=

, với y (0)=0.
Giải

Hàm f (x,
y)


=

liên tục trên toàn mặt phẳng nên a, b có thể

chọn tuỳ ý.
Chọn

=0 thì xấp xỉ đầu tiên được xác định:
.

Tương tự:
=

.

=

.+

.


Chúng ta ước lượng sai số của
Chọn a =1, b =0,5 thì ta có:

(x) bằng công thức (5)


M max f
(x, y)


max x2
y 2

1, 25.

G

G

L max f '
(x, y)

max 1.
2y
G

G

h min(a, b

0,5
) min(1,
) 0, 4 .
M
1, 25

Do vậy trên đoạn [0; 0,4 ] ta có
,
Từ đó


= 0,00133.

2. Phƣơng pháp xấp xỉ liên tiếp Picard.
a) Nội dung phương pháp.
*) Tìm nghiệm của bài toán Cauchy (1-2) là phương pháp xấp
xỉ liên tiếp. Gỉả sử các điều kiện tồn tại duy nhất nghiệm được thoả mãn. Việc
giải bài toán tương đương với việc tìm nghiệm của phương trình tích phân
sau:
y(x) =

+

Vì ẩn y(x) tham gia vào dưới dấu tích phân nên gọi (1.1) là phương trình
tích phân.
*) Nội dung của phương pháp:Thay cho việc tìm nghiệm đúng
của (1.1) ta tìm nghiệm gần đúng thứ n theo công thức quy nạp:

(Để đơn giản) gọi nghiệm gần đúng đầu tiên là

,


(Theo lý thuyết phương trình vi phân): Nếu

trong G:

f (x,
y)


xác định liên tục

đồng thời thoả mãn điều kiện Lipschitz

theo biến y thì quá trinh xấp xỉ liên tiếp (1.2) hội tụ đều về nghiệm duy nhất
của nghiệm (1.1) trong đoạn

h = min (a, ) trong đó:
M max f (x, y) .
( x, y )G

Tốc độ hội tụ của phương pháp đặc trưng bởi hàm:
y(x) là nghiệm đúng của (1.1),

trong
đó được tính từ công thức (1.2).
Người ta chứng minh được rằng

, n= 0, 1, 2,…
Từ đó suy ra khi n
 thì trên [

(1.4).

0 và
hội tụ đều về

].

(x)


y(x)

b) Ví dụ: bằng phương pháp Picard giải bài toán sau:
'

2

y y x, y(0) 0 .
Bài làm.
Dễ thấy hàm số y' y2
x
nghiệm trên toàn mặt phẳng.
y0 (x) =0;

thoả mãn định lý về sự tồn tại và duy nhất


x

x

1 2
y1 (x) y0 (x) + f (t, y0 (t))dt 2tdt  x
0
0
x

x


0

0

5

4
1 )dt 1 x2 x
y1 (x) y0 + f (t, y1(t))dt  (t


2
20
(x)


t

4

y1 (x) y0 (x) +
x

x

x8

f (t, (t))dt
y2
0


1

t
4


4

10

1t
1 t )dt 
1
20  400
2
7

(t 

x

5

x11

2
x 20 + 160 4400 .



0

3. Phƣơng pháp chuỗi hàm nguyên.
a) Nội dung phương pháp.
Giả sử hàm f (x,
y)
(

ở vế phải của (1) là giải tích trong lân cận điểm

) nghĩa là f (x, y) khai triển được thành chuỗi nguyên:


f (x, y) =

a

k

km

(x x0

(1.6)

) ( y y0 )
k ,m0

hội tụ trong lân cận đó. Với giả thiết đó bài toán Cauchy (1-2 ) là giải tích
trong lân cận đủ bé của điểm



y(x) = 
k 0

và có thể biểu diễn dưới dạng chuỗi Taylor:
y

(k )

(x

)
0

k!

(xx
0)

k

(1.7)


nếu tìm được các giá trị

( ) thì nghiệm gần đúng có thể lấy chẳng hạn
N


=



y

(k )

k 0

(x

)

k

(xx0 ) .

0

k!
Trong đó N là 1 số tự nhiên nào đó, nếu ta tính được các đại lượng
( ), (k=0, 1, ,…,N). Để tính

(

có:
'

y ( )= f (


)

) ta xuất phát từ bài toán (1-2), ta


Lấy đạo hàm các cấp cả 2 vế (1) rồi thế x =
giá trị

vào ta được lần lượt các

( ), (k=0, 1, ,…
b) Ví dụ.

Bằng phương pháp chuỗi hàm nguyên giải bài toán sau:
x(

)=2; y (1)=0.
Giải

2
'
y
y =  e ;
x
y
(1)=0;
y'' =

2

x

2

'

y (1) 1;
' y

 ye ;

''

y (1)=1;
4
y '" 
x3

y

2

y

y"e ( y ') e ;

y '" (1) 2 ;
y

(4)


y

(4)

4

(4)

y (x)


12



y

y

y

x4
(1) 6;
k

y (x )




1

1

1

0
k

(x x )
(x 1) 
0

k 0

3

y '''e 3y ' y"e ( y ') e ;

k!

II. Các phƣơng pháp số.
1. Phƣơng pháp Euler.

2

(x
2
1)



3

(x
3
1)


4

( x 1) ;
4


a) Nội dung phương pháp.
Xét bài toán Cauchy:
y '  f (x, y), a x (1)
b
y(a) y0

(2)

Chia đoạn a,bthành các đoạn nhỏ bởi các điểm
chia

xi (i=0, 1, …, N)

sao cho: a x0 x1 ... xN b .
Giả sử hàm f (x,
y)


có các đạo hàm riêng bậc m liên tục trên

R=a,by0 ,Y , m .
+) Với xi đủ gần x0 để tính được giá trị gần đúng của nghiệm bài toán
(1-2) tại điểm
xi

ta sử dụng công thức tính của phương pháp chuỗi hàm

nguyên trong nhóm các phương pháp giải tích đã trình bày ở mục trước như
sau:
m

y(x) 
j1

y

(j)

(x

)

j

(xx0 )

.


0

j!

thức:

+) Với xi ở xa x0 để tính giá trị gần đúng y(xi ) yi ta sử dụng
công
yi1 yi hi f (xi , yi ),i 
0,1,..., N 1

trong đó hi
xi1 xi

(3)

. Trong phần bài tập ta sẽ chỉ xét phép phân hoạch đoạn

a,blà phép phân hoạch đều tức
là: công thức (3) trở thành:

,
h hi
xi1 xi


i 0,1,..., N 1.

Giả sử:


Khi đó
yi1 yi hf (xi , yi ),i 
0,1,..., N 1

f 
M1 ,

(3’).

với x a,b, y y0 ,Y



f M 2 , f M 3
x
y

 thì

sai số

của phương pháp Euler được đành giá theo công thức:
y(xi ) yi
trong đó
M

*

M h

 4 eM3 ( xi x0 )
2M3

*

4

M  , h = max h
MM
2
3

1

0iN-1

i

b) Ví dụ: Giải bài toán sau bằng phương pháp Euler


2x
y ' y  , y(0) 1, x 0,1, h 0, 2.
y
Giải
Áp dụng công thức:
yi1 yi hf (xi , yi )

 h xi1 xi ,i 0,1,..., N 1
Ta có bảng sau:

Nghiệm
Δ

đúng

0

0

1,0000

0

1,0000

0,2000

y=
1,0000

1

0,2

1,2000

0,3333

0,8667


0,1733

1,1832

2

0,4

1,3733

0,5928

0,7805

0,1561

1,3416

3

0,6

1,5294

0,7846

0,7458

0,1492


1,4832

4

0,8

1,6786

0,9532

0,7254

0,1451

1,6124

5

1,0

1,8237

1,7320

2. Phƣơng pháp Euler-Cauchy.
a) Nội dung của phương pháp.
Xét bài toán Cauchy (1-2). Ta cũng phân hoạch

bởi các điểm


 a,b
chia {x
i

}

N

( a x0 x1 ... xN b ). Phương pháp Euler đã
trình bày ở trên

i0

tính giá trị gần đúng

yi  y(xi )


tuy đơn giản nhưng
độ chính xác chưa
cao. Để
khắc phục nhược điểm này chúng ta sử dụng phương pháp Euler-Cauchy. Sơ
đồ tính toán của phương pháp này như sau:


y* y hf (x , y )
i1
i



hi i
y y  f (x , f(x
y)
 i1
i
i
i
2
i1


i 0,1,..., N 1


*

, y )
i1

(4)


Sai số được xác định bởi công thức:
(l1) ()
l1
R (h)r
h , 0 h.
r
(l 1)!


Để làm tăng độ chính xác cho phương pháp Euler-Cauchy chúng ta áp
dụng phương pháp lặp đơn cho tính các giá trị yi như sau:
 y (0)   hf (x , y )
y i1
i

hi i
 (k 1)  f (x , f
(x
y
y)
y


i1
i
i
i
2
i1

 yi1 

(k )
i1

,)y (k 1)
i1 

(5)


b)Ví dụ: Tìm nghiệm gần đúng của bài toán sau bằng phương pháp
Euler-Cauchy:
2x
y ' y  , y(0) 1, x 0,1, h 0, 2.
y
Bài làm
Áp dụng công thức (4) ta có bảng sau:


i

xi

yi

h
2

fi

xi+1

yi+1

*

h
2


f

*
i+1

h
y  (

f


i

0

0

1

0,1

0,2

1,2

0,0867

f

* )


2

i

0,1867

Nghiệm
đúng

i1

1,0000


×