LUẬN VĂN PHƯƠNG PHÁP XẤP XỈ EULER TRONG PHƯƠNG TRÌNH VI PHÂN THƯỜNG
Trang 1BỘ GIÁO DỤC & ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
TRẦN THỊ NGÂN
PHƯƠNG PHÁP XẤP XỈ EULER TRONG PHƯƠNG TRÌNH VI PHÂN THƯỜNG
Chuyên ngành: Phương pháp Toán sơ cấp
Mã số:60.46.40
LUẬN VĂN THẠC SĨ KHOA HỌC
Người hướng dẫn khoa học: TS LÊ HẢI TRUNG
Đà Nẵng - Năm 2013
Trang 2Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng
ai công bố trong bất cứ công trình nào khác
Đà Nẵng, tháng 11 năm 2013.Tác giả luận văn
Trần Thị Ngân
Trang 3MỞ ĐẦU
1 Tính cấp thiết của đề tài 1
2 Mục tiêu nghiên cứu của đề tài 1
3 Đối tượng và phạm vi nghiên cứu 2
4 Ý nghĩa và thực tiễn của đề tài 2
5 Cấu trúc của luận văn 2
CHƯƠNG 1 MỘT SỐ KIẾN THỨC CHUẨN BỊ 3
1.1 PHƯƠNG TRÌNH VI PHÂN THƯỜNG 3
1.1.1 Định nghĩa 3
1.1.2 Nghiệm phương trình vi phân thường 3
1.2 SỰ TỒN TẠI VÀ DUY NHẤT NGHIỆM CỦA PHƯƠNG TRÌNH VI PHÂN THƯỜNG BẬC NHẤT 4
1.2.1 Định nghĩa về điều kiện Lipschitz 4
1.2.2 Định lý về tồn tại và duy nhất nghiệm của phương trình vi phân thường bậc nhất 4
1.3 MỘT SỐ PHƯƠNG PHÁP XẤP XỈ THƯỜNG DÙNG 4
1.3.1 Phương pháp giải tích 5
1.3.2 Phương pháp số 6
CHƯƠNG 2 PHƯƠNG PHÁP EULER CHO PHƯƠNG TRÌNH VI PHÂN THƯỜNG 7
2.1 GIỚI THIỆU PHƯƠNG PHÁP EULER 7
2.1.1 Nguồn gốc phương pháp Euler 7
2.1.2 Thành lập công thức của phương pháp Euler 8
2.1.3 Thuật toán phương pháp euler 10
2.2 SAI SỐ TRONG PHƯƠNG PHÁP EULER 13
Trang 42.2.2 Sai số tích lũy (sai số toàn phần) 14 2.3 PHƯƠNG PHÁP EULER TRONG PHƯƠNG TRÌNH VI PHÂN
THƯỜNG 20 2.4 MỘT SỐ BÀI TOÁN TÌM NGHIỆM GẦN ĐÚNG VỚI PHƯƠNG
PHÁP XẤP XỈ EULER TRONG PHƯƠNG TRÌNH VI PHÂN THƯỜNG 21 2.5 ƯU ĐIỂM VÀ HẠN CHẾ CỦA PHƯƠNG PHÁP XẤP XỈ EULER TRONG PHƯƠNG TRÌNH VI PHÂN THƯỜNG 29
2.5.1 Ưu điểm- tính ổn định của phương pháp Euler 29 2.5.2 Hạn chế trong phương pháp Euler 30 2.6 PHÁT TRIỂN VÀ SO SÁNH PHƯƠNG PHÁP EULER VỚI MỘT SỐ PHƯƠNG PHÁP KHÁC 33
CHƯƠNG 3 ỨNG DỤNG PHẦN MỀM MATHEMATICA CHO
PHƯƠNG PHÁP XẤP XỈ EULER 37
3.1 GIỚI THIỆU VỀ PHẦN MỀM MATHEMATICA 37 3.2 ỨNG DỤNG PHẦN MỀM MATHEMATICA CHO PHƯƠNG PHÁP XẤP XỈ EULER 38
KẾT LUẬN 47 DANH MỤC TÀI TIỆU THAM KHẢO 48 QUYẾT ĐỊNH GIAO ĐỀ TÀI (bản sao)
Trang 5
Số hiệu Tên bảng Trang bảng
h = 1 và giá trị nghiệm chính xác
Trang 6Số hiệu Tên hình vẽ Trang hình
f (x, y) = ycosx; y(0) = 1 với số bước lặp là 50, 100, 200, 400
y(0) = 3, h = 0.2 trên [0, 1] theo phương pháp Euler
theo phương pháp Euler
Trang 8MỞ ĐẦU
1 Tính cấp thiết của đề tài
Trong khoa học kỹ thuật chúng ta thường gặp rất nhiều bài toánliên quan tới phương trình vi phân thường, tuy nhiên các phương trìnhnày thường phức tạp mà trong một số trường hợp cũng không thể tìmđược nghiệm tường minh Hơn nữa, vì các công thức nghiệm thường phứctạp, cồng kềnh nên việc khảo sát các tính chất của nó còn gặp nhiều khókhăn Trong kỹ thuật, người ta sử dụng các giá trị thu được bằng việcgiải gần đúng các (hệ) phương trình vi phân thường Bởi vậy, việc nghiêncứu các phương pháp giải gần đúng để tìm nghiệm các phương trình viphân này trở nên cấp thiết và tự nhiên
Ngay từ thời Archimedes các phương pháp giải gần đúng đã đượcxây dựng thông qua việc nghiên cứu và ước tính giá trị số π để xác địnhdiện tích hình tròn Đến thế kỉ XVIII, các vấn đề tìm nghiệm gần đúngđược Loenhard Euler-nhà toán học người Thụy Sĩ phát triển và thu đượcnhiều thành tựu rực rỡ Cụ thể, ông được biết đến nhiều với việc sángtạo ra một chuỗi các phương pháp tính xấp xỉ, được sử dụng nhiều trongtính toán, và phương pháp nổi tiếng nhất trong đó chính là phương phápEuler
Với mong muốn là tìm hiểu và nghiên cứu về phương pháp xấp
xỉ nhằm đáp ứng nguyện vọng nghiên cứu khoa học của chính bảnthân, đồng thời được sự gợi ý và động viên của giáo viên hướng dẫn, tôimạnh dạn lựa chọn đề tài « Phương pháp xấp xỉ Euler trong phươngtrình vi phân thường » làm đề tài luận văn thạc sĩ cho mình
2 Mục tiêu nghiên cứu của đề tài
Mục tiêu của đề tài là sử dụng phương pháp xấp xỉ Euler để xemxét và tìm nghiệm gần đúng của phương trình vi phân thường, từ đó
so sánh sai số với nghiệm chính xác của phương trình vi phân đó Đồngthời, nghiên cứu ứng dụng phần mềm Mathematica để viết chương trìnhtìm nghiệm gần đúng theo phương pháp xấp xỉ Euler và mô tả nghiệm
Trang 9chính xác của phương trình vi phân thường bằng đồ thị thông qua cácgói câu lệnh đã được lập trình.
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: Nghiên cứu phương pháp Euler để tìm nghiệmgần đúng cho phương trình vi phân thường và lập trình phương phápEuler trong Mathematica
Phạm vi nghiên cứu: Nghiên cứu phương pháp Euler cho các bài toántrong lý thuyết phương trình vi phân thường
Phương pháp nghiên cứu: Tìm đọc tài liệu về phương pháp Euler vàcác phương pháp tính xấp xỉ khác; phân tích tài liệu; hệ thống hóa; kháiquát hóa tài liệu và kiểm chứng
4 Ý nghĩa khoa học và thực tiễn của đề tài
Đề tài có ý nghĩa về mặt lý thuyết, có thể sử dụng như là tài liệutham khảo dành cho sinh viên và các đối tượng có mối quan tâm đếnphương pháp Euler cho phương trình vi phân thường
5 Cấu trúc luận văn
Ngoài phần Mở đầu và Kết luận, luận văn gồm 3 chương
Chương 1: Kiến thức chuẩn bị Chương này trình bày một số kháiniệm, định nghĩa, định lý về sự tồn tại và duy nhất nghiệm trong phươngtrình vi phân thường và một số phương pháp tính xấp xỉ thường dùng.Chương 2: Trình bày nội dung và sai số phương pháp xấp xỉ Eulertrong phương trình vi phân thường; đưa ra một số bài toán phương trình
vi phân được tìm nghiệm xấp xỉ theo phương pháp Euler; ưu điểm vàhạn chế của phương pháp Euler; đồng thời nêu bật lên việc phát triển
và so sánh phương pháp này với một số phương pháp xấp xỉ khác.Chương 3: Giới thiệu phần mềm Mathematica và trình bày nhữngứng dụng của phần mềm này trong phương pháp xấp xỉ Euler
Trang 10Hàm y = y(x) được gọi là nghiệm của phương trình vi phân (1.1) nếu
ta nhận được:
F (x, y(x), y0(x), , y(n)(x)) = 0
Trang 111.2 SỰ TỒN TẠI VÀ DUY NHẤT NGHIỆM CỦA PHƯƠNG
TRÌNH VI PHÂN THƯỜNG BẬC NHẤT
Hàm f (x, y) thỏa mãn điều kiện Lipschitz trong miền D của mặtphẳng Oxy theo biến y nếu tồn tại L > 0 (hằng số Lipschitz) sao chovới ∀(x, y1), (x, y2) ∈ D:
1 Hàm f (x, y) xác định và liên tục tại một miền D nào đó của mặt
2 Hàm f (x, y) trong miền D thỏa mãn điều kiện Lipschitz theobiến y với hằng số L > 0:
Trang 12trình vi phân mô tả hệ cơ, lý học, hóa học, sinh học nhìn chung rất phứctạp Chính vì vậy, các phương pháp giải gần đúng phương trình vi phânrất được quan tâm, nghiên cứu.
Người ta phân biệt các phương pháp giải gần đúng thành hai loại:phương pháp giải tích và phương pháp số
- Phương pháp xấp xỉ Picard
Ta có dãy xấp xỉ nghiệm Picard thông qua công thức quy nạp như sau:
(
y(x0) = y0
yn(x) = y0 +Rxx
0f (t, yn−1(t))dt, với n> 1
-Phương pháp chuỗi nguyên
là:
f (x, y) =
∞X
Trang 13- Phương pháp Euler cải tiến
dx = f (x, y), y(x0) = y0.Phương pháp Euler cải tiến với bước h gồm các công thức truy hồi:
Trang 14CHƯƠNG 2
PHƯƠNG PHÁP EULER CHO PHƯƠNG TRÌNH
VI PHÂN THƯỜNG
Ta biết rằng không phải tất cả các phương trình vi phân dạng tổng
các phương pháp như giải tích Chẳng hạn, xét phương trình:
dy
−x 2
hàm sơ cấp nghĩa là hàm không thể biểu diễn được dưới dạng một biểuthức giải tích Vì vậy nghiệm của (2.1) không thể biểu diễn dưới dạng mộthàm sơ cấp Mọi cố gắng sử dụng các phương pháp như phương phápchuỗi nguyên để tìm ra một công thức nghiệm dạng hiển của phươngtrình (2.1) đều thất bại Vấn đề trên đã được giải quyết trong thế kỉXVIII bằng phương pháp mang tên nhà toán học vĩ đại Euler
Hình (2.1) mô tả kết quả của quá trình nói trên: đó là đường gấpkhúc nối các điểm (x0, y0), (x1, y1), (x2, y2), Tuy nhiên giả sử rằng mỗi
Trang 15Hình 2.1: Ý nghĩa hình học của phương pháp Euler
"đoạn nhỏ" bút vẽ di chuyển dọc theo đoạn dốc tiếp tuyến rất nhỏ, nhỏđến mức bằng mắt thường không thể nhận ra được Khi đó đường gấpkhúc được xem như đường cong trơn nghiệm của bài toán, đây cũng là
ý nghĩa hình học của phương pháp Euler
Giải bài toán Cauchy:
ảnh gần đúng của hàm nghiệm y(x)
Từ khai triển Taylor, giữ lại hai số hạng đầu ta có:
y(x1) = y(x0) + y
0(x0)
00(ξ)2! (x1 − x0)2.y(x1) = y0 + hf (x0, y0)
2)
Trang 16trước hết ta chọn bước lặp h để sử dụng vẽ từng bước từ điểm này đến
xác định qua công thức thành lập (2.3) và được mô tả ở hình (2.2)
được cho bởi công thức dưới đây trong hệ tọa độ đã cho:
xn+1 = xn+ h; yn+1 = yn + hf (xn, yn)
Với bài toán (2.2) phương pháp Euler với bước lặp h bắt đầu từ điểm
x1 = x0 + h; y1 = y0 + hf (x0, y0),
Trang 17x2 = x1 + h; y2 = y1 + hf (x1, y1),
x3 = x2 + h; y3 = y2 + hf (x2, y2)
Tuy nhiên người ta không vẽ đường gấp khúc xấp xỉ Thực vậy, kết
đúng y(x1), y(x2), y(x3), tại các điểm x1, x2, x3, của nghiệm chínhxác y(x) (mặc dù chưa biết) của bài toán biên Các giá trị tìm được thểhiện dưới dạng bảng các giá trị xấp xỉ của bài toán đã cho
Xét phương trình vi phân (2.2) Để áp dụng phương pháp Euler vớibước lặp h ta áp dụng công thức:
yn+1 = yn+ hf (xn, yn); (n ≥ 0),
để tính các giá trị xấp xỉ y1, y2, y3, (giá trị chính xác là y(x1), y(x2), y(x3), của nghiệm chính xác y = y(x) tại các điểm x1, x2, x3, )
pháp và tiện so sánh các giá trị xấp xỉ và giá trị nghiệm chính xác, taxét Ví dụ 2.1
Ví dụ 2.1 Dùng phương pháp Euler tìm nghiệm xấp xỉ của bài toángiá trị ban đầu
Trang 19hiện đồ thị của nghiệm xấp xỉ ứng với h = 1, h = 0.2, h = 0.05 cùng đồthị của nghiệm chính xác vừa tìm được trong hình (2.3) thông qua phầnmềm Mathematica.
Hình 2.3: Đồ thị nghiệm chính xác và nghiệm xấp xỉ của bài toán f (x, y) = x + 1
5y; y(0) = −3 với
h = 1, h = 0.2, h = 0.05
Ta thấy rằng khi bước h giảm thì độ chính xác càng tăng, đường congxấp xỉ nghiệm ứng với các bước h giảm càng gần với đường cong nghiệmchính xác
Ví dụ 2.2 Xét phương trình chuyển động sau:
Hãy dùng phương pháp Euler hai lần để tìm nghiệm gần đúng trong[0, 1], lần đầu với bước h = 0.1 và lần sau với bước h = 0.2 So sánh cáckết quả nghiệm gần đúng và giá trị nghiệm chính xác
Sử dụng phần mềm Mathematica 4.2 ta xác định nghiệm chính xác
thể thể hiện đồ thị của nghiệm xấp xỉ ứng với h = 1, h = 0.2, h = 0.05cùng đồ thị của nghiệm chính xác vừa tìm được trong bảng (2.1.3) thôngqua phần mềm Mathematica
Trang 20Bảng 2.1: Xấp xỉ Euler bài toán y0 = y + 1; y(0) = 1 với h = 0.2, h = 1 và giá trị nghiệm chính xác.
Qua bảng (2.1.3), ta thấy rằng với phương pháp Euler để nghiệm có
độ chính xác cao cần có bước lặp h càng nhỏ và số bước lặp càng lớn
Xét sai số mắc phải trên một bước lặp với giả thiết bước trước đótính đúng Ta xét hàm y(x) là nghiệm chính xác của bài toán:
00(ξ)2! .(x1 − x0)2,
Trang 21y(x1) − y1 = y
00(ξ)2! .(x1 − x0)2,y(x1) − y1 = 0(h2)
Từ đó suy ra:
y(xn+1) − yn+1 = 0(h2)
Sai số trong công thức xấp xỉ tuyến tính
yn+1 ≈ yn+ h.f (xn, yn) = yn+1,
mỗi lần lặp của quá trình, được gọi là sai số địa phương của phương phápEuler
Hình 2.4: Sai số địa phương trong phương pháp Euler
nhận các sai số tích lũy của các sai số địa phương Đường tiếp tuyến ởhình (2.5) thể hiện sai số tích lũy của phương pháp Euler- đó là độ sai
Trang 22Hình 2.5: Sai số tích lũy trong phương pháp Euler
Lip-schitz theo biến y với hằng số LipLip-schitz = L > 0, ngoài ra vi phân
|df
đúng của bài toán Cauchy (2.2) ta có:
Trang 23Từ đây suy ra:
lũy trong phương pháp Euler chính là giảm bước h
Ví dụ 2.3 Tính xấp xỉ nghiệm của bài toán giá trị ban đầu:
dy
với bước lặp h = 0.1 và các bước lặp nhỏ hơn như h = 0.01, h = 0.005,
h = 0.001 trong đoạn [0, 1] với 4x = 0.1 Chẳng hạn với bước lặp h =0.01 cần 100 bước lặp Euler, ta đi tìm số bước lặp các bước lặp nhỏ hơn
Sử dụng phần mềm Mathematica 4.2 ta tìm được nghiệm chính xác
yxấp xỉ) sẽ tăng lên khi x càng xa điểm đầu x0 Nhưng khi xem các hàng
Trang 24Bảng 2.2: Xấp xỉ Euler bài toán dy
Để có độ chính xác cao người ta thường giảm bước nhảy Vậy tại sao
Trang 25độ chính xác rất cao? Chẳng hạn với dữ liệu ở bảng (2.2) có được bằngcách dùng máy tính bỏ túi với 9 bước lặp Euler trong một giây Khi đó
túi trong 3000 năm Vì thế ta không nên làm điều đó với hai lý do Trướchết là thời gian để làm điều đó Lý do thứ hai là quá tỉ mỉ
Ngoài hai loại sai số đã được nêu ở trên (sai số địa phương và sai sốtích lũy), tại mỗi bước máy tính sẽ có thêm sai số làm tròn, do sức chứacủa máy tính là có hạn Với phương pháp Euler ứng với h = 0.0001 thìsai số làm tròn sẽ nhiều gấp 1000 lần so với khi h = 0.1 Do vậy, với mỗiphương trình vi phân nào đó, khi h = 0.1 sẽ có kết quả chính xác hơnkhi h = 0.0001, vì sai số làm tròn tích lũy trong trường hợp h = 0.0001
có thể vượt qua sai số tổng hợp sai số tích lũy và sai số làm tròn trongtrường hợp h = 0.1
Trên thực tế cũng như trên lý thuyết, khó có thể chọn được bước h
"tốt nhất", việc chọn đó phụ thuộc vào bản chất của hàm f (x, y) trongphương trình (2.2), phụ thuộc vào mã hiệu mà chương trình được viếtnên và phụ thuộc vào máy tính được sử dụng Với bước h quá lớn thì kếtquả xấp xỉ của phương pháp Euler có thể không đủ độ chính xác, cònnếu h quá bé thì sai số làm tròn bị tích lũy làm cho thời gian chạy máyquá lâu
Kết quả ở bảng (2.2) mô tả chiến lược chung về thuật toán số củaphương pháp Euler Bắt đầu với số n đã được chọn trước về các khoảngđối với lần áp dụng đầu tiên, sau đó tằng gấp đôi n cho mỗi lần áp dụngsau Việc so sánh các kết quả liên tiếp thường đưa đến "suy nghĩ trựcgiác" về tính chính xác Trong hai ví dụ dưới đây, chúng ta sẽ xét việcthể hiện kết quả phép tính gần đúng theo phương pháp Euler bằng đồthị
Ví dụ 2.4 Nghiệm chính xác của bài toán có giá trị ban đầu
Trang 26là y(x) = 8e
8x 3
7 + e8x3
Vẽ đồ thị thể hiện đường cong nghiệm chính xác
và đường cong nghiệm xấp xỉ theo phương pháp Euler trên [1, 5] với
n = 5, n = 10, n = 20, (n là số bước nhảy)
Đồ thị cần vẽ được thể hiện qua hình (2.6)
Ví dụ 2.5 Nghiệm chính xác của bài toán giá trị ban đầu
dy
chính xác và các đường cong nghiệm gần đúng theo phương pháp ler, trên đoạn [0, 6π], với n = 50, n = 100, n = 200 và n = 400
n = 20 chúng ta có đường gần đúng khá tốt so với đường cong nghiệmchính xác Ngay cả với các n khá lớn trong Ví dụ 2.5 mô tả ở hình (2.7)thì phương pháp Euler vẫn cho kết quả tốt khi tìm nghiệm gần đúng
Trang 272.3 PHƯƠNG PHÁP EULER TRONG PHƯƠNG TRÌNH
VI PHÂN THƯỜNG
Mở đầu nhiều bài toán khoa học kỹ thuật chủ đạo là (hệ) phương trình
vi phân và điều kiện ban đầu Nghiệm đúng của chúng thường chỉ ápdụng cho một số lớp bài toán rất hạn chế, đa số các bài toán là phảitìm nghiệm gần đúng Trong phương pháp số có phương pháp Euler-là
cấp một và hệ phương trình vi phân thường Bây giờ chúng ta sẽ đi vàotìm hiểu cách giải các bài toán đó
Xét bài toán Cauchy:
Công thức lặp của phương pháp Euler ứng với hệ phương trình viphân là:
#
và f =
"
fg
#
Trang 28Khi đó bài toán giá trị đầu (2.4)được viết như sau:
Chú ý: Mỗi công thức lặp của (2.7) có dạng công thức lặp của phương
dạng một tham số
PHƯƠNG PHÁP XẤP XỈ EULER TRONG PHƯƠNGTRÌNH VI PHÂN THƯỜNG
Ví dụ 2.6 Hãy dùng phương pháp Euler hai lần để tìm nghiệm gần
h = 0.1 của bài toán giá trị đầu:
Hãy so sánh các kết quả nghiệm gần đúng (lấy 3 chữ số thập phân) với
Trang 29a Sử dụng phần mềm Mathematica 4.2 ta tìm được nghiệm chính xác
Trang 30Bảng 2.3: Xấp xỉ Euler bài toán y0 = 1
b Sử dụng phần mềm Mathematica 4.2 ta tìm được nghiệm chính xác