Tải bản đầy đủ (.pdf) (121 trang)

Lược đồ sai phân khác thường giải một số phương trình vi phân

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 (1.4 MB, 121 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA TOÁN - CƠ - TIN HỌC
HOÀNG MẠNH TUẤN
LƯỢC ĐỒ SAI PHÂN KHÁC THƯỜNG GIẢI
MỘT SỐ PHƯƠNG TRÌNH VI PHÂN
LUẬN VĂN THẠC SĨ KHOA HỌC
Hà Nội - 2015
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA TOÁN - CƠ - TIN HỌC
HOÀNG MẠNH TUẤN
LƯỢC ĐỒ SAI PHÂN KHÁC THƯỜNG GIẢI
MỘT SỐ PHƯƠNG TRÌNH VI PHÂN
Chuyên ngành: Toán ứng dụng
Mã số: 60.46.01.12
LUẬN VĂN THẠC SĨ KHOA HỌC
CÁN BỘ HƯỚNG DẪN KHOA HỌC
GS. TS. Đặng Quang Á
Hà Nội - 2015
LỜI CẢM ƠN
Trước khi trình bày nội dung chính của luận văn, em xin bày tỏ lòng biết
ơn sâu sắc tới GS. TS Đặng Quang Á, người đã dành nhiều thời gian, công
sức để hướng dẫn và tận tình chỉ bảo em trong suốt quá trình thực hiện luận
văn.
Em xin phép được gửi lời cảm ơn đến ban lãnh đạo và các thầy cô giáo,
các anh/chị cán bộ trường ĐHKHTN - ĐHQGHN nói chung và khoa Toán
- Cơ - Tin học nói riêng vì đã tạo mọi điều kiện thuận lợi nhất, giúp đỡ em
trong thời gian em học tập, nghiên cứu tại trường.
Em xin cảm ơn các thầy, cô giáo, các anh chị và các bạn trong chuyên
nghành Toán ứng dụng vì những động viên và những ý kiến trao đổi quí báu


đối với bản thân em trong thời gian qua.
Lời cảm ơn sâu sắc và đặc biệt nhất xin được gửi đến gia đình và những
người thân vì những điều tốt đẹp nhất dành cho tôi trong cuộc sống, trong
học tập và nghiên cứu khoa học.
Mặc dù đã có nhiều cố gắng nhưng do thời gian có hạn và năng lực của
bản thân còn nhiều hạn chế, vì thế, bản luận văn khó tránh khỏi những thiếu
sót. Vì vậy, em rất mong nhận được sự góp ý của quý thầy, cô và các bạn.
Hà Nội, ngày 16 tháng 01 năm 2015.
Học viên
Hoàng Mạnh Tuấn
1
Mục lục
LỜI CẢM ƠN 1
Mở đầu 4
1 Lược đồ sai phân khác thường 8
1.1 Một số kiến thức chuẩn bị . . . . . . . . . . . . . . . . . . . 8
1.2 Rời rạc hóa phương trình phân rã tuyến tính . . . . . . . . . 17
1.3 Rời rạc hóa hệ động lực học . . . . . . . . . . . . . . . . . . 23
1.4 Lược đồ sai phân chính xác . . . . . . . . . . . . . . . . . . . 33
1.5 Lược đồ sai phân khác thường . . . . . . . . . . . . . . . . . 40
2 Xây dựng lược đồ sai phân khác thường giải phương trình vi
phân 44
2.1 Xây dựng lược đồ sai phân khác thường dựa trên rời rạc hóa
không địa phương . . . . . . . . . . . . . . . . . . . . . . . . 44
2.1.1 Mở đầu . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.2 Các lược đồ bảo toàn các tính chất đơn điệu . . . . . . 46
2.1.3 Xây dựng một vài lược đồ sai phân khác thường . . . 49
2.1.4 Xây dựng lược đồ sai phân khác thường chính xác cấp
hai . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.2 Lược đồ sai phân khác thường cho phương trình vi phân có

ba điểm bất động . . . . . . . . . . . . . . . . . . . . . . . . 57
2.2.1 Đặt bài toán . . . . . . . . . . . . . . . . . . . . . . . 57
2.2.2 Xây dựng các lược đồ sai phân khác thường . . . . . . 60
2.3 Xây dựng các lược đồ sai phân khác thường bằng cách tái
chuẩn hóa mẫu số . . . . . . . . . . . . . . . . . . . . . . . . 64
2
2.3.1 Kết quả chính . . . . . . . . . . . . . . . . . . . . . . 64
2.3.2 Một số ứng dụng . . . . . . . . . . . . . . . . . . . . 69
3 Xây dựng lược đồ sai phân khác thường giải hệ phương trình
vi phân 72
3.1 Lược đồ sai phân khác thường bảo toàn tính chất ổn định cho
hệ động lực học nhiều chiều . . . . . . . . . . . . . . . . . . . 72
3.1.1 Các kết quả chính . . . . . . . . . . . . . . . . . . . . 73
3.1.2 Thử nghiệm số trong trường hợp hai chiều . . . . . . . 75
3.1.3 Thử nghiệm số trong trường hợp ba chiều . . . . . . . 82
3.2 Xây dựng lược đồ sai phân khác thường chính xác cấp hai . . 90
3.2.1 Xây dựng hệ điều kiện cho lược đồ chính xác cấp hai . 90
3.2.2 Lược đồ sai phân khác thường chính xác cấp hai cho
hệ Lotka - Voltera . . . . . . . . . . . . . . . . . . . . 92
3.2.3 Các thử nghiệm số . . . . . . . . . . . . . . . . . . . . 101
Tài liệu tham khảo 116
3
Mở đầu
Việc nghiên cứu các phương pháp giải gần đúng phương trình vi phân là
một trong những vấn đề quan trọng của Toán học nói chung và Toán học
tính toán nói riêng. Do nhu cầu của thực tiễn và sự phát triển của lý thuyết
toán học, các nhà toán học đã tìm ra rất nhiều những phương pháp giải gần
đúng phương trình vi phân.
Một trong những kỹ thuật truyền thống được sử dụng rộng rãi trong việc
giải gần đúng phương trình vi phân, đặc biệt là các phương trình vi phân đạo

hàm riêng là sử dụng các lược đồ sai phân bình thường (Standard Difference
Scheme). Các lược đồ sai phân bình thường được xây dựng dựa trên việc rời
rạc hóa các đạo hàm xuất hiện trong phương trình vi phân bằng các công
thức sai phân. Tuy nhiên, trong nhiều trường hợp hạn chế của các lược đồ
sai phân bình thường là không bảo toàn được các tính chất của nghiệm của
phương trình vi phân tương ứng. Hiện tượng nghiệm của phương trình sai
phân (thu được từ các lược đồ sai phân) không phản ánh chính xác, hay
chính xác hơn là không bảo toàn được các tính chất của nghiệm của phương
trình vi phân tương ứng được gọi chung là hiện tượng không ổn định số
(Numerical Instabilities, xem [13, 16]).
Chẳng hạn, ta xét hệ phương trình vi phân tuyến tính với hệ số hằng số
x

(t) = −y(t), x(0) = r,
y

(t) = x(t), y(0) = 0.
Trong trường hợp này, ta dễ dàng chỉ ra rằng nghiệm của hệ có tính chất
x
2
(t) + y
2
(t) = r
2
, ∀t,
tức là, quỹ đạo tương ứng với đường tròn tâm O(0, 0), bán kính r
2
. Nếu sử
dụng các lược đồ sai phân bình thường như các lược đồ thu được từ phương
4

pháp Euler hiển, Euler ẩn, hình thang ẩn thì chúng ta thấy rằng: Phương
pháp Euler hiển cho lời giải tương ứng với đường xoắn ốc ra, phương pháp
Euler ẩn cho lời giải tương ứng với đường xoắn ốc vào. Chỉ có phương pháp
hình thang bảo toàn tính chất bất biến của bài toán. Đây là một ví dụ đơn
giản cho hiện tượng bất ổn định số. Các phân tích cũng cho thấy rằng, hiện
tượng không ổn định số cũng xảy ra khi ta sử dụng các kỹ thuật tinh vi hơn
để xây dựng các lược đồ sai phân bình thường, chẳng hạn sử dụng phương
pháp Taylor hoặc phương pháp Runge - Kutta.
Nhìn chung, các lược đồ sai phân bình thường chỉ bảo toàn được các tính
chất nghiệm của phương trình vi phân khi ta sử dụng bước lưới h nhỏ. Tức
là, hiện tượng không ổn định số sẽ xảy ra khi bước lưới h được chọn lớn hơn
giá trị h

nào đó. Thông thường giá trị h

rất nhỏ. Vì thế, việc sử dụng các
lược đồ sai phân bình thường không có lợi thế khi giải các phương trình vi
phân trên đoạn tìm nghiệm lớn, chẳng hạn như đối với các hệ động lực học,
thời gian có thể tiến ra ∞.
Các phân tích cũng chỉ ra rằng, hiện tượng không ổn định số xảy ra khi
phương trình sai phân (rời rạc) không bảo toàn được các tính chất ổn định
tuyến tính cho các điểm bất động hay còn gọi là nghiệm hằng hoặc điểm cân
bằng của phương trình vi phân (liên tục). Chẳng hạn, phương trình sai phân
và phương trình vi phân không có cùng tập hợp điểm bất động. Các phương
pháp Runge - Kutta hoặc phương pháp Taylor thường sinh ra thêm các điểm
bất động giả (phụ thuộc vào bước lưới). Trong trường hợp phương trình sai
phân và phương trình vi phân có cùng tập hợp điểm bất động thì xảy ra
trường hợp có thể y(t) ≡ ¯y là điểm ổn định tuyến tính của phương trình vi
phân nhưng y
k

≡ ¯y lại không phải điểm ổn định tuyến tính của phương trình
sai phân tương ứng.
Tổng quát hơn, hiện tượng bất ổn định số xảy ra khi nghiệm của phương
trình sai phân không thỏa mãn các điều kiện mà nghiệm của phương trình
vi phân thỏa mãn. Các tính chất chúng ta quan tâm ở đây là tính chất đơn
điệu, tính bị chặn, tính dương, tính tuần hoàn và các tính chất bất biến. Nói
chung, khi sử dụng cỡ bước lớn thì các lược đồ sai phân bình thường không
bảo toàn được các tính chất này. Trong các phần trình bày của luận văn,
5
chúng ta sẽ phân tích rõ hơn vấn đề này.
Lược đồ sai phân khác thường được được đề xuất bởi R. E. Mickens vào
năm 1980. Lược đồ sai phân khác thường là lược đồ sai phân được xây dựng
dựa trên một bộ quy tắc xác định, các quy tắc này được đưa ra bởi R. E.
Mickens dựa trên các phân tích hiện tượng không ổn định số xảy ra khi sử
dụng các lược đồ sai phân bình thường. Hai quy tắc quan trọng trong việc
xây dựng các lược đồ sai phân khác thường là
1. Các đạo hàm xuất hiện trong phương trình vi phân nên được rời rạc hóa
bằng công thức phức tạp hơn các công thức rời rạc hóa thông thường,
chẳng hạn, như công thức sai phân tiến, sai phân lùi, sai phân trung
tâm .
2. Các số hạng phi tuyến xuất hiện trong vế phải của phương trình vi phân
nên được rời rạc hóa không địa phương, tức là rời rạc hóa hàm số dựa
trên giá trị của hàm tại một số điểm trên lưới rời rạc thay vì rời rạc hóa
địa phương trong các lược đồ sai phân bình thường.
Đây là sự khác biệt lớn nhất giữa các lược đồ sai phân bình thường và các
lược đồ sai phân khác thường.
Ưu thế của các lược đồ khác thường so với lược đồ bình thường là bảo
toàn tính chất nghiệm của bài toán với mọi cỡ bước h > 0. Tuy nhiên, nhược
điểm của các lược đồ khác thường là khó có thể đưa ra các lược đồ có cấp
chính xác cao như các lược đồ bình thường và thời gian thực hiện tính toán

có thể lâu hơn vì đạo hàm và hàm vế phải được rời rạc hóa phức tạp hơn.
Vì thế, việc sử dụng các lược đồ khác thường có lợi thế khi chúng ta giải các
bài toán trên đoạn tìm nghiệm lớn và cần bảo toàn chính xác các tính chất
nghiệm của bài toán.
Hiện nay, các lược đồ sai phân khác thường được các nhà toán học xây
dựng và sử dụng rộng rãi cho cả phương trình vi phân đạo hàm riêng cũng
như phương trình đạo hàm thường và các bài toán biên. Tuy nhiên, trong
khuôn khổ của luận văn, chúng ta chủ yếu tập trung vào việc xây dựng các
lược đồ sai phân khác thường cho bài toán giá trị ban đầu đối với phương
trình vi phân thường. Nội dung chính của luận văn hệ thống lại các kết quả
6
tiêu biểu của các tác giả nước ngoài trong vòng 20 năm trở lại đây. Cấu trúc
của luận văn bao gồm ba chương.
 Chương 1: Lược đồ sai phân khác thường.
Trong chương này, chúng ta nhắc lại một số kiến thức cơ bản về phương
trình vi phân và phương pháp số giải phương trình vi phân. Trên cơ sở
kết hợp việc phân tích hiện tượng không ổn định số xảy ra khi sử dụng
các lược đồ sai phân bình thường và việc xây dựng các lược đồ sai phân
chính xác (exact scheme) chúng ta đưa ra các quy tắc tổng quát để xây
dựng các lược đồ sai phân khác thường.
 Chương 2: Xây dựng lược đồ sai phân khác thường giải phương trình vi
phân.
Chương này đề cập việc xây dựng các lược đồ sai phân giải một số
phương trình vi phân trong trường hợp một chiều. Các lược đồ được
xây dựng dựa trên cả hai cách rời rạc hóa không địa phương và lựa chọn
cách rời rạc hóa đạo hàm phù hợp.
 Chương 3: Xây dựng lược đồ sai phân khác thường giải hệ phương trình
vi phân.
Chương cuối này, dành cho việc xây dựng các lược đồ sai phân khác
thường bảo toàn các tính chất của hệ động lực học. Các mô hình được

xét đến là mô hình thú - mồi (predator - prey system), mô hình Vắc -
Xin (Vaccination model) và hệ Lotka - Volterra. Trong các phần trình
bày đều có các thử nghiệm số đi kèm để minh họa cho tính hiệu quả
của các lược đồ được xây dựng.
Mặc dù bản thân đã cố gắng hết sức nhưng do thời gian thực hiện có hạn
và năng lực bản thân còn nhiều hạn chế nên trong luận văn chắc chắn không
thể tránh khỏi những hạn chế và sai sót. Em rất mong nhận được những góp
ý và sự chỉ bảo của các thầy cô. Em xin chân thành cảm ơn!
7
Chương 1
Lược đồ sai phân khác thường
1.1 Một số kiến thức chuẩn bị
Trong phần trình bày của luận văn, ta chủ yếu nghiên cứu việc giải gần
đúng bài toán giá trị ban đầu đối với phương trình vi phân cấp một, hay còn
gọi là bài toán Cauchy





Dy =
dy
dt
= f(t, y), t
0
≤ t ≤ T,
y(t
0
) = y
0

, y, f ∈ R
n
,
(1.1)
trong đó hàm y(t) : [t
0
, T ] → R
n
là hàm số cần xác định, giá trị ban đầu
y
0
∈ R
n
và hàm vế phải f : [t
0
, T ] × R
n
→ R
n
cho trước. Ta giả thiết rằng
thời gian ban đầu t
0
là hữu hạn, nhưng thời gian T có thể tiến đến vô cùng
đối với hệ động lực học. Để đơn giản, ta giả sử rằng t
0
= 0.
Trong trường hợp f = f(y) thì phương trình được gọi là dừng (au-
tonomous). Không mất tính tổng quát ta có thể giả thiết một phương trình
là dừng. Vì nếu phương trình không ở dạng dừng thì ta đưa thêm biến phụ
y

n+1
= t và đặt ˆy = (y
1
, y
2
, . . . , y
n+1
). Khi đó phương trình được viết lại
dưới dạng
ˆy

=
ˆ
f(ˆy),
ˆ
f(ˆy) =

f(y), 1

T
. (1.2)
Các kết quả liên quan đến bài toán giá trị ban đầu (1.1) như sự tồn tại
và duy nhất nghiệm, sự phụ thuộc liên tục của nghiệm vào dữ liệu ban đầu
. . . được trình bày trong hầu hết các giáo trình về phương trình vi phân (xem
[3, 9, 10]) nên chúng ta không trình bày lại ở đây. Từ giờ cho tới hết phần
8
trình bày của luận văn, chúng ta luôn giả thiết rằng nghiệm của bài toán
Cauchy (1.1) là duy nhất toàn cục trên [0, T].
Định nghĩa 1.1. Điểm ¯y ∈ R
n

được gọi là điểm bất động (fixed point) hay
điểm cân bằng (equilibrium point) hoặc nghiệm hằng (constant solution) của
phương trình (1.2) nếu f(¯y) = 0.
Định nghĩa 1.2. Giả sử ¯y là một điểm bất động (1.2). Ta nói ¯y là
1. Điểm (vị trí) ổn định (stable) nếu với mọi  > 0, tồn tại δ = δ() > 0
sao cho nếu y
0
∈ B(¯y, δ) thì nghiệm y(t, y
0
) ∈ B(¯y, ) với mọi t ≥ 0.
2. Điểm ổn định tiệm cận (asymptotically stable) nếu y là ổn định và
||y(t, y
0
) − y|| → 0 khi t → ∞ với mọi ||y
0
− y|| đủ nhỏ.
3. Điểm không ổn định nếu điều kiện 1 của định nghĩa không được thỏa
mãn.
Từ định nghĩa trên ta thấy rằng: Nếu ¯y là ổn định thì các lời giải với giá
trị ban đầu đủ gần ¯y cũng sẽ không nằm ngoài hình cầu tâm ¯y với bán kính
. Còn nếu ¯y là ổn định tiệm cận thì nó sẽ hút các lời giải với giá trị ban
đầu gần nó. Tức là các lời giải với giá trị ban đầu gần ¯y sẽ hội tụ về ¯y. Hiển
nhiên, nếu ¯y là ổn định tiệm cận thì nó là ổn định, trong trường hợp ¯y là ổn
định nhưng không ổn định tiệm cận thì ta nói ¯y là ổn định yếu (marginally
stable).
Định nghĩa 1.3. Giả sử rằng f : R
n
→ R
n
là hàm thuộc lớp hàm C

1
, ta ký
hiệu Jacobian của hàm f tại điểm bất động ¯y là
J ≡ Jf(¯y).
Nếu ma trận J có tất cả các giá trị riêng λ
k
đều có phần thực Re(λ
k
) = 0
thì ta gọi ¯y là điểm bất động hyperbolic. Ngược lại, ta gọi ¯y là điểm bất động
không hyperbolic (non - hyperbolic).
Giả sử f là hàm số khả vi liên tục với ¯y là điểm bất động hyperbolic và
y(t) là một nghiệm của (1.2) (với điều kiện ban đầu y
0
nào đó). Ta ký hiệu
(t) = y(t) − y là thay đổi (nhiễu) của nghiệm y(t) xung quanh điểm bất
9
động hyperbolic ¯y. Sử dụng khai triển Taylor, bỏ qua thành phần bậc hai
trở đi ta có


= y

(t) = f(y) = f(¯y + ) ≈ f(¯y) + Jf(¯y) = J.
Phương trình


= J, (1.3)
được gọi là phương trình tuyến tính hóa của phương trình nhiễu xung quanh
điểm ổn định hyperbolic ¯y.

Định lý 1.1. Giả sử f là hàm số khả vi liên tục và ¯y là một điểm bất động
hyperbolic. Khi đó ¯y là ổn định tiệm cận khi và chỉ khi đối với các trạng thái
ban đầu 
0
= y
0
− y mà ||
0
|| đủ nhỏ thì nghiệm (t) = 
0
e
tJ
của (1.3) thỏa
mãn
lim
t→∞
(t) = 0.
Điều này tương đương với
Re(λ) < 0, ∀λ ∈ σ(J),
trong đó σ(J) là tập hợp các giá trị riêng của ma trận J.
Ngược lại, điểm bất động y là không ổn định khi và chỉ khi tồn tại λ ∈ σ(J)
sao cho Re(λ) > 0 hoặc lim
t→∞
(t) = ∞.
Chứng minh. Xem [30].
Định lý không áp dụng được trong trường hợp ¯y không phải điểm bất
động hyperbolic. Trong trường hợp Re(λ) < 0, ∀λ ∈ σ(J), ta còn gọi điểm ¯y
là điểm ổn định tuyến tính (linearly stable). Điều này tương đương sự kiện
phương trình tuyến tính 


= J là ổn định.
Ví dụ 1.1. Xét hệ động lực xác định bởi phương trình Logistic
y

= λy(1 −y), y(0) = y
0
. (1.4)
Phương trình này có nghiệm chính xác
y(t) =
y
0
(1 − y
0
)e
−λt
+ y
0
. (1.5)
Phương trình (1.4) có hai điểm bất động là y = 0, ˆy = 1. Sử dụng Định lý
1.1, ta nhận được.
10
1. ¯y = 0 là ổn định tiệm cận nếu λ < 0 và không ổn định nếu λ > 0.
2. ˆy = 1 là không ổn định nếu λ < 0 và ổn định tiệm cận nếu λ > 0.
3. λ = 0 thì mọi hằng số đều là ổn định nhưng không ổn định hyperbolic.
Trong trường hợp λ < 0, tất cả các nghiệm của (1.4) với y
0
< 1 đều hội tụ
đơn điệu về ¯y = 0. Tất cả các nghiệm với y
0
> 1 dẫn đến các quỹ đạo tăng

trưởng không bị chặn trong thời gian hữu hạn. Tức là, các nghiệm bùng nổ
(blow - up solution). Thời gian bùng nổ là
T (y
0
; λ) = −
1
λ
ln
y
0
y
0
− 1
= ln(
y
0
− 1
y
0
)
1
λ
> 0. (1.6)
Nếu λ > 0, tất cả các nghiệm với y
0
> 0 đều hội tụ đơn điệu về ˆy = 1. Tất
cả các nghiệm với y
0
< 0 dẫn đến các quỹ đạo tiến về −∞ trong khoảng thời
gian hữu hạn T, trong đó

T (y
0
; λ) =
1
λ
ln
y
0
− 1
y
0
= ln(
y
0
− 1
y
0
)
1
λ
> 0. (1.7)
Hình vẽ 1.1 - 1.4 biểu diễn các quỹ đạo của phương trình Logistic.
Tiếp theo, ta trình bày lại một số khái niệm và kết quả liên quan tới các
phương pháp số giải phương trình vi phân. Chúng ta xét bài toán giá trị ban
đầu (1.1)



y


= f(t, y), 0 ≤ t ≤ T,
y(0) = y
0
, y, f ∈ R
n
,
với giả thiết hàm f đủ trơn có các đạo hàm riêng bị chặn sao cho lời giải của
bài toán là tồn tại duy nhất và lời giải có đạo hàm bị chặn tới cấp cần thiết.
Ta lấy một phân hoạch không nhất thiết đều của đoạn [0, T] (rời rạc hóa
trục thời gian)
π = {0 = t
0
< t
1
< t
2
< . . . < t
N
= T },
h
n
= t
n
− t
n−1
được gọi là bước lưới hay cỡ bước (stepsize).
Ta cần tìm các xấp xỉ y
n
≈ y(t
n

) tại các nút lưới t
0
, . . . , t
N
. Ta gọi các giá trị
{y
n
}
n=N
n=0
là nghiệm số xấp xỉ, hay ngắn gọn là nghiệm số của phương pháp
trên lưới π.
11
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9


Hình 1.1: λ < 0, 0 < y(0) < 1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
−200
0

200
400
600
800
1000
1200
1400


T(u
0
, λ)
Hình 1.2: λ < 0, y(0) > 1
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2


Hình 1.3: λ > 0, y(0) > 1
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
−200

−100
0
100
200
300
400
500
600
700
800


Hình 1.4: λ > 0, y(0) < 0
12
Ta xét lược đồ số một bước ở dạng
D
h
(y
k
) = F
h
(f; y
k
), (1.8)
trong đó D
h

dy
dt
là phần rời rạc hóa đạo hàm trên lưới. Còn F

h
là phần
rời rạc hóa hàm vế phải. Tương tự như đối với phương trình vi phân, ta có
kết quả phát biểu cho phương trình sai phân (1.8).
Định lý 1.2. Giả sử ¯y là một điểm bất động của lược đồ (1.8). Ký hiệu J
h
là Jacobian của hàm F tại ¯y. Khi đó, nhiễu 
k
= y
k
−¯y xung quanh điểm bất
động y được xấp xỉ bằng nghiệm phương trình tuyến tính hóa (sử dụng khai
triển Taylor)
D
h

k
= J
h

k
. (1.9)
Điểm bất động y được gọi là ổn định tuyến tính khi và chỉ khi nghiệm {
k
}
(với ||
0
|| đủ nhỏ) của (1.9) thỏa mãn ||
k
|| → 0 khi k → ∞. Điều này tương

đương với điều kiện mọi giá trị riêng λ
i
của J
h
đều có |λ
i
| < 1.
Chứng minh. Xem [30].
Trong rất nhiều các giáo trình về phương trình sai phân, Định lý 1.2 được
lấy làm định nghĩa điểm bất động ổn định tuyến tính cho phương trình sai
phân.
Các phương pháp sai phân bình thường chủ yếu được xây dựng dựa trên
việc rời rạc hóa đạo hàm bằng các công thức sai phân hữu hạn. Chẳng hạn,
công thức sai phân tiến, sai phân lùi, sai phân trung tâm
y

(t
n
) ≈
y
n+1
− y
n
h
, y

(t
n
) ≈
y

n
− y
n−1
h
, y

(t
n
) ≈
y
n+1
− y
n−1
2h
.
Tương ứng ta nhận được: Công thức Euler hiển
y
n+1
= y
n
+ hf(t
n
, y
n
). (1.10)
Công thức Euler ẩn
y
n+1
= y
n

+ hf(t
n+1
, y
n+1
). (1.11)
Công thức hình thang ẩn
y
n+1
= y
n
+
h
n
2

f(t
n
, y
n
) + f(t
n+1
, y
n+1
)

. (1.12)
13
Các công thức Euler hiển, Euler ẩn, hình thang ẩn là trường hợp riêng của
công thức θ có dạng
y

n+1
= y
n
+
h
n
2

θf(t
n
, y
n
) + (1 −θ)f(t
n+1
, y
n+1
)

.
Đây là trường hợp riêng của phương pháp Runge - Kutta tổng quát. Phương
pháp Runge - Kutta và phương pháp Taylor là các phương pháp tiêu biểu
cho các phương pháp sai phân bình thường giải phương trình vi phân.
Chúng ta đã biết rằng các phương pháp trên đều là tương thích, hội tụ
(xem [3, 9, 10]). Điều đó có nghĩa là khi bước lưới h dần về 0 thì sai số toàn
cục |y(t
n
) −y
n
| cũng hội tụ về 0. Tuy nhiên, nếu chúng ta chỉ quan tâm đến
sự tương thích, tính hội tụ của phương pháp thôi thì chưa đủ. Trong nhiều

trường hợp, các phương pháp cần bảo toàn được các tính chất của bài toán.
Chẳng hạn, tính dương, tính bị chặn, tính đơn điệu, tính tuần hoàn, tính
chất ổn định của các điểm bất động, các tính chất bất biến trong các phương
trình mô tả các hiện tượng Vật lý, Sinh học . . .Để minh họa cho điều này,
chúng ta xét ví dụ đơn giản sau đây.
Ví dụ 1.2. Trong mặt phẳng tọa độ Oxy, chúng ta xét đường tròn tâm
O(0, 0), bán kính r > 0 xác định bởi
x
2
+ y
2
= r
2
.
Tham số hóa của phương trình đường tròn trong tọa độ cực có dạng
x = r cos ϕ, y = r sin ϕ, ϕ ∈ [0, 2π].
Từ đó, cho mỗi giá trị của của ϕ ta có thể tính được tọa độ tương ứng của
điểm (x, y) trên đường tròn. Tuy nhiên, cách tính toán này là tốn kém. Hơn
nữa, trừ một số giá trị đặc biệt của ϕ thì giá trị hàm lượng giác chỉ được xác
định gần đúng. Một cách đơn giản hơn ta có thể làm như sau:
Ta coi các điểm (x, y) thuộc được tròn là nghiệm (phụ thuộc đối số ϕ) của
bài toán giá trị ban đầu



x

= −y, x(0) = r,
y


= x, y(0) = 0,
14
ta sử dụng các phương pháp giải gần đúng bài toán trên lưới π = {0 = ϕ
1
<
ϕ
2
< . . . < ϕ
N
= 2π}. Khi đó dãy {x
k
, y
k
}
k=N
k=1
là tọa độ gần đúng của các
điểm trên đường tròn. Ta chia bước lưới đủ mịn để thu được lời giải có độ
chính xác cần thiết. Ta lần lượt sử dụng các phương pháp Euler hiển, Euler
ẩn và hình thang ẩn để giải bài toán. Ta thấy rằng
1. Nghiệm số thu được từ phương pháp Euler hiển có dạng hình xoắn ốc ra.
2. Nghiệm số thu được từ phương pháp Euler ẩn có dạng hình xoắn ốc vào.
3. Nghiệm số thu được từ phương pháp hình thang có dạng hình tròn.
a) Phương pháp Euler hiển
Áp dụng phương pháp Euler hiển giải bài toán, ta thu được



x
n+1

= x
n
− hy
n
,
y
n+1
= y
n
+ hx
n
.
Đặt r
k
=

x
2
k
+ y
2
k
, k ≥ 0, ta có
r
n+1
=

(1 + h
2
)(x

2
n
+ y
2
n
) = r
n

1 + h
2
> r
n
, ∀h > 0, n ≥ 0,
như vậy lời giải số của phương pháp Euler hiển có dạng hình xoắn ốc ra.
b) Phương pháp Euler ẩn
Áp dụng phương pháp Euler ẩn giải bài toán, ta thu được nghiệm số



x
n+1
= x
n
− hy
n+1
,
y
n+1
= y
n

+ hx
n+1
.
Phương trình trên là phương trình tuyến tính đối với x
n+1
và y
n+1
. Ta dễ
dàng đưa công thức xác định nghiệm số từ dạng ẩn về dạng hiển. Điều này
tương đương với việc áp dụng phương pháp lặp Newton để tìm các nấc Y
i
của
phương pháp Runge - Kutta nhưng chỉ lặp đúng một lần. Cụ thể, ta có









x
n+1
=
x
n
− hy
n
1 + h

2
,
y
n+1
=
hx
n
+ y
n
1 + h
2
.
15
Đặt r
k
=

x
2
k
+ y
2
k
, k ≥ 0, ta có
r
n+1
=

1
1 + h

2
(x
2
n
+ y
2
n
) = r
n

1
1 + h
2
< r
n
, ∀h > 0, n ≥ 0.
Như vậy lời giải số của phương pháp Euler hiển có dạng hình xoắn ốc vào.
c) Phương pháp hình thang ẩn
Áp dụng phương pháp hình thang ẩn ta thu được lời giải số









x
n+1

= x
n

h(y
n
+ y
n+1
)
2
,
y
n+1
= y
n
+
h(x
n
+ x
n+1
)
2
,
hay ta có dạng hiển tương ứng












x
n+1
=
(4 − h
2
)x
n
− 4hy
n
4 + h
2
,
y
n+1
=
4hx
n
+ (4 − h
2
)y
n
4 + h
2
.
Đặt r
k

=

x
2
k
+ y
2
k
, k ≥ 0, ta có
r
n+1
=

(x
2
n
+ y
2
n
) = r
n
, ∀h > 0, n ≥ 0.
Như vậy, lời giải thu được từ phương pháp hình thang ẩn có dạng hình tròn.
Các phương pháp ta đã xét đều hội tụ. Tức là có sai số toàn cục e
n
(h) =
O(h
p
n
) với p = 1, 2. Ta có thể thu được sai số nhỏ tùy ý bằng cách chia bước

lưới càng nhỏ càng tốt. Khi bước lưới dần về 0 thì sai số toàn cục cũng hội tụ
về 0. Tuy nhiên, dù bước lưới có nhỏ bao nhiêu thì phương pháp Euler cũng
không bảo toàn được tính chất của bài toán. Tính chất bất biến ở đây là tính
chất bảo toàn khoảng cách tới gốc tọa độ. Chỉ có phương pháp hình thang là
bảo toàn được tính chất bất biến của bài toán.
Nhìn chung, trong nhiều trường hợp lược đồ sai phân bình thường không
bảo toàn được các tính chất nghiệm của phương trình vi phân. Hiện tượng
này được gọi chung là hiện tượng không ổn định số (Numerical Instabilities).
16
Trong mục tiếp theo, chúng ta sẽ phân tích rõ hơn hiện tượng không ổn định
số trong tính toán.
Mô hình rời rạc hóa cho phương trình vi phân được gọi là xảy ra hiện
tượng không ổn định số nếu tồn tại những nghiệm của phương trình sai phân
(thu được từ mô hình rời rạc hóa) không tương ứng với bất kỳ nghiệm nào
của phương trình vi phân. Hiện tượng không ổn định số cho thấy nghiệm của
phương trình rời rạc không bảo toàn được các tính chất nghiệm của phương
trình vi phân mà ta quan tâm.Để minh họa cho hiện tượng không ổn định
số. Ta xét phương trình phân rã tuyến tính và phương trình Logistic trong
phần sau đây.
1.2 Rời rạc hóa phương trình phân rã tuyến tính
Để minh họa cho hiện tượng không ổn định số xảy ra khi sử dụng các
lược đồ sai phân bình thường, ta xét phương trình phân rã tuyến tính (decay
equation) xác định bởi
dy
dt
= −λy, y(0) = y
0
, λ > 0, (1.13)
trong đó λ là một tham số dương và y
0

là điều kiện ban đầu cho trước. Với
mọi giá trị ban đầu y
0
cho trước, phương trình có nghiệm duy nhất
y(t) = y
0
e
−λt
, t ≥ 0.
Mọi nghiệm của phương trình (1.13) (ứng với các điều kiện ban đầu khác
nhau) đều đơn điệu giảm về 0. Khi λ có giá trị càng lớn thì nghiệm tương
ứng giảm dần về 0 càng nhanh. Trong trường hợp λ có giá trị lớn thì bài toán
được gọi là bài toán cương (stiff problem). Hình vẽ 1.5 biểu diễn nghiệm của
phương trình (1.13) trong một vài trường hợp cụ thể.
Sử dụng công thức Euler hiển rời rạc hóa (1.13), ta thu được phương trình
sai phân
y
k+1
− y
k
h
= −λy
k
, (1.14)
trong đó h = ∆t, t
k
= hk và y
k
là xấp xỉ cho y(t
k

). Ta viết lại phương trình
(1.14) dưới dạng
17
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.2
0.4
0.6
0.8
1
1.2
1.4


u
0
= 1, λ = −100
u
0
= 0.9, λ = −10
u
0
= 1.1, λ = −5
Hình 1.5: Nghiệm của phương trình (1.13) trong một vài trường hợp
y
k+1
= (1 − h
λ
)y
k

, h
λ
= λh. (1.15)
Phương trình (1.15) là phương trình sai phân tuyến tính cấp một với hệ
số hằng số. Ta dễ dàng tìm được nghiệm của (1.15)
y
k+1
= y
0
(1 − h
λ
)
k
. (1.16)
Từ (1.16), ta có các kết luận sau đây (Hình (1.6) - (1.9)).
1. Nếu 0 < h
λ
< 1 thì nghiệm y
k
đơn điệu dần về 0.
2. Nếu h
λ
= 1 thì y
k
= 0 với mọi k ≥ 1.
3. Nếu 1 < h
λ
< 2 thì y
k
dao động (xung quanh nghiệm chính xác) với

biên độ giảm dần về 0.
4. Nếu h
λ
= 2 thì y
k
dao động (xung quanh nghiệm chính xác) với biên
độ không đổi có độ lớn bằng 2.
5. Nếu h
λ
> 2 thì y
k
dao động (xung quanh nghiệm chính xác) với biên
độ tăng dần.
18
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1


Hình 1.6: λ = 20, h
λ

= 0.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1


y
k
y(t
k
)
Hình 1.7: λ = 20, h
λ
= 1.67
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
−1
−0.8
−0.6
−0.4
−0.2
0

0.2
0.4
0.6
0.8
1


u
k
u(t
k
)
Hình 1.8: λ = 20, h
λ
= 2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
−8
−6
−4
−2
0
2
4
6


u
k
u(t
k

)
Hình 1.9: λ = 20, h
λ
= 3.34
19
Như vậy, chỉ có duy nhất trường hợp 1 cho ta nghiệm gần đúng có tính
chất tương tự như nghiệm chính xác. Tất cả các trường hợp còn lại với h
λ
≥ 1
gây ra hiện tượng không ổn định số.
Chúng ta có thể giải thích hiện tượng này như sau: Nhận thấy (1.13) có
duy nhất một điểm bất động là ¯y(t) = 0. Do λ > 0 nên đây cũng là điểm
ổn định tuyến tính. Phương trình rời rạc (1.17) cũng có duy nhất điểm bất
động là ¯y
n
= 0. Tuy nhiên điểm bất động này là ổn định tuyến tính khi và
chỉ khi 0 < h
λ
< 1. Trong các trường hợp khác nó không phải điểm bất động
ổn định tuyến tính nên dáng điệu của nghiệm rời rạc khác với dáng điệu của
nghiệm chính xác.
Như vậy, trong trường hợp này, hiện tượng bất ổn định số xảy ra do lược
đồ sai phân không bảo toàn được tính chất ổn định cho điểm bất động của
phương trình vi phân. Nhìn chung, đây cũng là nhược điểm chung của các
lược đồ sai phân bình thường. Việc không bảo toàn tính chất điểm bất động
của phương trình vi phân thường xảy ra trong hai khả năng sau.
1. Phương trình sai phân (tương ứng với lược đồ sai phân) và phương trình
vi phân không có cùng tập hợp điểm bất động (phương pháp Runge -
Kutta và phương pháp Taylor thường sinh ra thêm các điểm bất động
giả (phụ thuộc vào bước lưới).

2. Điểm bất động y(t) ≡ ¯y là điểm ổn định tuyến tính của phương trình vi
phân nhưng y
k
≡ ¯y lại không phải điểm ổn định tuyến tính của phương
trình sai phân và ngược lại.
Hiện tượng bất ổn định số cũng xảy ra ngay cả khi chúng ta sử dụng những
kỹ thuật tinh vi hơn để xây dựng lược đồ sai phân bình thường. Chẳng hạn,
phương pháp Taylor cấp cao.
Ta xét bài toán giá trị ban đầu
dy
dt
= f(y, t), y(0) = y
0
. (1.17)
Sử dụng khai triển Taylor, ta có
y
k+1
≈ y(t
k+1
) = y(t
k
+ h) = y(t
k
) + h
dy
dt



t=t

k
+
h
2
2
d
2
y
dt
2



t=t
k
+ O(h
3
). (1.18)
20
Để có (1.18) ta cần giả thiết rằng nghiệm chính xác y(t) có đạo hàm cấp 3
tồn tại và bị chặn. Từ (1.18) ta thu được
y
k+1
= y
k
+ hf(y
k
, t
k
) +

h
2
2
[f
1
(y
k
, t
k
)f(y
k
, t
k
) + f
2
(y
k
, t
k
)] + O(h
3
), (1.19)
trong đó
f
1
(x, y) =
∂f
∂x
, f
2

(x, y) =
∂f
∂y
. (1.20)
Bây giờ ta lấy hàm f cụ thể là f = y
2
(1 − y). Từ (1.19) ta thu được
y
k+1
= y
k
+ hy
k
2
(1 − y
k
) +
h
2
2
y
k
3
(1 − y
k
)(2 − y
k
). (1.21)
Như vậy khi ta rời rạc hóa phương trình
dy

dt
= y
2
(1 − y), (1.22)
bởi công thức (1.19) ta thu được phương trình sai phân (1.21). Nghiệm chính
xác của (1.22) xác định bởi
ln
|y|
|1 − y|
+
1
y
= t + C,
trong đó C là hằng số xác định được từ điều kiện đầu y(0) = y
0
. Nghiệm
chính xác của (1.22) được minh họa trong Hình 1.10.
Ta thấy rằng, phương trình vi phân (1.22) có 3 điểm cố định là
¯y
(1)
= ¯y
(2)
= 0, ¯y
(3)
= 1.
Nếu giá trị ban đầu y
0
> 0 thì mọi nghiệm đều đơn điệu hội tụ đến điểm bất
động ¯y
(3)

= 1. Trường hợp giá trị ban đầu y
0
< 0 thì mọi nghiệm đều đơn
điệu tăng đến điểm bất động ¯y
(1)
= ¯y
(2)
= 0. Nghiệm của phương trình sai
phân tương ứng lại không có tính chất này. Cụ thể, Hình vẽ 1.11 biểu diễn
nghiệm số thu được từ phương pháp Taylor. Khi ta lấy bước h không quá
nhỏ thì lời giải số không bảo toàn được tính chất của lời giải chính xác.
Trong trường hợp này, ngoài ba điểm bất động ¯y
(1)
= ¯y
(2)
= 0, ¯y
(3)
= 1
phương trình sai phân thu được từ phương pháp Taylor (1.21) còn có thêm
hai điểm bất động (giả) là
¯y
(4,5)
=
1
3

1 ±

1 +
6

h

.
21
0 1 2 3 4 5 6 7 8 9
−1
−0.5
0
0.5
1
1.5
2


Hình 1.10: Nghiệm của phương trình (1.22)
0 1 2 3 4 5 6 7 8 9 10
−0.5
0
0.5
1
1.5
2
Hình 1.11: Phương pháp Taylor h = 0.57
Hiện tượng này cũng xảy ra khi ta sử dụng phương pháp Euler (RK1) và
phương pháp hình thang (RK2) Hình vẽ 1.12 và 1.13 thể hiện điều này.
22
0 1 2 3 4 5 6 7 8
−1
−0.5
0

0.5
1
1.5
2
Hình 1.12: Pp Euler hiển, h ≈ 1.33
0 1 2 3 4 5 6 7 8 9 10
−1
−0.5
0
0.5
1
1.5
2
Hình 1.13: Pp hình thang, h ≈ 1.4
1.3 Rời rạc hóa hệ động lực học
Chúng ta xét phương trình Logistic
y

= λy(1 −y), y(0) = y
0
. (1.23)
Phương trình (1.23) có hai điểm bất động là y
1
= 0, y
2
= 1. Trong đó, y
1
= 0
không ổn định tuyến tính còn y
2

= 1 là ổn định tuyến tính. Ngoài ra, nghiệm
chính xác của (1.23) xác định bởi
y(t) =
y
0
y
0
+ (1 − y
0
)e
−t
. (1.24)
Ta thấy rằng,
1. Nếu giá trị ban đầu y
0
> 0 thì tất cả các nghiệm của (1.23) đều hội tụ
đơn điệu về trạng thái ổn định y
2
= 1 (xem Hình 1.14).
2. Nếu giá trị ban đầu y
0
< 1 thì trong khoảng thời gian từ t
0
= 0 đến
t

= ln
1+|y
0
|

|y
0
|
mọi nghiệm đều giảm tới −∞, sau đó từ khoảng thời gian
23

×