Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Phương pháp runge - kutta và ứng dụng giải gần đúng phương trình vi phân thường
Nội dung xem thử
Mô tả chi tiết
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
PHẠM THỊ QUÝ
PHƯƠNG PHÁP RUNGE - KUTTA
VÀ ỨNG DỤNG GIẢI GẦN ĐÚNG
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
TÓM TẮT LUẬN VĂN THẠC SĨ KHOA HỌC
Đà Nẵng - Năm 2013
Công trình được hoàn thành tại
ĐẠI HỌC ĐÀ NẴNG
Người hướng dẫn khoa học: TS. LÊ HẢI TRUNG
Phản biện 1: TS. PHAN ĐỨC TUẤN
Phản biện 2: GS. TSKH. NGUYỄN VĂN MẬU
Luận văn được bảo vệ tại Hội đồng chấm luận văn tốt nghiệp Thạc sĩ
khoa học họp tại Đại học Đà Nẵng vào ngày 14 tháng 12 năm 2013.
Có thể tìm hiểu luận văn tại:
- Trung tâm Thông tin - Học liệu, Đại học Đà Nẵng
- Thư viện trường Đại học Sư phạm, Đại học Đà Nẵng
1
MỞ ĐẦU
1. Lý do chọn đề tài
Phương trình vi phân thường (hoặc hệ phương trình vi phân thường) là mô
hình toán học được sử dụng để mô tả nhiều vấn đề trong tự nhiên và kỹ thuật:
Các bài toán chuyển động, bài toán cân bằng hệ sinh thái, mô hình lãi suất
ngân hàng...Trong nhiều trường hợp thì nghiệm đúng của các phương trình vi
phân không tìm được bằng phép cầu phương, do đó chúng ta phải tìm đến các
phương pháp số để tìm nghiệm gần đúng. Phương pháp Runge – Kutta (RK)
là một trong những phương pháp số thường dùng và có những ưu điểm có thể
đáp ứng được những yêu cầu đối với một số bài toán trên.
Với ý nghĩa tìm hiểu về một phương pháp tìm nghiệm gần đúng cho phương
trình vi phân thường và ứng dụng một phần mềm toán học cho đối tượng nghiên
cứu trên, nên tôi mạnh dạn lựa chọn đề tài "Phương pháp Runge – Kutta
và ứng dụng giải gần đúng phương trình vi phân thường" cho luận văn
cao học của mình.
2. Mục tiêu nghiên cứu
Mục tiêu của đề tài là sử dụng phương pháp xấp xỉ bậc bốn RK để trình bày
cách tìm nghiệm gần đúng của phương trình vi phân cấp một, phương trình vi
phân cấp hai, hệ phương trình vi phân, từ đó so sánh với nghiệm chính xác.
Việc tính toán các nghiệm gần đúng được tác giả trình bày bằng các chương
trình được viết trong phần mềm Mathematica và các nghiệm gần đúng tìm
được đều được so sánh và kiểm tra bằng máy tính. Trong một số trường hợp
đặc biệt các nghiệm tìm được còn được so sánh với các nghiệm tường minh và
được minh họa bằng đồ thị hoặc biểu diễn thông qua các bảng biểu trong phần
mềm Mathematica
2
3. Phương pháp nghiên cứu
Trong quá trình tìm hiểu và nghiên cứu đề tài tác giả sử dụng đến các kiến
thức thuộc các lĩnh vực sau: Lý thyết phương trình vi phân thường, Phương
pháp số, Giải tích,. . .
4. Đối tượng và phạm vi nghiên cứu
Nghiên cứu cách giải phương trình vi phân thường bằng phương pháp xấp
xỉ RK bậc bốn.
Tìm nghiệm gần đúng của phương trình vi phân thường cấp một, cấp hai,
hệ phương trình vi phân cấp một và sử dụng phần mềm Mathematica làm công
cụ hỗ trợ và kiểm tra.
5. Cấu trúc của luận văn
Ngoài phần mở đầu, kết luận, tài liệu tham khảo, luận văn được cấu trúc
bởi các chương sau đây:
Chương 1: Kiến thức chuẩn bị.
Chương 2: Phương pháp tìm nghiệm gần đúng - Runge - Kutta.
Chương 3: Ứng dụng phần mềm Mathematica cho công thức Runge - Kutta
bậc bốn.
3
CHƯƠNG 1
KIẾN THỨC CHUẨN BỊ
1.1 CÁC KHÁI NIỆM
Phương trình vi phân là phương trình có dạng:
F(x, y, y,˙ y, ..., y ¨
(n)
) = 0, (1.1)
trong đó y = y(x) là ẩn hàm cần tìm và nhất thiết phải có sự tham gia của đạo
hàm (đến cấp nào đó) của ẩn hàm.
Trong trường hợp ẩn hàm cần tìm là hàm nhiều biến (xuất hiện các đạo hàm
riêng) thì phương trình vi phân còn gọi là phương trình đạo hàm riêng. Nếu ẩn
hàm cần tìm là vectơ - hàm (hàm với giá trị vectơ)
y(x) = (y1(x), ..., ym(x))T ∈ Rm, F là một ánh xạ nhận giá trị trong Rm, khi
đó (1.1) được hiểu là hệ phương trình vi phân.
Phương trình vi phân thường cấp một có dạng tổng quát:
F(x, y, y˙) = 0, (1.2)
trong đó F xác định trong miền G ⊆ R và phương trình vi phân cấp một có
thể viết dưới dạng (gọi là dạng giải được theo đạo hàm )
y˙ = f(x, y), (1.3)
với f liên tục trong miền D ⊆ R2
.
Phương trình (1.1) có thể viết dưới dạng sau (gọi là dạng giải ra với đạo
hàm)
y
(n) = f(x, y, y, ..., y ˙
(n−1)), (1.4)
Dưới dạng này ta có thể chuyển từ phương trình vi phân cấp cao về dạng hệ
phương trình vi phân cấp một bằng cách đưa thêm vào các ẩn mới
4
y1 = y, ..., yk = y
(k−1), k = 1, n, ta thu được
y˙1 = y2,
y˙2 = y3,
.............,
yn˙−1 = yn,
y˙n = f(x, y1, ..., yn).
(1.5)
Đặt Y := (y1, ..., yn)
t
, g(x, Y ) := (y2, ..., yn, f(y1, ..., yn)
t
) là các vectơ - hàm,
(1.5) có thế viết lại như sau:
Y˙ = g(x, Y ). (1.6)
1.2 ĐỊNH LÝ TỒN TẠI VÀ DUY NHẤT NGHIỆM CỦA BÀI
TOÁN CAUCHY
1.2.1. Bài toán Cauchy đối với phương trình vi phân cấp một
Tìm nghiệm y(x) thỏa:
y˙ = f(x, y),
y(x0) = y0,
(1.7)
trong đó (x0, y0) ∈ D và y(x0) = y0 được gọi là điều kiện ban đầu.
Từ đó ta có thể phát biểu bài toán Cauchy đối với phương trình vi phân cấp
cao như sau:
Tìm nghiệm y(x) của (1.4) thỏa:
y(x0) = y0,
y˙(x0) = ˙y0,
.................,
y
(n−1)(x0) = y
(n−1)
0
,
(1.8)
trong đó x0 ∈ I ⊂ R và Y0 := (y0, y˙0, ..., y
(n−1)
0
) ∈ Rn
cố định cho trước.
5
1.2.2. Dãy xấp xỉ Picard
Ta xét bài toán (1.7), trong đó f xác định và liên tục trên miền mở D ⊂ R2
.
Giả sử y(x) là nghiệm của bài toán (1.7), tích phân hai vế của phương trình
trong (1.7) ta được phương trình tích phân đối với y(x) là:
y(x) = y0 +
Z x
x0
f(t, y(t))dt, (1.9)
Rõ ràng mỗi nghiệm của (1.7) cũng là nghiệm của (1.9) và ngược lại, mỗi nghiệm
của (1.9) đều khả vi và liên tục trên một khoảng I nào đó và thỏa (1.7).
Bổ đề 1.1. Giả sử f(x, y) liên tục trên hình chữ nhật
D = {(x, y) ∈ R
2
, |x − x0| ≤ a, |y − y0| ≤ b}.
Đặt M = max |f(x, y)|, h = min{a, b/M}, (ta có thể giả sử M 6= 0),
y0(x) = y0, ∀x ∈ [x0 − h, x0 + h] và
y1(x) = y0 +
Z x
x0
f(t, y0(t))dt,
yn(x) = y0 +
Z x
x0
f(t, yn−1(t))dt, n ≥ 1.
Khi đó {yn(x)} được xác định như trên được gọi là dãy xấp xỉ Picard.
1.2.3. Sự tồn tại và duy nhất nghiệm
Điều kiện Lipschitz: Cho hàm f(x, y) xác định trên miền D ⊂ R. Ta nói
f thỏa mãn điều kiện Lipschitz theo biến y trên D nếu tồn tại hằng số dương
L (gọi là Hằng số Lipschitz) sao cho:
|f(x, y1) − f(x, y2)| ≤ L |y1 − y2| ,
với mọi (x, y1),(x, y2) ∈ D.
Định lý 1.2.1 (Định lý tồn tại và duy nhất nghiệm). Giả sử hàm f(x, y)
trong (1.7) liên tục và thỏa mãn điều kiện Lipschitz theo biến y trên hình chữ
nhật
D = {(x, y) ∈ R2
, |x − x0| ≤ a, |y − y0| ≤ b}.
6
Khi đó nghiệm của bài toán Cauchy (1.7) là tồn tại và duy nhất trên đoạn
I := [x0 − h, x0 + h], với h = min(a, b/M) và M = max
(x,y)∈D
|f(x, y)|.
Tương tự, để phát biểu định lý tồn tại và duy nhất nghiệm của bài toán
Cauchy đối với phương trình vi phân cấp cao ta cần các khái niệm sau:
Cho vectơ - hàm f(x, Y ) xác định trên miền G ⊂ R×Rn
. Ta nói f thỏa mãn
điều kiện Lipschitz trên G theo Y nếu tồn tại hằng số dương L (gọi là hằng số
Lipschitz) sao cho
k f(x, Y1) − f(x, Y2) k≤ L k Y1 − Y2 k, ∀(x, Y1),(x, Y2) ∈ G.
Hệ quả 1.2.1. Với các ký hiệu trong mục trước, nếu các hàm f(x, Y ) thỏa
mãn điều kiện Lipschitz theo biến Y thì g(x, Y ) cũng thỏa mãn điều kiện Lipschitz theo biến Y.
Định lý 1.2.2.(Định lý tồn tại và duy nhất nghiệm cho phương trình vi
phân cấp cao). Giả sử vectơ - hàm g(x, Y ) trong (1.6) liên tục và thỏa mãn điều
kiện Lipschitz theo Y trên miền
G = {(x, Y ) ∈ R × R
n
|x − x0| ≤ a, k Y − Y0 k≤ b}
khi đó bài toán Cauchy với điều kiện ban đầu (1.8) có một nghiệm duy nhất trên
đoạn I := [x0 − h, x0 + h], với h := min(a, b
M ),
và M := max
(x,Y )∈G
k g(x, Y ) k .
1.3 PHÂN LOẠI NGHIỆM CỦA PHƯƠNG TRÌNH VI PHÂN
Như vậy ở chương này đã đề cập đến những lý thuyết cơ bản về phương trình
vi phân như: khái niệm phương trình vi phân, hệ phương trình vi phân, phương
trình vi phân cấp một, phát biểu bài toán Cauchy đối với phương trình vi phân
cấp một, cấp n, đồng thời phát biểu và chứng minh định lý tồn tại và tính duy
nhất nghiệm của bài toán Cauchy. Qua đó mở rộng định lý cho phương trình vi
phân cấp cao. Đây chính là những cơ sở để xây dựng phương pháp tìm nghiệm
gần đúng cho bài toán Cauchy ở chương hai mà cụ thể là phương pháp Runge
- Kutta.
7
CHƯƠNG 2
PHƯƠNG PHÁP TÌM NGHIỆM GẦN ĐÚNG -
RUNGE - KUTTA
2.1 PHƯƠNG PHÁP TÌM NGHIỆM GẦN ĐÚNG
Phương pháp tìm nghiệm gần đúng: Xuất phát từ điều kiện ban đầu. Phương
pháp Runge - Kutta do hai nhà bác học người Đức là Carl Runge và Wilhelm
Kutta đưa ra và ta luôn giả thiết bài toán đặt ra có nghiệm duy nhất và nghiệm
đó đủ trơn, nghĩa là nó có đạo hàm đến cấp đủ cao.
2.2 PHƯƠNG PHÁP RUNGE - KUTTA - CÔNG THỨC XẤP
XỈ BẬC BỐN RK
Trở lại bài toán (1.7) với x ∈ [a, b]. Cách giải gần đúng (1.7) là tìm các giá
trị gần đúng y(xi), tại các điểm xi = 0, 1, 2, ..., n, trong đó:
a = x0 < x1 < ... < xn = b,
xi = x0 + ih;i = 0, 1, 2..., n − 1,
h =
b − a
n
.
Ta có: y0 = α0, (α0 = const), ta sẽ lần lượt xác định: y1 tại x1, y2 tại x2,
....Từ giá trị gần đúng yi tại xi ta sẽ tính yi+1 tại xi+1.
Để thành lập những công thức Runge - Kutta có độ chính xác cao hơn công
thức Euler, Euler cải tiến ta dùng khai triển Taylor nghiệm y(x) tại xi với nhiều
số hạng hơn. Xét bài toán (1.7), ta xét khai triển Taylor của nghiệm đúng y(x) :
y(x) = y(xi) + x − xi
1! y˙(xi) + (x − xi)
2
2! y¨(xi) + (x − xi)
3
3!
...
y (ci),
với ci ∈ (xi
, x). Thay x = xi+1 = xi + h, ta có:
y(xi+1) = y(xi) + hy˙(xi) + h
2
2
y¨(xi) + h
3
6
...
y (ci), (2.1)