Download as pdf or txt
Download as pdf or txt
You are on page 1of 98

Machine Translated by Google

CHƯƠNG

5 bài toán về giá trị ban đầu

cho phương trình vi phân thông thường

Giới thiệu

Chuyển động của một con lắc dao động theo các giả định đơn giản hóa nhất định được mô tả bằng
phương trình vi phân bậc hai

d2θ
+ g sin θ = 0,
dt2 L

Trong đó L là chiều dài của con lắc, g ≈ 32,17 ft/s2 là hằng số hấp dẫn của trái đất, và θ là
góc giữa con lắc với phương thẳng đứng. Ngoài ra, nếu chúng ta xác định vị trí của con lắc khi
chuyển động bắt đầu, θ (t0) = θ0, và vận tốc của nó tại điểm đó, θ (t0) = θ Với các giá trị nhỏ
của θ, phép tính 0, chúng ta có cái gọi là bài toán giá trị ban đầu.
gần đúng θ ≈ sin θ có thể được sử dụng để đơn giản hóa bài toán này thành bài toán giá trị
ban đầu tuyến tính

d2θ g +
θ = 0, θ (t0) = θ0, θ (t0) = θ 0.
dt2 L

Vấn đề này có thể được giải quyết bằng kỹ thuật phương trình vi phân tiêu chuẩn. Đối với các giá
trị lớn hơn của θ, giả định rằng θ = sin θ là không hợp lý nên phải sử dụng các phương pháp gần
đúng. Bài toán thuộc loại này được xem xét trong Bài tập 8 của Phần 5.9.
Bất kỳ sách giáo khoa nào về phương trình vi phân thông thường đều trình bày chi tiết một số phương

pháp để tìm giải pháp rõ ràng cho các bài toán có giá trị ban đầu bậc nhất. Tuy nhiên, trên thực tế, rất ít

vấn đề bắt nguồn từ việc nghiên cứu các hiện tượng vật lý có thể được giải quyết một cách chính xác. 259

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

260 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Phần đầu tiên của chương này đề cập đến việc xấp xỉ nghiệm y(t) của một bài toán có dạng

dy
= f (t, y), với a ≤ t ≤ b, dt

tuân theo điều kiện ban đầu y(a) = α. Ở phần sau của chương, chúng ta sẽ đề cập đến việc mở rộng các phương

pháp này sang hệ phương trình vi phân bậc một dưới dạng

dy1
= f1(t, y1, y2, ... , yn),
dt

dy2
= f2(t, y1, y2, ... , yn),
dt

.
.
.

dyn
= fn(t, y1, y2, ... , yn),
dt

với a t ∙ b, tùy theo điều kiện ban đầu

y1(a) = α1, y2(a) = α2, ... , yn(a) = αn.

Chúng tôi cũng kiểm tra mối quan hệ của một hệ thống thuộc loại này với bài toán giá trị ban đầu bậc n

tổng quát của dạng

y(n) = f (t, y, y , y, ... , y(n 1) ),

với a t ∙ b, tùy theo điều kiện ban đầu

y(a) = α1, y (a) = α2, ... , yn 1 (a) = αn.

5.1 Lý thuyết cơ bản của bài toán giá trị ban đầu

Phương trình vi phân được sử dụng để mô hình hóa các vấn đề trong khoa học và kỹ thuật liên quan đến sự

thay đổi của một số biến so với một biến khác. Hầu hết các bài toán này yêu cầu giải một bài toán có giá

trị ban đầu, tức là giải một phương trình vi phân thỏa mãn một điều kiện ban đầu cho trước.

Trong các tình huống thực tế thông thường, phương trình vi phân mô hình hóa bài toán quá phức tạp để

có thể giải chính xác và một trong hai cách tiếp cận được áp dụng để tính gần đúng lời giải.

Cách tiếp cận đầu tiên là sửa đổi bài toán bằng cách đơn giản hóa phương trình vi phân thành phương trình có thể

giải chính xác và sau đó sử dụng nghiệm của phương trình đơn giản hóa để tính gần đúng nghiệm của bài toán ban

đầu. Cách tiếp cận khác mà chúng ta sẽ xem xét trong chương này, sử dụng các phương pháp để xấp xỉ nghiệm của bài

toán ban đầu. Đây là cách tiếp cận được thực hiện phổ biến nhất vì các phương pháp gần đúng cho kết quả chính xác

hơn và thông tin lỗi thực tế hơn.

Các phương pháp mà chúng ta xem xét trong chương này không tạo ra phép tính gần đúng liên tục cho

nghiệm của bài toán giá trị ban đầu. Đúng hơn, các phép tính gần đúng được tìm thấy tại một số điểm nhất

định và thường cách đều nhau. Một số phương pháp nội suy, thường là Her-mite, được sử dụng nếu cần các
giá trị trung gian.

Chúng ta cần một số định nghĩa và kết quả từ lý thuyết phương trình vi phân thường

trước khi xem xét các phương pháp xấp xỉ nghiệm của các bài toán có giá trị ban đầu.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.1 Lý thuyết cơ bản của bài toán giá trị ban đầu 261

Định nghĩa 5.1 Hàm f (t, y) được gọi là thỏa mãn điều kiện Lipschitz với biến y trên tập D R2
nếu hằng số L > 0 tồn tại với

|f (t, y1) f (t, y2,)| ≤ L| y1 y2|,

bất cứ khi nào (t, y1) và (t, y2) thuộc D. Hằng số L được gọi là hằng số Lipschitz cho f .

Ví dụ 1 Chứng minh rằng f (t, y) = t| y| thỏa mãn điều kiện Lipschitz trên đoạn D = {(t, y) | 1 t 2 và 3 y

4}.

Lời giải Với mỗi cặp điểm (t, y1) và (t, y2) thuộc D ta có

|f (t, y1) f (t, y2)|=|t| y1| t| y2=|t| y1| | y2 2| y1 y2|.

Do đó f thỏa mãn điều kiện Lipschitz trên D trong biến y với hằng số Lipschitz 2. Giá trị nhỏ nhất có

thể có của hằng số Lipschitz cho bài toán này là L = 2, vì, chẳng hạn,

|f(2, 1) f(2, 0)|=|2 0| = 2|1 0|.

Định nghĩa 5.2 Tập D R2 được gọi là lồi nếu (t1, y1) và (t2, y2) thuộc D thì ((1 λ)t1 + λt2,(1 λ)y1 + λy2) cũng

thuộc về D với mọi λ trong [0, 1].

Về mặt hình học, Định nghĩa 5.2 phát biểu rằng một tập hợp là lồi với điều kiện là bất cứ khi

nào hai điểm thuộc về tập hợp đó thì toàn bộ đoạn thẳng giữa các điểm cũng thuộc về tập hợp đó. (Xem

Hình 5.1.) Các tập hợp chúng ta xem xét trong chương này thường có dạng D = {(t, y) | a ≤ t ≤ b và ∞

< y < ∞} đối với một số hằng số a và b. Dễ dàng kiểm chứng (xem Bài tập 7) rằng các tập hợp này là lồi.

Hình 5.1

(t 2, y 2)

(t1, y1)
(t 2, y 2)

(t1, y1)

lồi Không lồi

Định lý 5.3 Giả sử f (t, y) được xác định trên tập lồi D R2. Nếu hằng số L > 0 tồn tại với

Rudolf Lipschitz (1832–1903) f (t, y) ≤ L, với mọi (t, y) D, (5.1)


làm việc trong nhiều ngành y

toán học, bao gồm lý thuyết


thì f thỏa mãn điều kiện Lipschitz trên D trong biến y với hằng số Lipschitz L.
số, chuỗi Fourier, phương trình

vi phân, cơ học phân tích và

lý thuyết thế năng. Ông được Chứng minh Định lý 5.3 được thảo luận trong Bài tập 6; nó tương tự như chứng minh kết quả tương

biết đến nhiều nhất nhờ sự khái ứng cho hàm một biến đã trình bày ở Bài tập 27 Mục 1.1.

quát hóa tác phẩm của Như định lý tiếp theo sẽ chỉ ra, điều quan trọng nhất là xác định xem hàm liên quan đến bài toán
Augustin-Louis Cauchy giá trị ban đầu có thỏa mãn điều kiện Lipschitz trong lần thứ hai của nó hay không.
(1789–1857) và Guiseppe Peano (1856–1932).

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

262 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

biến và điều kiện (5.1) thường dễ áp dụng hơn định nghĩa. Tuy nhiên, chúng ta nên lưu ý rằng Định
lý 5.3 chỉ đưa ra các điều kiện đủ để điều kiện Lipschitz được thỏa mãn. Ví dụ, hàm số trong Ví dụ
1 thỏa mãn điều kiện Lipschitz, nhưng đạo hàm riêng theo y không tồn tại khi y = 0.

Định lý sau đây là một phiên bản của sự tồn tại cơ bản và tính duy nhất của định lý cho các
phương trình vi phân thông thường bậc nhất. Mặc dù định lý có thể được chứng minh với giả thuyết
được rút gọn phần nào, nhưng dạng định lý này là đủ cho mục đích của chúng ta. (Chứng minh định
lý, ở dạng gần đúng này, có thể tìm thấy trong [BiR], trang 142–155.)

Định lý 5.4 Giả sử D = {(t, y) | a ∞ < y < ∞} và f (t, y) liên tục trên D. Nếu f thỏa mãn điều kiện Lipschitz trên D
trong biến y thì bài toán giá trị ban đầu

y (t) = f (t, y), a ≤ t ≤ b, y(a) = α,

có nghiệm duy nhất y(t) với a t ∙ b.

Ví dụ 2 Sử dụng Định lý 5.4 để chứng tỏ rằng có một nghiệm duy nhất cho bài toán giá trị ban đầu

y = 1 + t sin(ty), 0 ≤ t 2, y(0) = 0.

Giải pháp Giữ t không đổi và áp dụng Định lý giá trị trung bình cho hàm

f (t, y) = 1 + t sin(ty),

ta thấy rằng khi y1 < y2 thì tồn tại một số ξ trong (y1, y2) với

f (t, y2) f (t, y1) 2


= cos(ξt ).
f (t, ξ ) = t
y2 y1 y

Như vậy

2
|f (t, y2) f (t, y1)|=| y2 y1||t cos(ξt )| 4 |y2 y1|,

và f thỏa mãn điều kiện Lipschitz trong biến y với hằng số Lipschitz L = 4.
Ngoài ra, f (t, y) là liên tục khi 0 ∞ < y < ∞, do đó Định lý 5.4 ngụ ý rằng tồn tại một nghiệm
duy nhất cho bài toán giá trị ban đầu này.
Nếu bạn đã hoàn thành khóa học về phương trình vi phân, bạn có thể cố gắng tìm giải pháp chính
xác cho vấn đề này.

Vấn đề được đặt ra tốt

Bây giờ, ở một mức độ nào đó, chúng ta đã giải quyết được câu hỏi khi nào các bài toán giá trị ban
đầu có nghiệm duy nhất, chúng ta có thể chuyển sang vấn đề quan trọng thứ hai khi tính gần đúng lời
giải của bài toán giá trị ban đầu. Các bài toán có giá trị ban đầu thu được bằng cách quan sát các
hiện tượng vật lý thường chỉ gần đúng với tình huống thực tế, vì vậy chúng ta cần biết liệu những
thay đổi nhỏ trong phát biểu của bài toán có gây ra những thay đổi nhỏ tương ứng trong lời giải hay
không. Điều này cũng quan trọng vì có thể xảy ra sai số làm tròn khi sử dụng các phương pháp số.
Đó là,

• Câu hỏi: Làm thế nào chúng ta xác định được liệu một bài toán cụ thể có đặc tính là những thay
đổi nhỏ hoặc những nhiễu loạn trong phát biểu của bài toán sẽ dẫn đến những thay đổi nhỏ tương
ứng trong lời giải hay không?

Như thường lệ, trước tiên chúng ta cần đưa ra một định nghĩa khả thi để diễn đạt khái niệm này.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.1 Lý thuyết cơ bản của bài toán giá trị ban đầu 263

Định nghĩa 5.5 Bài toán giá trị ban đầu

nhuộm

= f (t, y), a ≤ t ≤ b, y(a) = α, dt (5.2)

được cho là một vấn đề được đặt ra tốt nếu:

• Tồn tại một nghiệm duy nhất, y(t), cho vấn đề này, và

• Tồn tại các hằng số ε0 > 0 và k > 0 sao cho với mọi ε, với ε0 >ε> 0,

bất cứ khi nào δ(t) liên tục với |δ(t)| < ε với mọi t trong [a, b], và khi |δ0| < ε,

vấn đề giá trị ban đầu

dz
= f (t,z) + δ(t), a ≤ t ≤ b, z(a) = α + δ0, dt (5.3)

có duy nhất nghiệm z(t) thỏa mãn

|z(t) y(t)| < kε với mọi t trong [a, b].

Bài toán xác định bởi (5.3) được gọi là bài toán nhiễu liên quan đến

vấn đề ban đầu (5.2). Nó giả định khả năng xảy ra lỗi trong câu lệnh

của phương trình vi phân, cũng như sai số δ0 xuất hiện ở điều kiện ban đầu.

Các phương pháp số sẽ luôn được quan tâm đến việc giải quyết vấn đề nhiễu loạn bởi vì

bất kỳ lỗi làm tròn nào được đưa ra trong biểu diễn đều làm xáo trộn vấn đề ban đầu. Trừ khi

vấn đề ban đầu đã được đặt ra tốt, có rất ít lý do để kỳ vọng rằng lời giải bằng số

của một bài toán nhiễu loạn sẽ xấp xỉ chính xác lời giải của bài toán ban đầu.

Định lý sau đây xác định các điều kiện đảm bảo rằng bài toán giá trị ban đầu là

tư thế tốt. Chứng minh định lý này có thể tìm thấy trong [BiR], trang 142–147.

Định lý 5.6 Giả sử D = {(t, y) | a ∞ b và ∞ < y < ∞ }. Nếu f liên tục và thỏa mãn a

Điều kiện Lipschitz trong biến y trên tập D thì bài toán giá trị ban đầu

nhuộm

= f (t, y), a ≤ t ≤ b, y(a) = α


dt

được đặt ra tốt.

Ví dụ 3 Chứng minh rằng bài toán giá trị ban đầu

nhuộm
2
= y t + 1, 0 ≤ t 2, y(0) = 0,5. (5.4)
dt

được đặt đúng trên D = {(t, y) | 0 ≤ t 2 và ∞ < y < ∞}.

Giải pháp vì

2
(y t + 1)
= |1| = 1,
y

2
Định lý 5.3 suy ra rằng f (t, y) = y t + 1 thỏa mãn điều kiện Lipschitz theo y trên D với

Hằng số Lipschitz 1. Vì f liên tục trên D nên Định lý 5.6 suy ra rằng bài toán là

tư thế tốt.

Để minh họa, hãy xem xét giải pháp cho vấn đề nhiễu loạn

dz
2 = z t + 1 + δ, 0 ≤ t 2, z(0) = 0,5 + δ0, (5.5)
dt

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

264 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

trong đó δ và δ0 là các hằng số. Các giải pháp cho phương trình. (5.4) và (5.5) là

2 2
y(t) = (t + 1) 0,5et và z(t) = (t + 1) + (δ + δ0 0,5)et δ,

tương ứng.

Giả sử ε là một số dương. Nếu |δ| < ε và |δ0| < ε thì

|y(t) z(t)|=|(δ + δ0)et δ|≤|δ + δ0|e2 + |δ| ε (2e2 + 1)ε,

cho tất cả t. Điều này hàm ý rằng bài toán (5.4) được đặt đúng với k(ε) = 2e2 + 1 với mọi ε > 0.

Maple có thể được sử dụng để giải nhiều bài toán về giá trị ban đầu. Hãy xem xét vấn đề

dy 2
= y t + 1, 0 ≤ t 2, y(0) = 0,5.
dt

Maple dành chữ D để thể hiện


Để xác định phương trình vi phân và điều kiện ban đầu, hãy nhập
sự khác biệt.
2
deq := D(y)(t) = y(t) t + 1; init := y(0) = 0,5

Tên deq và init đã được người dùng chọn. Lệnh để giải bài toán giá trị ban đầu là

deqsol := dsolve ({deq, init}, y(t))

và Maple đáp lại bằng

2 et + 2t 1
y(t) = 1 + t
2

Để sử dụng giải pháp thu được một giá trị cụ thể, chẳng hạn như y(1.5), chúng ta nhập

q := rhs(deqsol) : evalf(subs(t = 1.5, q))

mang lại

4.009155465

Hàm rhs (cho vế phải ) được sử dụng để gán nghiệm của bài toán giá trị ban đầu cho hàm q, sau đó

chúng ta đánh giá hàm này tại t = 1,5.

Hàm dsolve có thể thất bại nếu một giải pháp rõ ràng cho vấn đề giá trị ban đầu không thể

được tìm thấy. Ví dụ, đối với bài toán giá trị ban đầu ở Ví dụ 2, lệnh

deqsol2 := dsolve ({D(y)(t) = 1 + t · sin(t · y(t)), y(0) = 0}, y(t))

không thành công vì không tìm được giải pháp rõ ràng. Trong trường hợp này phải sử dụng phương pháp số.

BÀI TẬP 5.1

1. Sử dụng Định lý 5.4 để chứng tỏ rằng mỗi bài toán có giá trị ban đầu sau đây có một nghiệm duy nhất, và
tìm giải pháp.

Một. y = chi phí y , 0 ≤ t 1, y(0) = 1. 2

b. y = y + t 2et , 1 ≤ t 2, y(1) = 0.
t

2
c. y = y + t 2et , 1 ≤ t 2, y(1) = √2e.
t

4t
3y d. y = , 0 t 1, y(0) = 1.
1 + t4

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.1 Lý thuyết cơ bản của bài toán giá trị ban đầu 265

2. Chứng minh rằng mỗi bài toán có giá trị ban đầu sau đây đều có nghiệm duy nhất và tìm nghiệm đó.

Định lý 5.4 có thể áp dụng được trong từng

, Một. y = et
trường hợp không? y 0 ≤ t 1,

y(0) = 1. b. y = t 2(sin 2t 2ty), 1 ≤ t 2, y(1) = 2.

c. y = y + ty1/2, 2 ≤ t 3, y(2) = 2. ty + y d. y =

, 2 t 4, y(2) = 4.
ty + t

3. Với mỗi lựa chọn f (t, y) ở phần (a)–(d): i. f có thỏa

mãn điều kiện Lipschitz trên D = {(t, y) | 0 ∞ 1 , ∞ < y < ∞}? ii. Định lý 5.6 có thể được sử

dụng để chỉ ra rằng bài toán giá trị ban đầu

y = f (t, y), 0 ≤ t 1, y(0) = 1,

có được tạo dáng tốt không?

Một. f ( t, y) = t2y + 1 b. f (t, y) = ty 4t c. f (t, y) = 1 y d. f (t, y) = ty +


y
4. Với mỗi lựa chọn f (t, y) ở phần (a)–(d): i. f có thỏa

mãn điều kiện Lipschitz trên D = {(t, y) | 0 ∞ 1 , ∞ < y < ∞}? ii. Định lý 5.6 có thể được sử

dụng để chỉ ra rằng bài toán giá trị ban đầu

y = f (t, y), 0 ≤ t 1, y(0) = 1,

có được tạo dáng tốt không?

1 + y y2

Một. f (t, y) = et y b. f (t, y) = c. f (t, y) = cos(yt) d. f (t, y) =


1 + t 1 + t

5. Đối với các bài toán có giá trị ban đầu sau đây, hãy chỉ ra rằng phương trình đã cho ngầm định nghĩa một nghiệm.

Xấp xỉ y(2) bằng phương pháp Newton. y3 + y a. y =

(3y2
+ 1)t y cost + , 1 ≤ t 2, y(1) = 1; y3t + yt = 2
2tey b. y =

sin t + t2ey
+ 2 , 1 ≤ t 2, y(1) = 0; y sin t + t 2ey + 2y = 1

6. Chứng minh Định lý 5.3 bằng cách áp dụng Định lý Giá trị Trung bình 1,8 cho f (t, y), giữ t cố định.

7. Chứng minh rằng, với mọi hằng số a và b, tập D = {(t, y) | a ∞ b , ∞ < y < ∞} là lồi.

8. Giả sử nhiễu loạn δ(t) tỉ lệ với t, nghĩa là, δ(t) = δt đối với một hằng số δ nào đó. Hiển thị trực tiếp

rằng các bài toán về giá trị ban đầu sau đây được đặt đúng. Một. y =

1 y, 0 ≤ t 2, y(0) = 0 b. y = t + y, 0 ≤ t 2,

y(0) = 1 2 c. y =

y + t 2et , 1 ≤ t 2, y(1) = 0
t

2
d. y = y + t 2et , 1 ≤ t 2, y(1) = √2e
t

9. Phương pháp Picard giải bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α,

được mô tả như sau: Đặt y0(t) = α với mỗi t trong [a, b]. Xác định dãy hàm {yk (t)} bằng cách

yk (t) = α + f (τ , yk 1(τ )) dτ , k = 1, 2, ... .


Một

Một. Tích phân y = f (t, y(t)) và sử dụng điều kiện ban đầu để rút ra phương pháp Picard. b. Tạo

y0(t), y1(t), y2(t) và y3(t) cho bài toán giá trị ban đầu

y = y + t + 1, 0 ≤ t 1, y(0) = 1.

c. So sánh kết quả ở phần (b) với chuỗi Maclaurin của nghiệm thực tế y(t) = t + e t .

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

266 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

5.2 Phương pháp Euler

Phương pháp Euler là kỹ thuật gần đúng cơ bản nhất để giải giá trị ban đầu

các vấn đề. Mặc dù nó hiếm khi được sử dụng trong thực tế nhưng tính đơn giản của nó có thể được

được sử dụng để minh họa các kỹ thuật liên quan đến việc xây dựng một số công nghệ tiên tiến hơn

kỹ thuật, không có đại số rườm rà đi kèm với các cấu trúc này.

Mục tiêu của phương pháp Euler là thu được các giá trị gần đúng với giá trị ban đầu được đặt đúng

vấn đề

nhuộm

= f (t, y), a ≤ t ≤ b, y(a) = α. dt (5.6)

Sẽ không thu được sự gần đúng liên tục của nghiệm y(t) ; thay vào đó, các giá trị xấp xỉ của y sẽ

được tạo ra ở các giá trị khác nhau, được gọi là điểm lưới, trong khoảng [a, b].

Sau khi thu được nghiệm gần đúng tại các điểm, nghiệm gần đúng tại các điểm khác

các điểm trong khoảng có thể được tìm thấy bằng phép nội suy.

Đầu tiên chúng ta đưa ra quy định rằng các điểm lưới được phân bổ đều khắp

khoảng [a, b]. Điều kiện này được đảm bảo bằng cách chọn số nguyên dương N và chọn

các điểm lưới

ti = a + ih, với mỗi i = 0, 1, 2, ... , N.

Khoảng cách chung giữa các điểm h = (b a)/N = ti+1 ti được gọi là kích thước bước.

Việc sử dụng sự khác biệt cơ bản Chúng ta sẽ sử dụng Định lý Taylor để rút ra phương pháp Euler. Giả sử rằng y(t), duy nhất

các phương pháp tính gần đúng nghiệm của (5.6), có hai đạo hàm liên tục trên [a, b], sao cho với mỗi i = 0, 1, 2, ... ,
giải phương trình vi phân N -1,
là một trong số rất nhiều

chủ đề toán học đầu tiên (ti+1 ti)2


trình bày cho toán học y(ti+1) = y(ti) + (ti+1 ti)y (ti) + y(ξi),
2
công khai bởi sự sung mãn nhất của

nhà toán học, Leonhard Euler


với một số ξi in (ti, ti+1). Vì h = ti+1 ti nên ta có
(1707–1783).

h2
y(ti+1) = y(ti) + hy (ti) +
2
y(ξi),

và, vì y(t) thỏa mãn phương trình vi phân (5.6),

h2
y(ti+1) = y(ti) + hf (ti, y(ti)) + y(ξi). (5.7)
2

Phương thức Euler xây dựng wi ≈ y(ti), với mỗi i = 1, 2, ... , N, bằng cách xóa phần còn lại-
hạn. Do đó phương pháp Euler là

w0 = α,

wi+1 = wi + hf (ti, wi), với mỗi i = 0, 1, ... , N 1. (5.8)

Minh họa Trong ví dụ 1, chúng ta sẽ sử dụng thuật toán cho phương pháp Euler để tính gần đúng nghiệm của

2 y = y t + 1, 0 ≤ t 2, y(0) = 0,5,

tại thời điểm t = 2. Ở đây chúng ta sẽ minh họa đơn giản các bước trong kỹ thuật khi chúng ta có h = 0,5.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.2 Phương pháp Euler 267

2
Đối với bài toán này f (t, y) = y t + 1, vậy

w0 = y(0) = 0,5;

2
w1 = w0 + 0,5 w0 (0,0) + 1 = 0,5 + 0,5(1,5) = 1,25;

2
w2 = w1 + 0,5 w1 (0,5) + 1 = 1,25 + 0,5(2,0) = 2,25;

2
w3 = w2 + 0,5 w2 (1,0) + 1 = 2,25 + 0,5(2,25) = 3,375;

2
y(2) ≈ w4 = w3 + 0,5 w3 (1.5) + 1 = 3,375 + 0,5(2,125) = 4,4375.

Phương trình (5.8) được gọi là phương trình sai phân gắn với phương pháp Euler. Như chúng ta sẽ thấy ở

phần sau của chương này, lý thuyết và nghiệm của phương trình vi phân song song, theo nhiều cách, với lý

thuyết và nghiệm của phương trình vi phân. Thuật toán 5.1 thực hiện phương pháp Euler.

Thuật toán của Euler

5.1
Để tính gần đúng lời giải của bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α,

tại (N + 1) các số cách đều nhau trong khoảng [a, b]:

INPUT điểm cuối a, b; số nguyên N; điều kiện ban đầu α.

Xấp xỉ OUTPUT w đến y tại các giá trị (N + 1) của t.

Bước 1 Đặt h = (b a)/N; t = a;

w = α; ĐẦU

RA (t, w).

Bước 2 Với i = 1, 2, ... , N thực hiện Bước 3, 4.

Bước 3 Đặt w = w + hf (t, w); (Tính wi.) t = a + ih.


(Tính t.)

Bước 4 ĐẦU RA (t, w).

Bước 5 DỪNG.

Để giải thích phương pháp Euler về mặt hình học, hãy lưu ý rằng khi wi là một giá trị gần đúng
đối với y(ti), giả định rằng vấn đề được đặt ra hợp lý ngụ ý rằng

f (ti, wi) ≈ y (ti) = f (ti, y(ti)).

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

268 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Đồ thị của hàm highlight y(ti) được thể hiện trên Hình 5.2. Một bước trong Euler
phương pháp này xuất hiện trong Hình 5.3 và một loạt các bước xuất hiện trong Hình 5.4.

Hình 5.2
y

y(tN) y(b) y f(t, y),


y(a) α

. . .
y(t 2)

y(t 1)

y(t 0) α

t
t 0 lúc 1 t 2 . . . tN b

y Hình 5.4 y
Hình 5.3
y f(t, y),
y f(t, y), y(b) y(a) α
y(a) α wN

Độ dốc y(a) f(a, α)


w2
w1 w1
α α

t2 t
t 0 lúc 1 . . . tN b t 0 lúc 1 t 2
. . . tN b t

Ví dụ 1 Phương pháp Euler được sử dụng trong hình minh họa đầu tiên với h = 0,5 để tính gần đúng nghiệm
về bài toán giá trị ban đầu

2
y = y t + 1, 0 ≤ t 2, y(0) = 0,5.

Sử dụng Thuật toán 5.1 với N = 10 để xác định các giá trị gần đúng và so sánh chúng với
các giá trị chính xác cho bởi y(t) = (t + 1)2 0.5et .

Giải Với N = 10 ta có h = 0,2, ti = 0,2i, w0 = 0,5, và

2 2 2
wi+1 = wi + h(wi t Tôi
+ 1) = wi + 0,2[wi 0,04i + 1] = 1,2wi 0,008i + 0,2,

với i = 0, 1, ... , 9. Vậy

2 2
w1 = 1,2(0,5) 0,008(0) + 0,2 = 0,8; w2 = 1,2(0,8) 0,008(1) + 0,2 = 1,152;

và như thế. Bảng 5.1 cho thấy sự so sánh giữa các giá trị gần đúng tại ti và
những giá trị thực tế.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.2 Phương pháp Euler 269

Bảng 5.1
tôi Wi yi = y(ti) |yi wi|

0,0 0,5000000 0,5000000 0,0000000


0,2 0,8000000 0.8292986 0,0292986
0,4 1,1520000 1.2140877 0,0620877
0,6 1,5504000 1.6489406 0,0985406
0,8 1,9884800 2.1272295 0.1387495
1,0 2,4581760 2.6408591 0.1826831
1,2 2,9498112 3.1799415 0.2301303
1,4 3,4517734 3.7324000 0.2806266
1.6 3.9501281 4.2834838 0.3333557
1.8 4.4281538 4.8151763 0.3870225
2.0 4.8657845 5.3054720 0.4396874

Lưu ý rằng sai số tăng nhẹ khi giá trị của t tăng. Lỗi được kiểm soát này
tăng trưởng là hệ quả của tính ổn định của phương pháp Euler, ngụ ý rằng sai số là
dự kiến sẽ tăng trưởng không tệ hơn một cách tuyến tính.
Maple đã triển khai phương pháp Euler như một tùy chọn với lệnh Khởi tạo giá trị
ban đầu trong gói con NumericalAnalysis của gói Sinh viên . Để sử dụng
Đối với bài toán ở Ví dụ 1, trước tiên hãy tải gói hàng và phương trình vi phân.

with(Student[NumericalAnalysis]): deq := diff(y(t), t) = y(t) t2 + 1

Sau đó ra lệnh

C := LaunchValueProblem(deq, y(0) = 0.5, t = 2, Method = euler, numsteps = 10,


đầu ra = thông tin, chữ số = 8)

Maple sản xuất

1 . . 12 × 1 . .4 mảng
Kiểu dữ liệu: bất kỳ
Lưu trữ: hình chữ nhật
Đặt hàng: Fortran_order

Nhấp đúp vào kết quả sẽ hiển thị bảng cung cấp các giá trị của ti, nghiệm thực tế
các giá trị y(ti), các phép tính gần đúng Euler wi và các sai số tuyệt đối | y(ti) wi|. Những điều này đồng ý
với các giá trị trong Bảng 5.1.

Để in bảng Maple chúng ta có thể ra lệnh

cho k từ 1 đến 12 làm

print(C[k, 1], C[k, 2], C[k, 3], C[k, 4])


kết thúc làm

Các tùy chọn trong lệnh LaunchValueProblem là thông số kỹ thuật của đơn hàng đầu tiên
phương trình vi phân cần giải, điều kiện ban đầu, giá trị cuối cùng của hàm độc lập
biến, lựa chọn phương pháp, số bước sử dụng để xác định h = (2 0)/
(số bước), đặc điểm kỹ thuật của dạng đầu ra và số chữ số làm tròn
để sử dụng trong các tính toán. Các tùy chọn đầu ra khác có thể chỉ định một giá trị cụ thể của t hoặc

một âm mưu của giải pháp.

Giới hạn lỗi cho phương pháp Euler

Mặc dù phương pháp Euler không đủ chính xác để đảm bảo cho việc sử dụng nó trong thực tế, nhưng nó cũng đủ

cơ bản để phân tích lỗi được tạo ra từ ứng dụng của nó. Việc phân tích lỗi cho

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

270 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

các phương pháp chính xác hơn mà chúng tôi xem xét trong các phần tiếp theo đều tuân theo cùng một

khuôn mẫu nhưng phức tạp hơn.

Để rút ra giới hạn sai số cho phương pháp Euler, chúng ta cần hai bổ đề tính toán.

Bổ đề 5.7 Với mọi x ≥ 1 và mọi m dương , ta có 0 ≤ (1 + x)m ≤ emx.

Chứng minh Áp dụng Định lý Taylor với f (x) = ex, x0 = 0, và n = 1 ta có

eξ ex = 1 + x 1 x2 ,
+ 2

trong đó ξ nằm giữa x và 0. Như vậy

ex 0 ≤ 1 + x 1 + x + 2 1 x2 eξ = ,

và vì 1 + x ≥ 0 nên ta có

tôi tôi
0 ≤ (1 + x) ≤ (ví dụ ) = emx.

k
Bổ đề 5.8 Nếu s và t là số thực dương, {ai} tôi=0 là dãy thỏa mãn a0 ≥ t/s, và

ai+1 ≤ (1 + s)ai + t, với mỗi i = 0, 1, 2, ... , k 1, (5.9)

sau đó

t t
ai+1 ≤ e(i+1)s a0 +
.
S S

Chứng minh Với số nguyên i cố định, Bất đẳng thức (5.9) suy ra rằng

ai+1 ≤ (1 + s)ai + t

2
≤ (1 + s)[(1 + s)ai 1 + t] + t = (1 + s) ai 1 + [1 + (1 + s)]t

3 2
≤ (1 + s) ai 2 + 1 + (1 + s) + (1 + s) t

.
.
.

tôi+1 2
≤ (1 + s) a0 + 1 + (1 + s) + (1 + s) +···+ (1 + s) t.
Tôi

Nhưng

Tôi

2
1 + (1 + s) + (1 + s) +···+ (1 + s)
Tôi

= j (1 + s)

j=0

là một chuỗi hình học có tỷ số (1 + s) có tổng bằng

1 (1 + s)i+1 1 i+1 [(1 + s)


= 1].
1 (1 + s) S

Như vậy

(1 + s)i+1 1 t t
tôi+1
ai+1 ≤ (1 + s) i+1 t = (1 + s) a0 + a0 + ,
S S S

và sử dụng Bổ đề 5.7 với x = 1 + s sẽ cho

t t
ai+1 ≤ e(i+1)s a0 +
.
S S

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.2 Phương pháp Euler 271

Định lý 5.9 Giả sử f liên tục và thỏa mãn điều kiện Lipschitz với hằng số L trên

D = {(t, y) | a ∞ t ∞ b và ∞ < y < ∞}

và hằng số M tồn tại với

| y(t)| M, với mọi t [a, b],

trong đó y(t) biểu thị nghiệm duy nhất cho bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α.

Đặt w0, w1, ... , wN là các giá trị gần đúng được tạo ra bởi phương pháp Euler đối với một số dương
số nguyên N. Khi đó, với mỗi i = 0, 1, 2, ... , N,

hM
| y(ti) wi| ≤ eL(ti a) 1 . (5.10)
2L

Chứng minh Khi i = 0 thì kết quả rõ ràng là đúng, vì y(t0) = w0 = α.


Từ phương trình. (5.7), ta có

h2
y(ti+1) = y(ti) + hf (ti, y(ti)) +
2
y(ξi),

với i = 0, 1, ... ,N 1, và từ các phương trình trong (5.8),

wi+1 = wi + hf (ti, wi).

Sử dụng ký hiệu yi = y(ti) và yi+1 = y(ti+1), chúng ta trừ hai phương trình này để thu được

h2
yi+1 wi+1 = yi wi + h[f (ti, yi) f (ti, wi)] + y(ξi)
2

Kể từ đây

h2
| yi+1 wi+1|<| yi wi| + h|f (ti, yi) f (ti, wi)| + | y(ξi)|.
2

Bây giờ f thỏa mãn điều kiện Lipschitz ở biến thứ hai với hằng số L, và
| y(t)| ≤ M, vậy

h2M
| yi+1 wi+1| ≤ (1 + hL)| yi wi| + .
2

Dựa vào Bổ đề 5.8 và cho s = hL, t = h2M/2, và aj = | yj wj|, với mỗi


j = 0, 1, ... , N, ta thấy

h2M h2M
| yi+1 wi+1| ≤ e(i+1)hL | y0 w0| + .
2hL 2hL

Bởi vì | y0 w0| = 0 và (i + 1)h = ti+1 t0 = ti+1 a, điều này hàm ý rằng

hM
| yi+1 wi+1| ≤ (e(ti+1 a)L 1),
2L

với mỗi i = 0, 1, ... , N 1.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

272 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Điểm yếu của Định lý 5.9 nằm ở chỗ yêu cầu phải biết giới hạn của

đạo hàm bậc hai của nghiệm. Mặc dù điều kiện này thường cấm chúng ta lấy được

một giới hạn sai số thực tế, cần lưu ý rằng nếu cả f/ t và f/ y đều tồn tại, thì quy tắc dây chuyền

để lấy đạo hàm từng phần ngụ ý rằng

nhuộm df f f
y(t) = (t) = (t, y(t)) = (t, y(t)) + (t, y(t)) · f (t, y(t)).
dt dt t y

Vì vậy, đôi khi có thể nhận được giới hạn lỗi của y(t) mà không biết rõ ràng về y(t).

Ví dụ 2 Lời giải của bài toán giá trị ban đầu

2
y = y t + 1, 0 ≤ t 2, y(0) = 0,5,

được tính gần đúng trong Ví dụ 1 bằng phương pháp Euler với h = 0,2. Sử dụng bất đẳng thức trong

Định lý 5.9 để tìm giới hạn cho các sai số gần đúng và so sánh chúng với sai số thực tế
lỗi.

2
Giải Vì f (t, y) = y t + 1, ta có f (t, y)/ y = 1 với mọi y, nên L = 1. Với

bài toán này, nghiệm chính xác là y(t) = (t + 1)2 0,5et , vì vậy y(t) = 2 0,5et và

| y(t)| ≤ 0,5e2 2, với mọi t [0, 2].

Sử dụng bất đẳng thức trong giới hạn sai số của phương pháp Euler với h = 0,2, L = 1 và

M = 0,5e2 2 cho

| yi wi| ≤ 0,1(0,5e2 2)(eti 1).

Kể từ đây

| y(0,2) w1| ≤0,1(0,5e2 2)(e0,2 1) = 0,03752;

| y(0,4) w2| ≤0,1(0,5e2 2)(e0,4 1) = 0,08334;

và như thế. Bảng 5.2 liệt kê lỗi thực tế tìm thấy trong Ví dụ 1, cùng với lỗi này

ràng buộc. Lưu ý rằng mặc dù giới hạn thực của đạo hàm bậc hai của nghiệm là

được sử dụng, giới hạn lỗi lớn hơn đáng kể so với lỗi thực tế, đặc biệt khi tăng
các giá trị của t.

Bảng 5.2

tôi 0,2 0,4 0,6 0,8 1.0 1.2 1.4 1.6 1.8 2.0

Lỗi thực tế 0,02930 0,06209 0,09854 0,13875 0,18268 0,23013 0,28063 0,33336 0,38702 0,43969

Giới hạn lỗi 0,03752 0,08334 0,13931 0,20767 0,29117 0,39315 0,51771 0,66985 0,85568 1,08264

Tầm quan trọng cơ bản của công thức giới hạn lỗi được đưa ra trong Định lý 5.9 là

giới hạn phụ thuộc tuyến tính vào kích thước bước h. Do đó, việc giảm kích thước bước sẽ

mang lại độ chính xác tương ứng cao hơn cho các phép tính gần đúng.

Bị bỏ qua trong kết quả của Định lý 5.9 là ảnh hưởng của sai số làm tròn trong

việc lựa chọn kích thước bước Khi h trở nên nhỏ hơn thì cần phải tính toán nhiều hơn và sẽ có nhiều sai

số làm tròn hơn. Trong thực tế, dạng phương trình sai phân

w0 = α,

wi+1 = wi + hf (ti, wi), với mỗi i = 0, 1, ... , N 1,

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.2 Phương pháp Euler 273

không được sử dụng để tính gần đúng nghiệm yi tại điểm lưới ti. Thay vào đó chúng ta sử dụng
một phương trình có dạng

u0 = α + δ0,

ui+1 = ui + hf (ti, ui) + δi+1, với mỗi i = 0, 1, ... , N 1, (5.11)

trong đó δi biểu thị sai số làm tròn liên quan đến ui. Sử dụng các phương pháp tương tự như các phương

pháp trong chứng minh Định lý 5.9, chúng ta có thể tạo ra sai số giới hạn cho các xấp xỉ hữu hạn chữ

số với yi cho bởi phương pháp Euler.

Định lý 5.10 Giả sử y(t) là nghiệm duy nhất của bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α (5.12)

và u0, u1, ... , uN là các giá trị gần đúng thu được bằng cách sử dụng (5.11). Nếu |δi| < δ với
mỗi i = 0, 1, ... , N và các giả thuyết của Định lý 5.9 đúng với (5.12), thì

1 hM δ + h
| y(ti) ui| ≤ [eL(ti a) 1]+|δ0|eL(ti a) , (5.13)
L 2

với mỗi i = 0, 1, ... , N.

Giới hạn lỗi (5.13) không còn tuyến tính trong h. Trên thực tế, kể từ khi

hM δ
lim + = ∞,
h 0 2 h

sai số sẽ trở nên lớn đối với các giá trị h đủ nhỏ. Phép tính có thể được sử dụng để xác định
giới hạn dưới cho kích thước bước h. Cho E(h) = (hM/2) + (δ/h) suy ra rằng E (h) = (M/2) (δ/
h2).

Nếu h < 2δ/M thì E (h) < 0 và E(h) đang giảm.

Nếu h > 2δ/M thì E (h) > 0 và E(h) đang tăng.

Giá trị tối thiểu của E(h) xảy ra khi


h = . (5.14)
M

Việc giảm h vượt quá giá trị này có xu hướng làm tăng tổng sai số trong phép tính gần đúng.
Tuy nhiên, thông thường, giá trị của δ đủ nhỏ để giới hạn dưới của h không ảnh hưởng đến hoạt
động của phương pháp Euler.

BÀI TẬP 5.2

1. Sử dụng phương pháp Euler để tính gần đúng nghiệm của từng bài toán có giá trị ban đầu sau đây.

Một. y = te3t 2y, 0 ≤ t 1, y(0) = 0, với h = 0,5 b. y = 1

+ (t y)2, 2 ≤ t 3, y(2) = 1, với h = 0,5 c. y = 1 + y/t, 1 ≤ t

2, y(1) = 2, với h = 0,25 d. y = cos 2t + sin 3t, 0 ≤ t 1,

y(0) = 1, với h = 0,25

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

274 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

2. Sử dụng phương pháp Euler để tính gần đúng nghiệm của từng bài toán có giá trị ban đầu sau đây.

Một. y = et y , 0 t 1, y(0) = 1, với h = 0,5

1 + t
b. y = 1 + , 1 ≤ t 2, y(1) = 2, với h = 0,5
y

c. y = y + ty1/2, 2 ≤ t 3, y(2) = 2, với h = 0,25

d. y = t 2(sin 2t 2ty), 1 ≤ t 2, y(1) = 2, với h = 0,25

3. Lời giải thực tế của bài toán về giá trị ban đầu trong Bài tập 1 được đưa ra ở đây. So sánh thực tế

lỗi ở mỗi bước đến giới hạn lỗi.


1 1 1 1
Một.
y(t) = te3t e3t + e 2t b. y(t) = t +
5 25 25 1 t
1 1 4
c. y(t) = t ln t + 2t d. y(t) = tội lỗi 2t cos 3t +
2 3 3

4. Lời giải thực tế của bài toán về giá trị ban đầu trong Bài tập 2 được đưa ra ở đây. Tính toán thực tế

và so sánh giá trị này với giới hạn lỗi nếu Định lý 5.9 có thể được áp dụng.

Một.
y(t) = ln(et + e 1) b. y(t) = t2 + 2t + 6 1
2 4 + cos 2 cos 2t
c. y(t) = t 2 + √2ee t/2 d. y(t) = 2t2

5. Sử dụng phương pháp Euler để tính gần đúng nghiệm của từng bài toán có giá trị ban đầu sau đây.
2
Một. y = y/t (y/t) , 1 ≤ t 2, y(1) = 1, với h = 0,1

2
b. y = 1 + y/t + (y/t) , 1 t 3, y(1) = 0, với h = 0,2

c. y = (y + 1)(y + 3), 0 ≤ t 2, y(0) = 2, với h = 0,2

2 1
với h = 0,1
d. y = 5y + 5t + 2t, 0 ≤ t ≤ 1, y(0) = 3 ,

6. Sử dụng phương pháp Euler để tính gần đúng nghiệm của từng bài toán có giá trị ban đầu sau đây.

2 20
Một. y = , 0 t 1, y(0) = 1, với h = 0,1
t2 + 1 y2

b. y = 1 + , 1 ≤ t 2, y(1) = (ln 2) 1, với h = 0,1


t

c. y = (y2 + y)/t, 1 ≤ t 3, y(1) = 2, với h = 0,2

d. y = ty + 4ty 1, 0 ≤ t 1, y(0) = 1, với h = 0,1

7. Lời giải thực tế của bài toán về giá trị ban đầu trong Bài tập 5 được đưa ra ở đây. Tính toán thực tế

sai số trong phép tính gần đúng của Bài tập 5.


t
Một.
y(t) = b. y(t) = t tan(ln t)
1 + ln t
2 1
c. 2 +
y(t) = 3 + d. y(t) = t e 5t
1 + 3

e 2t 8. Lời giải thực tế của bài toán giá trị ban đầu trong Bài tập 6 được đưa ra ở đây. Tính toán thực tế
sai số trong phép tính gần đúng của Bài tập 6.

2t + 1 1
Một.
y(t) = b. y(t) =
t2 + 1 ln(t + 1)
2t
c. y(t) = d. y(t) = 4 3e t2
1 2t

9. Cho bài toán giá trị ban đầu

2
2
y = y + t và , 1 ≤ t 2, y(1) = 0,
t

với nghiệm chính xác y(t) = t 2(et e) :

Một. Sử dụng phương pháp Euler với h = 0,1 để tính gần đúng nghiệm và so sánh với nghiệm thực tế
các giá trị của y.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.2 Phương pháp Euler 275

b. Sử dụng các câu trả lời ở phần (a) và phép nội suy tuyến tính để tính gần đúng các giá trị sau
của y và so sánh chúng với giá trị thực tế.
Tôi. y(1.04) ii. y(1.55) iii. y(1.97)

c. Tính giá trị h cần thiết cho | y(ti) wi| 0,1, sử dụng phương trình. (5.10).

10. Cho bài toán giá trị ban đầu

1 y
y = y2 , 1 ≤ t 2, y(1) = 1,
t2 t

với nghiệm chính xác y(t) = 1/t:

Một. Sử dụng phương pháp Euler với h = 0,05 để tính gần đúng nghiệm và so sánh với nghiệm thực tế
các giá trị của y.

b. Sử dụng các câu trả lời ở phần (a) và phép nội suy tuyến tính để tính gần đúng các giá trị sau
của y và so sánh chúng với giá trị thực tế.
Tôi. y(1.052) ii. y(1.555) iii. y(1.978)

c. Tính giá trị h cần thiết cho | y(ti) wi| 0,05 sử dụng phương trình. (5.10).

11. Cho bài toán giá trị ban đầu

y = y + t + 1, 0 ≤ t 5, y(0) = 1,

với nghiệm chính xác y(t) = e t + t:

Một. Xấp xỉ y(5) bằng phương pháp Euler với h = 0,2, h = 0,1 và h = 0,05.

b. Xác định giá trị tối ưu của h để sử dụng trong tính toán y(5), giả sử δ = 10 6 và phương trình đó. (5.14)
là hợp lệ.

12. Xét bài toán giá trị ban đầu

y = 10y, 0 ≤ t 2, y(0) = 1,

có nghiệm y(t) = e 10t . Điều gì xảy ra khi áp dụng phương pháp Euler cho bài toán này với
h = 0,1? Hành vi này có vi phạm Định lý 5.9 không?

13. Sử dụng kết quả của Bài tập 5 và phép nội suy tuyến tính để tính gần đúng các giá trị sau của y(t).
So sánh các giá trị gần đúng thu được với các giá trị thực tế thu được bằng cách sử dụng các hàm cho trong
Bài tập 7.

Một. y(1.25) và y(1.93) b. y(2.1) và y(2.75)


c. y(1.3) và y(1.93) d. y(0,54) và y(0,94)

14. Sử dụng kết quả của Bài tập 6 và phép nội suy tuyến tính để tính gần đúng các giá trị sau của y(t).
So sánh các giá trị gần đúng thu được với các giá trị thực tế thu được bằng cách sử dụng các hàm cho trong
Bài tập 8.

Một. y(0,25) và y(0,93) c. b. y(1.25) và y(1.93)


y(2.10) và y(2.75) hM d. y(0,54) và y(0,94)

δ
15. Cho E(h) = + .
2 h

Một. Đối với bài toán giá trị ban đầu

y = y + 1, 0 ≤ t 1, y(0) = 0,

tính giá trị của h để cực tiểu hóa E(h). Giả sử δ = 5 × 10(n+1) nếu bạn sử dụng n chữ số
số học ở phần (c).

b. Để có h tối ưu được tính ở phần (a), hãy sử dụng phương trình. (5.13) để tính sai số tối thiểu có thể đạt được.

c. So sánh sai số thực tế thu được khi sử dụng h = 0,1 và h = 0,01 với sai số tối thiểu ở phần (b).
Bạn có thể giải thích kết quả?

16. Trong mạch điện có điện áp ấn định E có điện trở R, độ tự cảm L và điện dung C mắc song song,
dòng điện i thỏa mãn phương trình vi phân

di d2E 1 dE 1
= C + + E.
dt dt2 R dt L

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

276 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Giả sử C = 0,3 farad, R = 1,4 ohms, L = 1,7 henries và điện áp được cho bởi

E(t) = e 0,06πt sin(2t π ).

Nếu i(0) = 0, hãy tìm dòng điện i cho các giá trị t = 0,1 j, trong đó j = 0, 1, ... , 100.

17. Trong cuốn sách có tựa đề Nhìn vào lịch sử thông qua toán học, Rashevsky [Ra], trang 103–110, xem xét

một mô hình cho một vấn đề liên quan đến việc sản sinh ra những người không tuân thủ trong xã hội. Giả sử rằng một xã hội

có dân số x(t) cá thể tại thời điểm t, tính bằng năm, và tất cả những người không tuân thủ giao phối với

những người không tuân thủ khác có con cái cũng là những người không tuân thủ, trong khi một tỷ lệ cố định r của tất cả

những đứa con khác cũng không tuân thủ. Nếu giả định tỷ lệ sinh và tử của tất cả các cá nhân là

lần lượt là các hằng số b và d, và nếu những người tuân thủ và không tuân thủ giao phối ngẫu nhiên, thì

vấn đề có thể được thể hiện bằng các phương trình vi phân

dx(t) dxn(t)
= (b d)x(t) và = (b d)xn(t) + rb(x(t) xn(t)),
dt dt

trong đó xn(t) biểu thị số lượng người không tuân thủ trong dân số tại thời điểm t.

Một. Giả sử biến p(t) = xn(t)/x(t) được đưa ra để biểu thị tỷ lệ những người không theo chủ nghĩa tuân thủ trong xã

hội tại thời điểm t. Chứng tỏ rằng các phương trình này có thể được kết hợp và đơn giản hóa thành

phương trình vi phân đơn

dp(t)
= rb(1 p(t)).
dt

b. Giả sử rằng p(0) = 0,01, b = 0,02, d = 0,015 và r = 0,1, hãy tính gần đúng nghiệm p(t)

từ t = 0 đến t = 50 khi kích thước bước là h = 1 năm.

c. Giải chính xác phương trình vi phân cho p(t) và so sánh kết quả ở phần (b) khi t = 50
với giá trị chính xác tại thời điểm đó.

5.3 Phương pháp Taylor bậc cao

Vì mục tiêu của kỹ thuật số là xác định các phép tính gần đúng chính xác với
nỗ lực tối thiểu, chúng ta cần một phương tiện để so sánh hiệu quả của các phép tính gần đúng khác nhau
phương pháp. Thiết bị đầu tiên chúng tôi xem xét được gọi là lỗi cắt cụt cục bộ của phương thức.

Lỗi cắt cụt cục bộ ở một bước cụ thể đo lường mức độ chính xác
nghiệm của phương trình vi phân không thỏa mãn phương trình sai phân đang được sử dụng cho
xấp xỉ ở bước đó. Đây có vẻ như là một cách khó có thể so sánh được lỗi
của nhiều phương pháp khác nhau. Chúng tôi thực sự muốn biết các phép tính gần đúng được tạo ra bởi
phương pháp thỏa mãn phương trình vi phân chứ không phải ngược lại. Tuy nhiên, chúng tôi không biết
giải pháp chính xác nên chúng ta thường không thể xác định được điều này và việc cắt bớt cục bộ sẽ phục vụ

khá tốt để xác định không chỉ sai số cục bộ của một phương pháp mà cả sai số gần đúng thực tế
lỗi.

Xét bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α.

Định nghĩa 5.11 Phương pháp sai phân

w0 = α

wi+1 = wi + hφ(ti, wi), với mỗi i = 0, 1, ... , N 1,

có lỗi cắt ngắn cục bộ

yi+1 (yi + hφ(ti, yi)) yi+1 yi


=
τi+1(h) = φ(ti, yi),
h h

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.3 Phương pháp Taylor bậc cao 277

với mỗi i = 0, 1, ... , N 1, trong đó yi và yi+1 lần lượt biểu thị nghiệm tại ti và ti+1 .

Ví dụ: phương pháp Euler mắc lỗi cắt cụt cục bộ ở bước thứ i

yi+1 yi
τi+1(h) = f (ti, yi), với mỗi i = 0, 1, ... , N 1. h

Lỗi này là lỗi cục bộ vì nó đo lường độ chính xác của phương pháp ở một bước cụ thể, giả sử rằng

phương pháp đó chính xác ở bước trước đó. Như vậy, nó phụ thuộc vào phương trình vi phân, kích thước bước

và bước cụ thể trong phép tính gần đúng.

Bằng cách xem xét phương trình. (5.7) ở phần trước, ta thấy phương pháp Euler có

h τi+1(h) = y(ξi), với một số ξi trong (ti, ti+1). 2

Khi y(t) được biết là bị giới hạn bởi hằng số M trên [a, b], điều này ngụ ý

h |τi+1(h)| ≤ M,
2

do đó lỗi cắt cụt cục bộ trong phương pháp Euler là O(h).

Một cách để chọn các phương pháp phương trình sai phân để giải các phương trình vi phân thông thường là

sao cho sai số cắt cụt cục bộ của chúng là O(hp) với giá trị p càng lớn càng tốt, trong khi vẫn giữ số lượng và

độ phức tạp của phép tính phương pháp trong một giới hạn hợp lý.

Vì phương pháp Euler được rút ra bằng cách sử dụng Định lý Taylor với n = 1 để tính gần đúng nghiệm

của phương trình vi phân, nên nỗ lực đầu tiên của chúng tôi nhằm tìm ra các phương pháp cải thiện tính chất

hội tụ của các phương pháp sai phân là mở rộng kỹ thuật đạo hàm này đến các giá trị lớn hơn của n.

Các phương pháp trong phần này sử dụng Giả sử nghiệm y(t) của bài toán giá trị ban đầu

Đa thức Taylor và kiến thức về đạo

hàm tại một nút để tính gần đúng giá y = f (t, y), a ≤ t ≤ b, y(a) = α,
trị của hàm tại một nút mới.

có (n+1) đạo hàm liên tục. Nếu chúng ta mở rộng nghiệm y(t), theo đa thức Taylor thứ n của nó về ti và đánh

giá tại ti+1, chúng ta thu được

h2 hn y(ti+1) = y(ti) hn+1


+ hy (ti) + y(ti) +···+ 2 y(n) (ti) + y(n+1) (ξi), (n + 1)! (5.15)
N!

đối với một số ξi trong (ti, ti+1).

Đạo hàm liên tiếp của nghiệm, y(t), cho

(k 1)
y (t) = f (t, y(t)), y(t) = f (t, y(t)), và nói chung, y(k) (t) = f (t, y(t)).

Thay thế các kết quả này vào phương trình. (5.15) cho

h2
y(ti+1) = y(ti) + hf (ti, y(ti)) + f (ti, y(ti)) +··· 2 (5.16)

hn hn+1
(n 1) f
n! + (n) (ti, y(ti)) + f (n + 1)! (ξi, y(ξi)).

Phương pháp phương trình sai phân tương ứng với phương trình. (5.16) thu được bằng cách xóa

số hạng còn lại liên quan đến ξi.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

278 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Phương pháp thứ tự Taylor n

w0 = α,

wi+1 = wi + hT(n) (ti, wi), với mỗi i = 0, 1, ... , N 1, (5.17)

Ở đâu

hn 1
h (n 1) f (ti, wi) +···+ f (ti, wi).
T(n) (ti, wi) = f (ti, wi) + 2
N!

Phương pháp Euler là phương pháp bậc một của Taylor.

Ví dụ 1 Áp dụng phương pháp của Taylor về bậc (a) hai và (b) bốn với N = 10 cho giá trị ban đầu

vấn đề

2 y = y t + 1, 0 ≤ t 2, y(0) = 0,5.

Lời giải (a) Đối với phương pháp bậc hai, chúng ta cần đạo hàm cấp một của f (t, y(t)) = y(t) t +
2 2
1 đối với biến t. Vì y = y t + 1 ta có

d
2 2
f (t, y(t)) = + 1) = y 2t = y t + 1 2t,
dt(y t

Vì thế

h
2
T(2) (ti, wi) = f (ti, wi) + h f (ti, wi) = wi t 2 + 1 + (wi t 2 + 1 2ti)
2
Tôi Tôi

2
h = 1 + 2 (wi t Tôi
+ 1) hti

Vì N = 10 nên ta có h = 0,2 và ti = 0,2i với mỗi i = 1, 2, ... , 10. Do đó phương pháp bậc hai trở thành

w0 = 0,5,

h wi+1 = wi + h 1 + 2 2 wi t tôi + 1 hti

0,2
2
= wi + 0,2 1 + (wi 0,04i + 1) 0,04i
2

Bảng 5.3
= 1,22wi 0,0088i 2 0,008i + 0,22.

Taylor
Đơn hàng 2 Lỗi |
Hai bước đầu tiên đưa ra các giá trị gần đúng

tôi Wi y(ti) wi| 2


y(0,2) ≈ w1 = 1,22(0,5) 0,0088(0) 0,008(0) + 0,22 = 0,83;
0,0 0,500000 0 2
y(0,4) ≈ w2 = 1,22(0,83) 0,0088(0,2) 0,008(0,2) + 0,22 = 1,2158
0,2 0,830000 0,000701
0,4 1,215800 0,001712
Tất cả các phép tính gần đúng và sai số của chúng được trình bày trong
0,6 1,652076 0,003135
Bảng 5.3 (b) Đối với phương pháp cấp 4 của Taylor, chúng ta cần ba đạo hàm đầu tiên của f (t, y(t))
0,8 2,132333 0,005103 2
đối với t. Một lần nữa sử dụng y = y t + 1, chúng ta có
1,0 2,648646 0,007787
1.2 3.191348 0.011407 2
f (t, y(t)) = y t + 1 2t,
1,4 3,748645 0,016245
1.6 4.306146 0.022663 d
2
f (t, y(t)) = + 1 2t) = y 2t 2
1,8 4,846299 0,031122 dt(y t
2,0 5,347684 0,042212
2
2 = y t + 1 2t 2 = y t 2t 1,

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.3 Phương pháp Taylor bậc cao 279

d 2 2
f (t, y(t)) = 2t 1) = y 2t 2 = y t 2t 1,
dt(y t

Vì thế

h h2 h3
T(4) (ti, wi) = f (ti, wi) + f (ti, wi) + f (ti, wi) +
2 6 24f (ti, wi)

2
h 2 h2 2
= wi t + 1 + (wi t + 1 2ti) + (wi t 2ti 1)
2 6
Tôi Tôi Tôi

h3 2
+ 2ti 1)
24(wi t
Tôi

h h2 h3 2
h h2
= 1 + + + (wi t ) 1 + + (hti)
2 6 24 3 12
Tôi

h h2 h3
+ 1 +
2 6 24.

Do đó phương pháp cấp 4 của Taylor là

w0 = 0,5,

h h2 h3 2
h h2
wi+1 = wi + h 1 + + + (wi t ) 1 + + hti
2 6 24 3 12
Tôi

h h2 h3
+ 1 + ,
2 6 24

với i = 0, 1, ... ,N 1.
Bởi vì N = 10 và h = 0,2 nên phương pháp trở thành

0,2 0,04 0,008 2


wi+1 = wi + 0,2 1 + + + (wi 0,04i )
2 6 24

0,2 0,04 0,2 0,04 0,008


1 + + (0,04i) + 1 +
3 12 2 6 24

2
= 1,2214wi 0,008856i 0,00856i + 0,2186,

Bảng 5.4 với mỗi i = 0, 1, ... , 9. Hai bước đầu tiên đưa ra các phép tính gần đúng

Taylor 2
y(0,2) ≈ w1 = 1,2214(0,5) 0,008856(0) 0,00856(0) + 0,2186 = 0,8293;
Đơn hàng 4 Lỗi

|y(ti) wi|
2
tôi Wi
y(0,4) ≈ w2 = 1,2214(0,8293) 0,008856(0,2) 0,00856(0,2) + 0,2186 = 1,214091
0,0 0,500000 0
0,2 0,829300 0,000001 Tất cả các phép tính gần đúng và sai số của chúng được trình bày trong Bảng 5.4.

0,4 1,214091 0,000003 So sánh các kết quả này với kết quả của phương pháp bậc 2 của Taylor trong Bảng 5.4 và bạn
0,6 1,648947 0,000006 sẽ thấy rằng kết quả ở cấp độ thứ tư vượt trội hơn rất nhiều.
0,8 2,127240 0,000010 Kết quả ở Bảng 5.4 cho thấy kết quả của phương pháp Taylor bậc 4 khá
1,0 2,640874 0,000015 chính xác tại các nút 0,2, 0,4, v.v. Nhưng giả sử chúng ta cần xác định giá trị gần đúng với
1.2 3.179964 0.000023
một điểm trung gian trong bảng, ví dụ, tại t = 1,25. Nếu chúng ta sử dụng phép nội suy tuyến tính
1,4 3,732432 0,000032
theo phương pháp gần đúng bậc bốn của Taylor tại t = 1,2 và t = 1,4, chúng ta có
1,6 4,283529 0,000045
1,8 4,815238 0,000062 1,25 - 1,4 1,25 - 1,2
2,0 5,305555 0,000083 y(1.25) ≈ 3.1799640 + 3,7324321 = 3,3180810.
1,2 1,4 1,4 1,2

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

280 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Nội suy Hermite yêu cầu cả giá trị Giá trị thực là y(1,25) = 3,3173285, do đó phép tính gần đúng này có sai số 0,0007525, gần gấp 30 lần
của hàm và
mức trung bình của các sai số xấp xỉ ở mức 1,2 và 1,4.
đạo hàm của nó tại mỗi nút. Cái này
Chúng ta có thể cải thiện đáng kể phép tính gần đúng bằng cách sử dụng phép nội suy bậc ba Hermite.
làm cho nó trở thành một phương pháp
Để xác định phép tính gần đúng này cho y(1,25) cần có các phép tính gần đúng với y (1.2) và y (1.4)
nội suy tự nhiên để xấp xỉ các
cũng như các phép tính gần đúng với y(1.2) và y(1.4). Tuy nhiên, các phép tính gần đúng cho y(1.2) và
phương trình vi phân vì những dữ liệu
y(1.4) có trong bảng, và các phép tính gần đúng đạo hàm có sẵn từ phương trình vi phân, bởi vì y (t) =
này đều có sẵn. 2
f (t, y(t)). Trong ví dụ của chúng tôi y (t) = y(t) t + 1, vậy

2
y (1.2) = y(1.2) (1.2) + 1 ≈ 3,1799640 1,44 + 1 = 2,7399640

2
y (1.4) = y(1.4) (1.4) + 1 ≈ 3,7324327 1,96 + 1 = 2,7724321.

Thủ tục chia sai phân trong Phần 3.4 cung cấp thông tin trong Bảng 5.5.
Các mục được gạch chân lấy từ dữ liệu và các mục khác sử dụng công thức sai phân được chia.

Bảng 5.5
1.2 3.1799640
2.7399640
1.2 3.1799640 0.1118825
2.7623405 0,3071225
1.4 3.7324321 0,0504580
2.7724321
1.4 3.7324321

Đa thức Hermite bậc ba là

y(t) ≈ 3.1799640 + (t 1.2)2.7399640 + (t 1.2) 2 0.1118825

2
+ (t -1,2) (t 1,4)( 0,3071225),

Vì thế

y(1,25) ≈ 3,1799640 + 0,1369982 + 0,0002797 + 0,0001152 = 3,3173571,

kết quả chính xác trong khoảng 0,0000286. Đây là mức trung bình của các sai số ở mức 1,2 và 1,4, và chỉ

4% sai số thu được khi sử dụng phép nội suy tuyến tính. Sự cải thiện về độ chính xác này chắc chắn biện

minh cho việc tính toán bổ sung cần thiết cho phương pháp Hermite.

Định lý 5.12 Nếu sử dụng phương pháp bậc n của Taylor để tính gần đúng nghiệm của

y (t) = f (t, y(t)), a ≤ t ≤ b, y(a) = α,

với kích thước bước h và nếu y Cn+1[a, b] thì lỗi cắt cụt cục bộ là O(hn).

Bằng chứng Lưu ý rằng phương trình. (5.16) ở trang 277 có thể được viết lại h2 hn

(n 1) yi+1 yi hf (ti, yi) hn+1


f (ti,
yi) ··· f 2 n! (n) (ti, yi) = f (n +1)! (ξi, y(ξi)),

đối với một số ξi trong (ti, ti+1). Vì vậy, lỗi cắt ngắn cục bộ là

yi+1 yi hn
τi+1(h) = h T(n) (ti, yi) = (n) f (n + 1)! (ξi, y(ξi)),

0, 1, ... , trên [a, b] N-1. Vì y Cn+1[a, b] nên ta có y(n+1) (t) = f (n) (t, y(t)) bị chặn với mỗi i =

và τi(h) = O(hn), với mỗi i = 1, 2, ... , N.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.3 Phương pháp Taylor bậc cao 281

Các phương thức của Taylor là các tùy chọn trong lệnh Maple LaunchValueProblem. Hình thức và kết

quả của các phương pháp Taylor giống như phương pháp Euler, như đã thảo luận trong Phần 5.1. Để thu

được phương pháp Taylor bậc 2 cho bài toán trong Ví dụ 1, trước tiên hãy nạp gói và phương trình vi

phân.

with(Student[NumericalAnalysis]) : deq := diff(y(t), t) = y(t) t 2 + 1

Sau đó phát hành

C := LaunchValueProblem(deq, y(0) = 0.5, t = 2, phương thức = taylor, order = 2, numsteps

= 10, đầu ra = thông tin, chữ số = 8)

Maple phản hồi bằng một mảng dữ liệu tương tự như dữ liệu được tạo bằng phương pháp Euler. Nhấp đúp vào kết quả

sẽ hiển thị một bảng cung cấp các giá trị của ti, giá trị nghiệm thực tế y(ti), các phép tính gần đúng Taylor

wi và các sai số tuyệt đối | y(ti) wi|. Những giá trị này phù hợp với các giá trị trong Bảng 5.3.

Để in bảng ra lệnh

với k từ 1 đến 12 do

print(C[k, 1], C[k, 2], C[k, 3], C[k, 4]) end


do

BÀI TẬP 5.3

1. Sử dụng phương pháp bậc hai của Taylor để tính gần đúng nghiệm của mỗi giá trị ban đầu sau
các vấn

đề. Một. y = te3t 2y, 0 ≤ t 1, y(0) = 0, với h = 0,5 b. y = 1

+ (t y)2, 2 ≤ t 3, y(2) = 1, với h = 0,5 c. y = 1 + y/t, 1 ≤ t 2,

y(1) = 2, với h = 0,25 d. y = cos 2t + sin 3t, 0 ≤ t 1, y(0) =

1, với h = 0,25

2. Sử dụng phương pháp bậc hai của Taylor để tính gần đúng nghiệm của mỗi giá trị ban đầu sau
các vấn

đề. Một. y = , 0 t 1, y(0) = 1, với h = 0,5


et y 1 + t
b. y = 1 , 1 ≤ t 2, y(1) = 2, với h = 0,5
+ y c.

y = y + ty1/2, 2 ≤ t 3, y(2) = 2, với h = 0,25 d. y = t 2(sin

2t 2ty), 1 ≤ t 2, y(1) = 2, với h = 0,25

3. Lặp lại Bài tập 1 sử dụng phương pháp cấp 4 của Taylor.

4. Lặp lại Bài tập 2 sử dụng phương pháp cấp 4 của Taylor.

5. Sử dụng phương pháp bậc hai của Taylor để tính gần đúng nghiệm cho mỗi giá trị ban đầu sau
các vấn đề.
2
Một. y = y/t (y/t) , 1 ≤ t ≤ 1,2, y(1) = 1, với h = 0,1

b. y = sin t + e t , 0 t 1, y(0) = 0, với h = 0,5 1 t

c. y = (y2 + y)/t, d. 3, y(1) = 2, với h = 0,5

y = ty + 4ty 1 , 0 t 1, y(0) = 1, với h = 0,25

6. Sử dụng phương pháp bậc hai của Taylor để tính gần đúng nghiệm cho mỗi giá trị ban đầu sau
các vấn đề.

2 20 a.
y = t2 + 1 , 0 t 1, y(0) = 1, với h = 0,1
y2 b. y =

1
+ t , 1 ≤ t 2, y(1) = (ln 2) 1, với h = 0,1

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

282 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

c. y = (y2 + y)/t, 1 ≤ t 3, y(1) = 2, với h = 0,2

d. y = ty + 4t/y, 0 ≤ t 1, y(0) = 1, với h = 0,1

7. Lặp lại Bài tập 5 sử dụng phương pháp cấp 4 của Taylor.

8. Lặp lại Bài tập 6 sử dụng phương pháp cấp 4 của Taylor.

9. Cho bài toán giá trị ban đầu

2
2
y = t y + t và , 1 ≤ t 2, y(1) = 0,

với nghiệm chính xác y(t) = t 2(et e):

Một. Sử dụng phương pháp bậc hai của Taylor với h = 0,1 để tính gần đúng nghiệm và so sánh nó với

các giá trị thực tế của y.

b. Sử dụng các câu trả lời ở phần (a) và phép nội suy tuyến tính để tính gần đúng y ở phần sau

giá trị và so sánh chúng với giá trị thực tế của y.

Tôi. y(1.04) ii. y(1,55) iii. y(1.97)

c. Sử dụng phương pháp bậc 4 của Taylor với h = 0,1 để tính gần đúng nghiệm và so sánh nó

với giá trị thực tế của y.

d. Sử dụng các câu trả lời được tạo ra trong phần (c) và phép nội suy Hermite bậc ba từng phần để tính gần đúng

y tại các giá trị sau và so sánh chúng với giá trị thực tế của y.

Tôi. y(1.04) ii. y(1.55) iii. y(1.97)

10. Cho bài toán giá trị ban đầu

1 y
y = y2 , 1 ≤ t 2, y(1) = 1,
t2 t

với nghiệm chính xác y(t) = 1/t:

Một. Sử dụng phương pháp bậc hai của Taylor với h = 0,05 để tính gần đúng nghiệm và so sánh nó

với giá trị thực tế của y.

b. Sử dụng các câu trả lời ở phần (a) và phép nội suy tuyến tính để tính gần đúng các giá trị sau

của y và so sánh chúng với giá trị thực tế.

Tôi. y(1.052) ii. y(1.555) c. Sử dụng phương iii. y(1.978)

pháp bậc 4 của Taylor với h = 0,05 để tính gần đúng nghiệm và so sánh nó

với giá trị thực tế của y.

d. Sử dụng các câu trả lời được tạo ra trong phần (c) và phép nội suy Hermite bậc ba từng phần để tính gần đúng

các giá trị sau của y và so sánh chúng với các giá trị thực tế.

Tôi. y(1.052) ii. y(1.555) iii. y(1.978)

11. Một viên đạn có khối lượng m = 0,11 kg bắn thẳng đứng lên trên với vận tốc ban đầu v(0) = 8 m/s thì chuyển động chậm lại

do trọng lực, Fg = mg, và do sức cản của không khí, Fr = kv|v|, trong đó g = 9,8 m/s2
và k = 0,002 kg/m. Phương trình vi phân của vận tốc v được cho bởi

mv = mg kv|v|.

Một. Tìm vận tốc sau 0,1, 0,2, ... , 1,0 s.

b. Đến phần mười giây gần nhất, xác định khi nào viên đạn đạt đến độ cao tối đa và

bắt đầu rơi xuống.

12. Sử dụng phương pháp Taylor bậc 2 với h = 0,1 để tính gần đúng nghiệm của

y = 1 + t sin(ty), 0 ≤ t 2, y(0) = 0.

5.4 Phương pháp Runge-Kutta

Các phương pháp Taylor được nêu trong phần trước có đặc tính mong muốn là lỗi cắt cụt cục bộ
bậc cao, nhưng nhược điểm là yêu cầu tính toán và đánh giá.
của đạo hàm của f (t, y). Đây là một thủ tục phức tạp và tốn thời gian đối với hầu hết
nhiều vấn đề nên phương pháp Taylor ít được sử dụng trong thực tế.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.4 Phương pháp Runge-Kutta 283

Vào cuối những năm 1800, Carl Runge Phương pháp Runge-Kutta có lỗi cắt cụt cục bộ bậc cao của phương pháp Taylor nhưng
(1856–1927) đã sử dụng các phương loại bỏ nhu cầu tính toán và đánh giá đạo hàm của f (t, y). Trước khi trình bày các ý
pháp tương tự như trong phần này để
tưởng đằng sau sự suy ra của chúng, chúng ta cần xem xét Định lý Taylor theo hai biến.
rút ra được nhiều công thức
Bằng chứng của kết quả này có thể được tìm thấy trong bất kỳ cuốn sách tiêu chuẩn nào về phép tính nâng cao
xấp xỉ lời giải của các bài toán
(ví dụ, xem [Fu], trang 331).
có giá trị ban đầu.

Định lý 5.13 Giả sử f (t, y) và mọi đạo hàm riêng của nó cấp nhỏ hơn hoặc bằng n + 1 đều liên tục
trên D = {(t, y) | a ≤ t ≤ b, c ≤ y ≤ d}, và let (t0, y0) D. Với mọi (t, y) D,
tồn tại ξ giữa t và t0 và μ giữa y và y0 với

f (t, y) = Pn(t, y) + Rn(t, y),

Năm 1901, Martin Wilhelm Kutta (1867–


Ở đâu
1944) đã khái quát hóa các phương

pháp mà Runge phát triển năm 1895 để f f


Pn(t, y) = f (t0, y0) + (t t0) (t0, y0) + (y y0) (t0, y0) t y
kết hợp các hệ phương trình vi phân

bậc nhất.

Những kỹ thuật này hơi khác so với (t t0)2 2f 2f (t0, y0) + (t t0)(y y0) (t0,
+ y0) t2 2 t y
những kỹ thuật mà chúng ta hiện

gọi là phương pháp Runge-Kutta.

(y y0)2 2f
+ (t0, y0) +···
2 y2

N
1 N nf
+ n j (t t0) j (y y0) (t0, y0)
j tn j y j
N! j=0

n+1
1 n + 1 n+1f
n+1 j
Rn(t, y) = (t t0) (ξ ,μ).(y tn+1
y0)jj y j
(n + 1)! j
j=0

Hàm Pn(t, y) được gọi là đa thức Taylor thứ n hai biến cho
hàm f về (t0, y0), và Rn(t, y) là số hạng còn lại gắn với Pn(t, y).

Ví dụ 1 Sử dụng Maple để xác định P2(t, y), đa thức Taylor thứ hai về (2, 3) cho hàm

(t 2)2 (y 3)2
f (t, y) = exp cos(2t + y 7)
4 4

Giải Để xác định P2(t, y) chúng ta cần các giá trị của f và đạo hàm riêng cấp một và cấp
hai của nó tại (2, 3). Việc đánh giá chức năng rất dễ dàng

02/4 02/4
f (2, 3) = e cos(4 + 3 7) = 1,

nhưng việc tính toán đạo hàm riêng khá tẻ nhạt. Tuy nhiên, đa thức Taylor chiều cao hơn
có sẵn trong gói con MultivariateCalculus của gói Sinh viên , được truy cập bằng lệnh

with(Sinh viên[Tính toán đa biến])

Tùy chọn đầu tiên của lệnh Xấp xỉ Taylor là hàm, tùy chọn thứ hai chỉ định điểm (t0,
y0) nơi đa thức được căn giữa và tùy chọn thứ ba chỉ định bậc của đa thức. Vì vậy chúng
ta ra lệnh

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

284 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

(t 2)2
4
Xấp xỉ Taylor e (y 3)2 4 cos(2t + y 7), [t, y]=[2, 3], 2

Phản hồi từ lệnh Maple này là đa thức

9 1 2 2
(t 2) 4 3 2(t 2)(y 3) (y 3) 4

Tùy chọn vẽ đồ thị cũng có sẵn bằng cách thêm tùy chọn thứ tư vào lệnh Xấp xỉ Taylor ở dạng đầu

ra = lô. Tuy nhiên, đồ thị ở dạng mặc định khá thô vì không có nhiều điểm được vẽ cho hàm số và đa

thức. Một minh họa tốt hơn được thấy trong Hình 5.5.

Hình 5.5

2
P2(t, y) 1 9 (t 2)2 2(t 2)(y 3) 4 3 (y 3) 4
t

f(t, y)

f(t, y) exp {(t 2)2/4 (y 3)2/4} cos (2t y 7) y

Tham số cuối cùng trong lệnh này chỉ ra rằng chúng ta muốn đa thức Taylor đa biến thứ hai, tức

là đa thức bậc hai. Nếu tham số này là 2, chúng ta nhận được đa thức bậc hai và nếu nó là 0 hoặc 1,

chúng ta nhận được đa thức không đổi 1, vì không có thuật ngữ tuyến tính. Khi tham số này bị bỏ qua,

nó mặc định là 6 và cho ra đa thức Taylor thứ sáu.

Phương pháp Runge-Kutta bậc hai

Bước đầu tiên để rút ra phương pháp Runge-Kutta là xác định các giá trị của a1, α1 và β1 với tính

chất gần đúng với a1f (t + α1, y + β1)

T(2) (t, y) = f (t, y) + hf ( t, y),


2

với sai số không lớn hơn O(h2), tương tự như bậc của lỗi cắt cụt cục bộ đối với phương pháp Taylor

bậc hai. Từ

df f ff (t, y) = (t, y) =
(t, y) + (t, y) · y (t) và y (t) = f (t, y), dt t y

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.4 Phương pháp Runge-Kutta 285

chúng ta có

h f h f (t, y) + (t,
T(2) (t, y) = f (t, y) + y) · f (t, y). t 2 y (5.18)
2

Khai triển f (t + α1, y + β1) theo đa thức Taylor bậc một về (t, y) ta có

f
a1f (t + α1, y + β1) = a1f (t, y) + a1α1 (t, y) t

f
+ a1β1 (t, y) + a1 · R1(t + α1, y + β1), y (5.19)

Ở đâu

α2 2f 2f β2 2f
R1(t + α1, y + β1) = (ξ ,μ) + α1β1 (ξ ,μ) + (ξ ,μ), t2 y2 t y (5.20)
1 2 1 2

với một số ξ giữa t và t + α1 và μ giữa y và y + β1.

So khớp các hệ số của f và các đạo hàm của nó trong các phương trình. (5.18) và (5.19) đưa ra ba phương

trình

f h (t, y): a1α1 = ; f h (t, y): a1β1 = f


f (t, y): a1 = 1; và 2 (t, y). 2 y
t

Do đó, các tham số a1, α1 và β1 là

h a1 = 1, α1 = , h và β1 = f (t, y), 2
2

Vì thế

hhhh f (t, y) R1 t + f (t, y) , , y + , y +


T(2) (t, y) = ft + 2 2 2 2

và từ phương trình. (5.20),

h2 2f h2 2f hh
R1 t + f (t, y) = (ξ ,μ) + f (t, y) (ξ ,μ) , y + t2 2 2 4 t y
số 8

h2 2f (f (t, y))2
+ (ξ ,μ). y2
số 8

Nếu tất cả các đạo hàm riêng bậc hai của f bị chặn thì

hf ( t, y)
R1 t + , y + 2
2

là O(h2). Kết quả là:

• Thứ tự sai số của phương pháp mới này giống như thứ tự của phương pháp Taylor
hai.

Phương pháp phương trình sai phân thu được từ việc thay thế T(2) (t, y) trong phương pháp bậc hai của

Taylor bằng f (t + (h/2), y + (h/2)f (t, y)) là một phương pháp Runge-Kutta cụ thể được gọi là phương pháp

Midpoint.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

286 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Phương pháp điểm giữa

w0 = α,

hh wi+1 =
wi + hf ti + f (ti, wi) , , wi + 2 2 với i = 0, 1, ... , N 1.

Chỉ có ba tham số có mặt trong a1f (t + α1, y + β1) và tất cả đều cần thiết trong khớp T(2)

. Vì vậy cần có một dạng phức tạp hơn để thỏa mãn các điều kiện của bất kỳ phương pháp Taylor

bậc cao nào.

Dạng bốn tham số thích hợp nhất để tính gần đúng

h2
T(3) (t, y) = f (t, y) + h f (t, y) + f (t, y) 2 6

a1f (t, y) + a2f (t + α2, y + δ2f (t, y)); (5.21)

và ngay cả với điều này, vẫn không đủ linh hoạt để phù hợp với thuật ngữ

2
h2 f
(t, y) f (t, y),
6 y

là kết quả của sự khai triển của (h2/6)f (t, y). Do đó, kết quả tốt nhất có thể thu được từ việc sử dụng (5.21)

là các phương pháp có lỗi cắt cụt cục bộ O(h2) .

Tuy nhiên, thực tế là (5.21) có bốn tham số, mang lại sự linh hoạt trong việc lựa chọn chúng, do đó có

thể rút ra một số phương pháp O(h2) . Một trong những phương pháp quan trọng nhất là phương pháp Euler sửa

đổi, tương ứng với việc chọn a1 = a2 = và α2 = δ2 = h. Nó có dạng phương trình


1 2
sai phân sau đây.

Phương pháp Euler sửa đổi

w0 = α,

+ 2 h [f (ti, wi) + f (ti+1, wi + hf (ti, wi))], với i = 0, 1, ... , N 1. wi+1 = wi

Ví dụ 2 Sử dụng phương pháp Trung điểm và phương pháp Euler sửa đổi với N = 10, h = 0,2, ti = 0,2i và w0 = 0,5 để tính gần đúng

nghiệm cho ví dụ thông thường của chúng ta,

2 y = y t + 1, 0 ≤ t 2, y(0) = 0,5.

Lời giải Các phương trình sai phân được tạo ra từ các công thức khác nhau là

2
Phương pháp điểm giữa: wi+1 = 1,22wi 0,0088i 0,008i + 0,218;

2
Phương pháp Euler sửa đổi: wi+1 = 1,22wi 0,0088i 0,008i + 0,216,

với mỗi i = 0, 1, ... , 9. Hai bước đầu tiên của các phương pháp này đưa ra

2
Phương pháp điểm giữa: w1 = 1,22(0,5) 0,0088(0) 0,008(0) + 0,218 = 0,828;

2
Phương pháp Euler sửa đổi: w1 = 1,22(0,5) 0,0088(0) 0,008(0) + 0,216 = 0,826,

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.4 Phương pháp Runge-Kutta 287

2
Phương pháp điểm giữa: w2 = 1,22(0,828) 0,0088(0,2) 0,008(0,2) + 0,218

= 1,21136;

2
Phương pháp Euler đã sửa đổi: w2 = 1,22(0,826) 0,0088(0,2) 0,008(0,2) + 0,216

= 1,20692,

Bảng 5.6 liệt kê tất cả các kết quả tính toán. Đối với bài toán này, phương pháp Trung điểm
ưu việt hơn phương pháp Euler sửa đổi.

Bảng 5.6 Euler đã sửa đổi


Điểm giữa
tôi
y(ti) Phương pháp Lỗi Phương pháp Lỗi

0,0 0,5000000 0,5000000 0 0,5000000 0


0,2 0.8292986 0,8280000 0,0012986 0,8260000 0,0032986
0,4 1.2140877 1,2113600 0,0027277 1,2069200 0,0071677
0,6 1.6489406 1,6446592 0,0042814 1,6372424 0,0116982
0,8 2.1272295 2,1212842 0,0059453 2,1102357 0,0169938
1,0 2.6408591 2,6331668 0,0076923 2,6176876 0,0231715
1,2 3.1799415 3,1704634 0,0094781 3,1495789 0,0303627
1,4 3.7324000 3,7211654 0,0112346 3,6936862 0,0387138
1.6 4.2834838 4,2706218 0,0128620 4,2350972 0,0483866
1.8 4.8151763 4.8009586 0,0142177 4,7556185 0,0595577
2.0 5.3054720 5.2903695 0,0151025 5.2330546 0,0724173

Các phương pháp Runge-Kutta cũng là các tùy chọn trong lệnh MapleValueVấn đề giá trị ban đầu.
Hình thức và đầu ra của các phương pháp Runge-Kutta giống như trong Euler's
và các phương pháp của Taylor, như được thảo luận trong Phần 5.1 và 5.2.

Phương pháp Runge-Kutta bậc cao hơn

Thuật ngữ T(3) (t, y) có thể được tính gần đúng với sai số O(h3) bằng biểu thức có dạng

f (t + α1, y + δ1f (t + α2, y + δ2f (t, y))),

gồm bốn tham số, đại số dùng để xác định α1, δ1, α2 và δ2 là
Karl Heun (1859–1929) là một khá tham gia. O(h3) phổ biến nhất là phương pháp Heun, được đưa ra bởi
giáo sư tại Kỹ thuật

Đại học Karlsruhe. Anh ta w0 = α

đã giới thiệu kỹ thuật này trong một


h 2 giờ 2 giờ h h
wi+1 = wi + 4 f (ti, wi) + 3f ti + 3 , có + 3 f tôi + 3 , có + 3f (ti, wi) ,
bài báo xuất bản năm 1900. [Heu]

với i = 0, 1, ... , N 1.

Minh họa Áp dụng phương pháp Heun với N = 10, h = 0,2, ti = 0,2i và w0 = 0,5 để xấp xỉ
giải pháp cho ví dụ thông thường của chúng ta,

2
y = y t + 1, 0 ≤ t 2, y(0) = 0,5.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

288 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

đưa ra các giá trị trong Bảng 5.7. Lưu ý lỗi giảm trong toàn bộ phạm vi trên Điểm giữa
và xấp xỉ Euler đã sửa đổi.

Bảng 5.7
của Heun

tôi
y(ti) Phương pháp Lỗi

0,0 0,5000000 0,5000000 0


0,2 0.8292986 0,8292444 0,0000542
0,4 1.2140877 1,2139750 0,0001127
0,6 1.6489406 1,6487659 0,0001747
0,8 2.1272295 2,1269905 0,0002390
1,0 2.6408591 2,6405555 0,0003035
1,2 3.1799415 3,1795763 0,0003653
1,4 3.7324000 3,7319803 0,0004197
1.6 4.2834838 4,2830230 0,0004608
1.8 4.8151763 4.8146966 0,0004797
2.0 5.3054720 5.3050072 0,0004648

Các phương pháp Runge-Kutta cấp ba thường không được sử dụng. Phương pháp Runge-Kutta phổ
biến nhất được sử dụng là phương pháp bậc bốn ở dạng phương trình sai phân, được đưa ra như sau.

Runge-Kutta Lệnh Bốn


w0 = α,

k1 = hf (ti, wi),

h 1
k2 = hf ti + , với + k1 ,
2 2

h 1
k3 = hf ti + , với + k2 ,
2 2

k4 = hf (ti+1, wi + k3),

1
wi+1 = wi + (k1 + 2k2 + 2k3 + k4),
6

với mỗi i = 0, N 1. Phương pháp này có lỗi cắt cụt cục bộ O(h4), với điều kiện là
1, ... , nghiệm y(t) có năm đạo hàm liên tục. Ta đưa các ký hiệu k1, k2, k3, k4 vào
phương pháp này là loại bỏ sự cần thiết phải lồng liên tiếp vào biến thứ hai của f (t, y).
Bài tập 32 cho thấy việc lồng ghép này trở nên phức tạp như thế nào.

Thuật toán 5.2 triển khai phương pháp Runge-Kutta cấp 4.

Thuật toán Runge-Kutta (Bậc Bốn)


5.2
Để tính gần đúng lời giải của bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α,

tại (N + 1) các số cách đều nhau trong khoảng [a, b]:

INPUT điểm cuối a, b; số nguyên N; điều kiện ban đầu α.

Xấp xỉ OUTPUT w đến y tại các giá trị (N + 1) của t.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.4 Phương pháp Runge-Kutta 289

Bước 1 Đặt h = (b a)/N;


t = a;
w = α;
ĐẦU RA (t, w).

Bước 2 Với i = 1, 2, ... , N thực hiện Bước 3–5.

Bước 3 Đặt K1 = hf (t, w);


K2 = hf (t + h/2, w + K1/2);
K3 = hf (t + h/2, w + K2/2);
K4 = hf (t + h,w+ K3).

Bước 4 Đặt w = w + (K1 + 2K2 + 2K3 + K4)/6; (Tính toán wi.)


t = a + ih. (Tính t.)

Bước 5 ĐẦU RA (t, w).

Bước 6 DỪNG.

Ví dụ 3 Sử dụng phương pháp Runge-Kutta bậc 4 với h = 0,2, N = 10 và ti = 0,2i để thu được
các xấp xỉ của lời giải của bài toán giá trị ban đầu

2
y = y t + 1, 0 ≤ t 2, y(0) = 0,5.

Giải Phép tính gần đúng của y(0,2) thu được bằng cách

w0 = 0,5

k1 = 0,2f (0, 0,5) = 0,2(1,5) = 0,3

k2 = 0,2f (0,1, 0,65) = 0,328

k3 = 0,2f (0,1, 0,664) = 0,3308

k4 = 0,2f (0,2, 0,8308) = 0,35816

1
w1 = 0,5 + (0,3 + 2(0,328) + 2(0,3308) + 0,35816) = 0,8292933.
6

Các kết quả còn lại và sai số của chúng được liệt kê trong Bảng 5.8.

Bảng 5.8
Runge-Kutta
Chính Lệnh Bốn Lỗi

tôi xác yi = y(ti) Wi |yi wi|

0,0 0,5000000 0,5000000 0


0,2 0,8292986 0,8292933 0,0000053
0,4 1,2140877 1,2140762 0,0000114
0,6 1.6489406 1.6489220 0,0000186
0,8 2.1272295 2.1272027 0,0000269
1.0 2.6408591 2.6408227 0,0000364
1.2 3.1799415 3.1798942 0,0000474
1.4 3.7324000 3.7323401 0,0000599
1.6 4.2834838 4.2834095 0,0000743
1.8 4.8151763 4.8150857 0,0000906
2.0 5.3054720 5.3053630 0,0001089

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

290 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Để có được kết quả của phương pháp Runge-Kutta order 4 với LaunchValueProblem, hãy sử dụng tùy chọn

phương thức = rungekutta, phương thức phụ = rk4. Các kết quả được tạo ra từ lời kêu gọi sau đây cho
bài toán ví dụ tiêu chuẩn phù hợp với các bài toán trong Bảng 5.6.

C := LaunchValueProblem(deq, y(0) = 0.5, t = 2, Method = rungekutta,submethod =


rk4, numsteps = 10, đầu ra = thông tin, chữ số = 8)

So sánh tính toán


Nỗ lực tính toán chính trong việc áp dụng các phương pháp Runge-Kutta là đánh giá f .
Trong các phương pháp bậc hai, lỗi cắt cụt cục bộ là O(h2) và chi phí là hai hàm

đánh giá theo từng bước Phương pháp Runge-Kutta cấp 4 yêu cầu 4 đánh giá mỗi bước,
và lỗi cắt ngắn cục bộ là O(h4). Butcher (xem [Nhưng] để biết tóm tắt) đã thiết lập
mối quan hệ giữa số lượng đánh giá mỗi bước và thứ tự cắt ngắn cục bộ
lỗi thể hiện ở bảng 5.9. Bảng này chỉ ra lý do tại sao các phương thức đặt hàng ít hơn năm với
kích thước bước nhỏ hơn được sử dụng ưu tiên hơn các phương pháp bậc cao hơn sử dụng kích thước bước lớn hơn.

Bảng 5.9
Đánh giá từng bước 2 3 4 5 ≤ n 7 8 ≤ n 9 10 ≤ n

Địa phương tốt nhất có thể


O(h2) O(h3) O(h4) O(hn 1) O(hn 2) O(hn 3)
gia m thiê u lôi

Một biện pháp so sánh các phương pháp Runge-Kutta bậc thấp hơn được mô tả là
sau:

• Phương pháp Runge-Kutta cấp bốn yêu cầu bốn đánh giá mỗi bước, trong khi phương pháp của Euler
phương pháp chỉ yêu cầu một đánh giá. Do đó, nếu phương pháp Runge-Kutta cấp 4 là
để vượt trội hơn, nó phải đưa ra câu trả lời chính xác hơn phương pháp của Euler với 1/4
kích thước bước. Tương tự, nếu phương pháp Runge-Kutta bậc 4 tốt hơn phương pháp Runge-Kutta
phương pháp Runge-Kutta bậc hai, yêu cầu hai đánh giá mỗi bước, nên
cho độ chính xác cao hơn với kích thước bước h so với phương pháp bậc hai với kích thước bước h/2.

Phần sau đây minh họa tính ưu việt của phương pháp cấp 4 Runge-Kutta bằng cách
thước đo này cho bài toán giá trị ban đầu mà chúng ta đang xem xét.

Minh họa cho vấn đề

2
y = y t + 1, 0 ≤ t 2, y(0) = 0,5,

Phương pháp Euler với h = 0,025, phương pháp Trung điểm với h = 0,05 và phương pháp bậc bốn Runge-
Kutta với h = 0,1 được so sánh tại các điểm lưới chung của các phương pháp này.
phương pháp 0,1, 0,2, 0,3, 0,4 và 0,5. Mỗi kỹ thuật này yêu cầu 20 đánh giá chức năng
để xác định các giá trị liệt kê trong Bảng 5.10 xấp xỉ y(0,5). Trong ví dụ này,
phương pháp bậc bốn rõ ràng là ưu việt hơn.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.4 Phương pháp Runge-Kutta 291

Bảng 5.10 Đã sửa đổi Runge-Kutta


Euler Euler Lệnh Bốn

tôi
Chính xác h = 0,025 h = 0,05 h = 0,1

0,0 0,5000000 0,5000000 0,5000000 0,5000000


0,1 0,6574145 0,6554982 0,6573085 0.6574144
0,2 0,8292986 0,8253385 0,8290778 0.8292983
0,3 1,0150706 1,0089334 1,0147254 1.0150701
0,4 1,2140877 1,2056345 1,2136079 1.2140869
0,5 1,4256394 1,4147264 1,4250141 1.4256384

BÀI TẬP 5.4

1. Sử dụng phương pháp Euler đã sửa đổi để tính gần đúng nghiệm của từng giá trị ban đầu sau
vấn đề và so sánh kết quả với giá trị thực tế.
1 1
Một. y = te3t 2y, 0 ≤ t 1, y(0) = 0, với h = 0,5; nghiệm thực tế y(t) = te3t e3t +
5 25
1
e 2t .
25
1
b. y = 1 + (t y)2, 2 ≤ t 3, y(2) = 1, với h = 0,5; nghiệm thực tế y(t) = t + .
1 t

c. y = 1 + y/t, 1 ≤ t 2, y(1) = 2, với h = 0,25; nghiệm thực tế y(t) = t ln t + 2t.

d. y = cos 2t + sin 3t, 0 ≤ t ≤ 1, y(0) = 1, với h = 0,25; nghiệm thực tế y(t) = cos 3t +
1 1 4
tội lỗi 2t .
2 3 3

2. Sử dụng phương pháp Euler đã sửa đổi để tính gần đúng nghiệm của từng giá trị ban đầu sau
vấn đề và so sánh kết quả với giá trị thực tế.

Một. y = et y , 0 t 1, y(0) = 1, với h = 0,5; nghiệm thực tế y(t) = ln(et + e 1).


1 + t
b. y = 1 , 1 ≤ t 2, y(1) = 2, với h = 0,5; nghiệm thực tế y(t) = √t2 + 2t + 6 1.
+ y

c. y = y + ty1/2, 2 ≤ t 3, y(2) = 2, với h = 0,25; nghiệm thực tế y(t) =


2

t 2 + √2ee t/2 .

d. y = t 2(sin 2t 2ty), t 1 ≤ t 2, y(1) = 2, với h = 0,25; nghiệm thực tế y(t) =


1
2
2(4 + cos 2 cos 2t).

3. Sử dụng phương pháp Euler đã sửa đổi để tính gần đúng nghiệm của từng giá trị ban đầu sau
vấn đề và so sánh kết quả với giá trị thực tế.

2
Một. y = y/t (y/t) , 1 ≤ t 2, y(1) = 1, với h = 0,1; nghiệm thực y(t) = t/(1 + ln t).
2
b. y = 1+y/t +(y/t) , 1 t 3, y(1) = 0, với h = 0,2; nghiệm thực tế y(t) = t tan(ln t).

c. y = (y + 1)(y + 3), 0 ≤ t 2, y(0) = 2, với h = 0,2; nghiệm thực tế y(t) =

3 + 2(1 + e 2t ) 1.

2 1 2 1
d. y = 5y+5t +2t, 0 ≤ t ≤ 1, y(0) = 4. Sử 3 , với h = 0,1; nghiệm thực tế y(t) = t + 3 e 5t .

dụng phương pháp Euler đã sửa đổi để tính gần đúng nghiệm của từng giá trị ban đầu sau
vấn đề và so sánh kết quả với giá trị thực tế.

2 20 2t + 1
Một. y = , 0 t 1, y(0) = 1, với h = 0,1; nghiệm thực tế y(t) = t2 + 1 .
t2 + 1

y2
1
b. y = 1 , 1 ≤ t 2, y(1) = (ln 2) 1, với h = 0,1; nghiệm thực tế y(t) = ln(t + 1) .
+ t

2t
c. y = (y2 + y)/t, 1 ≤ t 3, y(1) = 2, với h = 0,2; nghiệm thực tế y(t) = .
1 2t

d. y = ty + 4t/y, 0 ≤ t ≤ 1, y(0) = 1, với h = 0,1; nghiệm thực y(t) = 4 3e t2 .

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

292 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

5. Lặp lại Bài tập 1 bằng phương pháp Điểm giữa.

6. Lặp lại Bài tập 2 bằng phương pháp Điểm giữa.

7. Lặp lại Bài tập 3 bằng phương pháp Điểm giữa.

8. Lặp lại Bài tập 4 bằng phương pháp Điểm giữa.

9. Lặp lại bài tập 1 theo phương pháp của Heun.

10. Lặp lại bài tập 2 theo phương pháp của Heun.

11. Lặp lại bài tập 3 theo phương pháp của Heun.

12. Lặp lại bài tập 4 theo phương pháp của Heun.

13. Lặp lại Bài tập 1 bằng phương pháp Runge-Kutta bậc bốn.

14. Lặp lại Bài tập 2 sử dụng phương pháp Runge-Kutta bậc 4.

15. Lặp lại Bài tập 3 bằng phương pháp Runge-Kutta bậc bốn.

16. Lặp lại Bài tập 4 bằng phương pháp Runge-Kutta bậc bốn.

17. Sử dụng kết quả của Bài tập 3 và phép nội suy tuyến tính để tính gần đúng giá trị của y(t) và so sánh kết quả với giá trị thực tế.

Một. y(1.25) và y(1.93) b. y(2.1) và y(2.75) d.

c. y(1.3) và y(1.93) y(0,54) và y(0,94)

18. Sử dụng kết quả của Bài tập 4 và phép nội suy tuyến tính để tính gần đúng giá trị của y(t) và so sánh kết quả với giá trị thực tế.

Một. y(0,54) và y(0,94) b. y(1.25) và y(1.93) d.

c. y(1.3) và y(2.93) y(0,54) và y(0,94)

19. Làm lại Bài tập 17 sử dụng kết quả của Bài tập 7.

20. Làm lại Bài tập 18 sử dụng kết quả của Bài tập 8.

21. Làm lại Bài tập 17 sử dụng kết quả của Bài tập 11.

22. Lặp lại Bài tập 18 sử dụng kết quả của Bài tập 12.

23. Làm lại Bài tập 17 sử dụng kết quả của Bài tập 15.

24. Làm lại Bài tập 18 sử dụng kết quả của Bài tập 16.

25. Sử dụng kết quả của Bài tập 15 và phép nội suy Cubic Hermite để tính gần đúng các giá trị của y(t) và
so sánh giá trị gần đúng với giá trị thực tế. Một.
y(1.25) và y(1.93) b. y(2.1) và y(2.75) c. y(1.3) và y(1.93) d. y(0,54) và
y(0,94)

26. Sử dụng kết quả của Bài tập 16 và phép nội suy Cubic Hermite để tính gần đúng các giá trị của y(t) và
so sánh giá trị gần đúng với giá trị thực tế. Một.

y(0,54) và y(0,94) b. y(1.25) và y(1.93) c. y(1.3) và y(2.93) d. y(0,54) và


y(0,94)

27. Chứng minh rằng phương pháp Trung điểm và phương pháp Euler sửa đổi cho các kết quả gần đúng giống nhau cho
bài toán giá trị ban đầu

y = y + t + 1, 0 ≤ t 1, y(0) = 1,

cho bất kỳ sự lựa chọn nào của h. Tại sao điều này là đúng?

28. Nước chảy từ bể hình nón ngược có lỗ tròn với tốc độ

dx √x
= 0,6πr2 2g dt ,
A(x)

Trong đó r là bán kính của lỗ, x là chiều cao của mực chất lỏng tính từ đỉnh hình nón và A(x) là diện tích
mặt cắt ngang của bể x đơn vị phía trên lỗ. Giả sử r = 0,1 ft, g = 32,1 ft/s2 và bể có mực nước ban đầu là
8 ft và thể tích ban đầu là 512(π/3) ft3. Sử dụng phương pháp Runge-Kutta cấp 4 để tìm kết quả sau.

Một. Mực nước sau 10 phút có h = 20 s

b. Khi bể sẽ trống, trong vòng 1 phút.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.5 Kiểm soát lỗi và Phương pháp Runge-Kutta-Fehlberg 293

29. Phản ứng hóa học không thuận nghịch trong đó hai phân tử rắn kali dicromat (K2Cr2O7), hai phân tử nước (H2O) và ba

nguyên tử lưu huỳnh rắn (S) kết hợp với nhau tạo ra ba phân tử khí sulfur dioxide ( SO2), bốn các phân tử kali

hydroxit rắn (KOH) và hai phân tử oxit crom rắn (Cr2O3) có thể được biểu diễn một cách tượng trưng bằng phương

trình cân bằng hóa học:

2K2Cr2O7 + 2H2O + 3S 4KOH + 2Cr2O3 + 3SO2.

Nếu ban đầu có sẵn n1 phân tử K2Cr2O7, n2 phân tử H2O và n3 phân tử S thì phương trình vi phân sau đây mô tả

lượng x(t) KOH sau thời gian t:

2 2 3
dx x x 3x
= k n1 dt n2 n3 ,
2 2 4

trong đó k là hằng số vận tốc của phản ứng. Nếu k = 6,22 × 10 19, n1 = n2 = 2 × 103 và n3 = 3 × 103, hãy sử

dụng phương pháp Runge-Kutta bậc 4 để xác định có bao nhiêu đơn vị kali hydroxit sẽ được hình thành sau 0,2 s?

30. Chứng minh rằng phương pháp sai phân

w0 = α,

wi+1 = wi + a1f (ti, wi) + a2f (ti + α2, w1 + δ2f (ti, wi)),

mỗi i = 0, 1, ... , a1, N 1, không thể có lỗi cắt cụt cục bộ O(h3) đối với bất kỳ lựa chọn hằng số nào cho
a2, α2 và δ2.

31. Chứng minh rằng phương pháp Heun có thể biểu diễn dưới dạng sai phân tương tự như phương pháp Runge-Kutta
phương pháp bậc bốn, như

w0 = α,

k1 = hf (ti, wi),

h 1 k2 =
hf ti + k1 , , wi + 3 3

2h 2 k3 =
hf ti + k2 , , wi + 3
3

wi+1 = wi + 4 1 (k1 + 3k3),

với mỗi i = 0, 1, ... , N 1.

32. Phương pháp Runge-Kutta bậc bốn có thể được viết dưới dạng

w0 = α,

hh f (ti, wi) +
f (ti + α1h, wi + δ1hf (ti, wi)) wi+1 = wi + 6 3

3 h f (ti + α2h, wi + δ2hf (ti + γ2h, wi + γ3hf (ti, wi))) +

h f (ti + α3h, wi + δ3hf (ti + γ4h, wi + γ5hf (ti + γ6h, wi + γ7hf (ti, wi)))). + 6

Tìm giá trị của các hằng số

α1, α2, α3, δ1, δ2, δ3, γ2, γ3, γ4, γ5, γ6 và γ7.

5.5 Kiểm soát lỗi và Phương pháp Runge-Kutta-Fehlberg

Trong Phần 4.6 chúng ta đã thấy rằng việc sử dụng thích hợp các kích thước bước khác nhau cho phép

tính gần đúng tích phân đã tạo ra các phương pháp hiệu quả. Bản thân điều này có thể không đủ để ủng

hộ các phương pháp này do sự phức tạp ngày càng tăng khi áp dụng chúng. Tuy nhiên, chúng có một đặc điểm khác

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

294 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

điều đó làm cho chúng có giá trị. Chúng kết hợp trong quy trình kích thước bước một ước tính về lỗi

cắt cụt mà không yêu cầu xấp xỉ các đạo hàm cao hơn của hàm. Các phương pháp này được gọi là thích
Bạn có thể muốn xem lại tài liệu

Adaptive Quadrature trong Phần 4.6 trước ứng vì chúng điều chỉnh số lượng và vị trí của các nút được sử dụng trong phép tính gần đúng để đảm

khi xem xét tài liệu này. bảo rằng lỗi cắt cụt được giữ trong một giới hạn xác định.

Có một mối liên hệ chặt chẽ giữa bài toán xấp xỉ giá trị của tích phân xác định và bài toán xấp xỉ nghiệm

của bài toán giá trị ban đầu. Do đó, không có gì đáng ngạc nhiên khi có các phương pháp thích ứng để tính gần

đúng nghiệm của các bài toán có giá trị ban đầu và các phương pháp này không chỉ hiệu quả mà còn kết hợp với việc

kiểm soát lỗi.

Bất kỳ phương pháp một bước nào để tính gần đúng nghiệm y(t) của bài toán giá trị ban đầu

y = f (t, y), với a ≤ t ≤ b, với y(a) = α

có thể được biểu diễn dưới dạng

wi+1 = wi + hiφ(ti, wi, hi), với i = 0, 1, ... , N 1,

đối với một số hàm φ.

Phương pháp phương trình sai phân lý tưởng

wi+1 = wi + hiφ(ti, wi, hi), i = 0, 1, ... , N 1,

để xấp xỉ nghiệm y(t) của bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α,

sẽ có đặc tính là, với dung sai ε > 0, số lượng điểm lưới tối thiểu có thể được sử dụng để đảm bảo

rằng lỗi toàn cục, | y(ti) wi|, không vượt quá ε với bất kỳ i = N nào. Việc có số lượng điểm lưới

có gì tối thiểu và đồng thời kiểm soát lỗi toàn cục 0, 1, ... của một phương pháp sai phân, không

đáng ngạc nhiên, không nhất quán với các điểm cách đều nhau trong khoảng. Trong phần này chúng ta xem

xét các kỹ thuật được sử dụng để kiểm soát lỗi của phương pháp sai phân một cách hiệu quả bằng cách

lựa chọn các điểm lưới thích hợp.

Mặc dù nói chung chúng ta không thể xác định được lỗi toàn cục của một phương thức, nhưng chúng ta sẽ thấy
trong Phần 5.10 rằng có một mối liên hệ chặt chẽ giữa lỗi cắt cụt cục bộ và lỗi toàn cục. Bằng cách sử dụng các

phương pháp có thứ tự khác nhau, chúng ta có thể dự đoán lỗi cắt cụt cục bộ và sử dụng dự đoán này, chọn kích

thước bước sẽ kiểm soát được lỗi đó và lỗi toàn cục.

Để minh họa kỹ thuật này, giả sử rằng chúng ta có hai kỹ thuật xấp xỉ. Giá trị đầu tiên thu được

từ phương pháp Taylor bậc n có dạng

y(ti+1) = y(ti) + hφ(ti, y(ti), h) + O(hn+1 ),

và tạo ra các giá trị gần đúng với lỗi cắt cụt cục bộ τi+1(h) = O(hn). Nó được đưa ra bởi

w0 = α

wi+1 = wi + hφ(ti, wi, h), với i > 0.

Nói chung, phương pháp này được tạo ra bằng cách áp dụng sửa đổi Runge-Kutta cho phương pháp Taylor,

nhưng đạo hàm cụ thể không quan trọng.

Phương pháp thứ hai tương tự nhưng cao hơn một bậc; nó xuất phát từ phương pháp Taylor bậc (n +

1) có dạng

y(ti+1) = y(ti) + hφ(˜ ti, y(ti), h) + O(hn+2 ),

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.5 Kiểm soát lỗi và Phương pháp Runge-Kutta-Fehlberg 295

và tạo ra các giá trị gần đúng với lỗi cắt cụt cục bộ τ˜i+1(h) = O(hn+1). Nó được đưa ra bởi

w˜ 0 = α

w˜i+1 = ˜wi + hφ(˜ ti, w˜i, h), với i > 0.

Đầu tiên chúng ta giả định rằng wi ≈ y(ti) ≈ ˜wi và chọn kích thước bước cố định h để
tạo ra các phép tính gần đúng wi+1 và w˜i+1 với y(ti+1). Sau đó

y(ti+1) y(ti)
τi+1(h) = φ(ti, y(ti), h)
h

y(ti+1) wi
= φ(ti, wi, h)
h

y(ti+1) [wi + hφ(ti, wi, h)]


=
h

1
=
(y(ti+1) wi+1).
h

Theo cách tương tự, chúng ta có

1
τ˜i+1(h) = (y(ti+1) ˜wi+1).
h

Kết quả là, chúng ta có

1
τi+1(h) = (y(ti+1) wi+1)
h

1
= [(y(ti+1) ˜wi+1) + (w˜i+1 wi+1)]
h

1
= ˜τi+1(h) + (w˜i+1 wi+1).
h

Nhưng τi+1(h) là O(hn) và τ˜i+1(h) là O(hn+1), do đó phần quan trọng của τi+1(h) phải đến
từ

1
(w˜i+1 wi+1).
h

Điều này cho chúng ta một phép tính gần đúng dễ dàng tính toán được lỗi cắt cụt cục bộ của O(hn)
phương pháp:

1
τi+1(h) ≈ (w˜i+1 wi+1).
h

Tuy nhiên, mục tiêu không chỉ đơn giản là ước tính lỗi cắt cụt cục bộ mà còn điều chỉnh
kích thước bước để giữ nó trong giới hạn được chỉ định. Để làm điều này bây giờ chúng ta giả sử rằng vì τi+1(h)

là O(hn), một số K, độc lập với h, tồn tại với

τi+1(h) ≈ Khn .

Sau đó, lỗi cắt cụt cục bộ được tạo ra bằng cách áp dụng phương pháp bậc n với bước mới
kích thước qh có thể được ước tính bằng cách sử dụng các phép tính gần đúng ban đầu wi+1 và w˜i+1:

N qn
τi+1(qh) ≈ K(qh) = qn (Khn ) ≈ qn τi+1(h) ≈ (w˜i+1 wi+1).
h

Để giới hạn τi+1(qh) bởi ε, chúng ta chọn q sao cho

qn
| ˜wi+1 wi+1|≈|τi+1(qh)| ε;
h

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

296 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

tức là vậy đó

1/n
εh
q ≤ . (5.22)
| ˜wi+1 wi+1|

Phương pháp Runge-Kutta-Fehlberg

Erwin Fehlberg đã phát triển kỹ thuật Một kỹ thuật phổ biến sử dụng Bất đẳng thức (5.22) để kiểm soát lỗi là phương pháp Runge-Kutta-
này và các kỹ thuật kiểm soát lỗi khác khi
Fehlberg. (Xem [Fe].) Kỹ thuật này sử dụng phương pháp Runge-Kutta với lỗi cắt cụt cục bộ bậc
làm việc cho cơ sở của NASA ở
năm,
Huntsville, Alabama trong những năm

1960. Ông nhận được Huân chương Thành


16 6656 28561 9 2 k1 + k3 + k4 k5 + k6, 135
w˜i+1 = wi + 12825 56430 50 55
tựu Khoa học Đặc biệt của NASA

vào năm 1969. để ước tính sai số cục bộ trong phương pháp Runge-Kutta bậc bốn được đưa ra bởi

25 1408 2197 1 k1 + k3 + k4 k5,


wi+1 = wi + 216 2565 4104 5

trong đó các phương trình hệ số là

k1 = hf (ti, wi),

1
h k2 = hf ti + , wi + 4 4 k1 ,

3h 3 9 k3 = hf ti + k1
+ k2 , , wi + 8 32 32

12h 1932 7200 7296 k4 = hf ti + k1 k2 +


k3 , , wi + 13 2197 2197 2197

439 3680 845 k5 = hf ti + h, wi +


k1 8k2 + k3 k4 , 216 513 4104

h 8 3544 1859 11 k6 = hf ti + k1 + 2k2 k3 + k4


k5 . , wi 2 27 2565 4104 40

Ưu điểm của phương pháp này là chỉ cần sáu lần đánh giá f cho mỗi bước. Các phương pháp Runge-Kutta tùy

ý của bậc bốn và bậc năm được sử dụng cùng nhau (xem Bảng 5.9 trên trang 290) yêu cầu ít nhất bốn đánh

giá về f đối với phương pháp bậc bốn và sáu đánh giá bổ sung cho phương pháp bậc năm, với tổng số ít

nhất mười đánh giá chức năng. Vì vậy, phương pháp Runge-Kutta-Fehlberg có số lượng đánh giá hàm giảm

ít nhất 40% so với việc sử dụng một cặp phương pháp bậc bốn và bậc năm tùy ý.

Trong lý thuyết kiểm soát lỗi, giá trị ban đầu của h ở bước thứ i được sử dụng để tìm các giá trị

đầu tiên của wi+1 và w˜i+1, dẫn đến việc xác định q cho bước đó và sau đó các phép tính được thực hiện

lặp đi lặp lại. Quy trình này yêu cầu số lượng đánh giá chức năng trên mỗi bước gấp đôi so với khi

không kiểm soát lỗi. Trong thực tế, giá trị của q được sử dụng được chọn hơi khác một chút để làm cho

chi phí đánh giá hàm tăng lên trở nên đáng giá. Giá trị q xác định ở bước thứ i được sử dụng cho hai

mục đích:

• Khi q < 1: bác bỏ lựa chọn ban đầu của h ở bước thứ i và lặp lại phép tính

sử dụng qh và

• Khi q ≥ 1: chấp nhận giá trị tính toán ở bước thứ i sử dụng kích thước bước h, nhưng thay đổi kích

thước bước thành qh cho bước (i + 1).

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.5 Kiểm soát lỗi và Phương pháp Runge-Kutta-Fehlberg 297

Vì hình phạt về mặt đánh giá chức năng phải trả nếu các bước được thực hiện
lặp đi lặp lại, q có xu hướng được chọn một cách thận trọng. Trên thực tế, đối với phương pháp Runge-Kutta-Fehlberg

với n = 4, một lựa chọn phổ biến là

εh 1/4 εh 1/4

q = = 0,84 .
2| ˜wi+1 wi+1| | ˜wi+1 wi+1|

Trong Thuật toán 5.3 cho phương pháp Runge-Kutta-Fehlberg, Bước 9 được thêm vào để loại bỏ
những thay đổi lớn về kích thước bước. Điều này được thực hiện để tránh mất quá nhiều thời gian với bước nhỏ

kích thước trong các vùng có sự bất thường trong đạo hàm của y và để tránh kích thước bước lớn,
có thể dẫn đến việc bỏ qua các vùng nhạy cảm giữa các bước. Thủ tục tăng kích thước bước
có thể được bỏ qua hoàn toàn khỏi thuật toán và quy trình giảm kích thước bước được sử dụng
chỉ khi cần thiết để kiểm soát lỗi.

Thuật toán Runge-Kutta-Fehlberg


5.3
Để tính gần đúng lời giải của bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α,

với lỗi cắt cụt cục bộ trong phạm vi dung sai nhất định:

INPUT điểm cuối a, b; điều kiện ban đầu α; dung sai TOL; kích thước bước tối đa hmax;
kích thước bước tối thiểu hmin.

OUTPUT t, w, h trong đó w xấp xỉ y(t) và kích thước bước h đã được sử dụng hoặc một thông báo
rằng kích thước bước tối thiểu đã bị vượt quá.

Bước 1 Đặt t = a;
w = α;
h = hmax;
CỜ = 1;
ĐẦU RA (t, w).

Bước 2 Trong khi (FLAG = 1) thực hiện Bước 3–11.

Bước 3 Đặt K1 = hf (t, w);

1 1
K2 = hft + h, w + 4K1 ;
4

3 3 9
K3 = hft + h, w + 32K1 + 32K2 ;
số 8

12 1932 7200 7296


K4 = hft + h, w + 2197K1 2197K2 + 2197K3 ;
13

439 3680 845


K5 = hf t + h, w + 216K1 8K2 + K3 4104K4 ;
513

1 3544 1859 11
K6 = hft + h, w
số 8

2 27K1 + 2K2 2565K3 + 4104K4 40K5 .

1 1 128 2197 1 2
Bước 4 Đặt R = | 360K1 4275K3 75240K4 + 50K5 + 55K6|.
h

1
(Lưu ý: R = | ‘wi+1 wi+1|.)
h

Bước 5 Nếu R ≤ TOL thì thực hiện Bước 6 và 7.

Bước 6 Đặt t = t + h; (Xấp xỉ được chấp nhận.)


25 1408 2197 1
w = w + 216K1 + 2565K3 + 4104K4 5K5.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

298 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Bước 7 ĐẦU RA (t, w, h).

Bước 8 Đặt δ = 0,84(TOL/R)1/4.

Bước 9 Nếu δ ≤ 0,1 thì đặt h = 0,1h


nếu δ ≥ 4 thì đặt h = 4h
ngược lại đặt h = δh. (Tính h mới)

Bước 10 Nếu h > hmax thì đặt h = hmax.

Bước 11 Nếu t ≥ b thì đặt FLAG = 0 nếu không

thì nếu t + h > b thì đặt h = b t nếu h

< hmin thì đặt FLAG = 0;

OUTPUT ('vượt quá

h tối thiểu').

(Thủ tục hoàn tất không thành công.)

Bước 12 (Thủ tục hoàn tất.)


DỪNG LẠI.

Ví dụ 1 Sử dụng phương pháp Runge-Kutta-Fehlberg với dung sai TOL = 10 5, kích thước bước tối đa hmax = 0,25 và kích

thước bước tối thiểu hmin = 0,01 để tính gần đúng lời giải cho bài toán giá trị ban đầu

2
y = y t + 1, 0 ≤ t 2, y(0) = 0,5,

và so sánh kết quả với nghiệm chính xác y(t) = (t + 1)2 0,5et .

Giải pháp Chúng ta sẽ thực hiện bước tính toán đầu tiên và sau đó áp dụng Thuật toán 5.3 để xác định

các kết quả còn lại. Điều kiện ban đầu cho t0 = 0 và w0 = 0,5. Để xác định w1 sử dụng h = 0,25, kích

thước bước tối đa cho phép, chúng tôi tính toán

k1 = hf (t0, w0) = 0,25 0,5 02 + 1 = 0,375;

1
1 k2 = hf t0 + h, w0 + 4 4 k1 = 0,251 1 0,25, 0,5 + 0,375 = 0,3974609; 4 4

3 3 9 k3 = hf t0 + h,
w0 + k1 + k2 8 32 32

3 9 = 0,25
0,09375, 0,5 + 0,375 + 0,3974609 = 0,4095383; 32 32

12 1932 7200 7296 k4 = hf t0 + h, w0 + k1


k2 + k3 13 2197 2197 2197

1932 7200 7296 = 0,25 0,2307692, 0,5 +


0,375 0,3974609 + 0,4095383 2197 2197 2197

= 0,4584971;

439 3680 845


k5 = hf t0 + h, w0 + k1 8k2 + k3 k4
216 513 4104

439 3680 = 0,25 0,25, 0,5 + 0,375 845


8(0,3974609) + 0,4095383 216 513 0.4584971
4104

= 0,4658452;

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.5 Kiểm soát lỗi và Phương pháp Runge-Kutta-Fehlberg 299

1 8 3544 1859 11 k6 = hf t0 + h, w0 k1 + 2k2 k3


+ k4 k5 2 27 2565 4104 40

8 3544 = 0,25 0,125, 0,5 0,375 +


2(0,3974609) 0,4095383 27 2565

1859 11 0,4584971
0,4658452 + 4104 40

= 0,4204789.

Hai giá trị gần đúng với y(0,25) sau đó được tìm thấy là

16 6656 28561 9 2 k1 + k3 + k4 k5 + k6 = w0
w˜ 1 + 135 12825 56430 50 55

16 6656 28561 9 = 0,5 + 0,375 + 0,4095383 + 0,4584971


0,4658452 135 12825 56430 50

55 2 0.4204789 +

= 0,9204870,

25 1408 2197 1 k1 + k3 + k4 k5
w1 = w0 + 216 2565 4104 5

25 1408 2197 1 = 0,5 + 0,375 + 0,4095383 + 0,4584971


0,4658452 216 2565 4104 5

= 0,9204886.

Điều này cũng ngụ ý rằng

1 1 128 2197 1 2 k1 k3 k4 + k5 + k6
R = 360 4275 75240 50 55
0,25

1 128 2197 1 2 = 4 0,375 0,4095383 0,4584971 + 0,4658452 +


0,4204789 360 4275 75240 50 55

= 0,00000621388,

ε
q = 0,84 1/4 = 0,84
R 0,00001 0,000006213881/4 = 0,9461033291.

Vì q < 1 nên chúng ta có thể chấp nhận giá trị gần đúng 0,9204886 cho y(0,25) nhưng
chúng ta nên điều chỉnh kích thước bước cho lần lặp tiếp theo thành h = 0,9461033291(0,25)
≈ 0,2365258. Tuy nhiên, chỉ có 5 chữ số đầu của kết quả này được cho là chính xác vì R
chỉ có độ chính xác khoảng 5 chữ số. Vì chúng ta đang trừ một cách hiệu quả các số wi
và w˜i gần bằng nhau khi tính R nên rất có khả năng xảy ra lỗi làm tròn. Đây là một lý
do bổ sung cho sự thận trọng khi tính q.
Kết quả của thuật toán được thể hiện trong Bảng 5.11. Độ chính xác tăng lên đã được sử dụng để đảm bảo rằng

các phép tính là chính xác đối với tất cả các địa điểm được liệt kê. Hai cột cuối cùng trong Bảng 5.11 thể hiện

kết quả của phương pháp bậc năm. Đối với các giá trị nhỏ của t, sai số nhỏ hơn sai số của phương pháp bậc 4,

nhưng sai số vượt quá sai số của phương pháp bậc 4 khi t tăng.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

300 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Bảng 5.11

RKF-4 RKF-5

tôi yi = y(ti) Wi CHÀO ri |yi wi| Wi |yi ˆwi|

0,5 0,5 0,5


0 0,2500000 0,9204873 0,9204886 0,2500000 6,2 × 10 6 1,3 × 10 6 0,9204870 2,424 × 10 7
0,4865522 1,3964884 1,3964910 0,2365522 4,5 × 10 6 2,6 × 10 6 1,3964900 1,510 × 10 6

0,7293332 1,9537446 1,9537488 0,2427810 4,3 × 10 6 4,2 × 10 6 1,9537477 3,136 × 10 6

0,9793332 2,5864198 2,5864260 0,2500000 3,8 × 10 6 6,2 × 10 6 2,5864251 5,242 × 10 6

1,2293332 3,2604520 3,2604605 0,2500000 2,4 × 10 6 8,5 × 10 6 3,2604599 7,895 × 10 6


1,4793332 3.9520844 3.9520955 0,2500000 7 × 10 7 1,11 × 10 5 3,9520954 1,096 × 10 5
1,7293332 4.6308127 4.6308268 0,2500000 1,5 × 10 6 1,41 × 10 5 4,6308272 1,446 × 10 5

1.9793332 5.2574687 5.2574861 0,2500000 4,3 × 10 6 1,73 × 10 5 5.2574871 1,839 × 10 5


2.0000000 5.3054720 5.3054896 0,0206668 1,77 × 10 5 5.3054896 1,768 × 10 5

Việc triển khai phương pháp Runge-Kutta-Fehlberg cũng có sẵn trong Maple
bằng cách sử dụng lệnh LaunchValueProblem . Tuy nhiên, nó khác với bài trình bày của chúng tôi vì
nó không yêu cầu đặc điểm kỹ thuật về dung sai cho giải pháp. Đối với vấn đề ví dụ của chúng tôi
nó được gọi với

C := LaunchValueProblem(deq, y(0) = 0.5, t = 2, Method = rungekutta,submethod =


rkf, numsteps = 10, đầu ra = thông tin, chữ số = 8)

Như thường lệ, thông tin được đặt trong một bảng và có thể truy cập bằng cách nhấp đúp vào
đầu ra. Kết quả có thể được in theo phương pháp được nêu trong các phần quý giá.

BÀI TẬP 5.5

1. Sử dụng phương pháp Runge-Kutta-Fehlberg với dung sai TOL = 10 4, hmax = 0,25 và hmin = 0,05
để xấp xỉ nghiệm của các bài toán có giá trị ban đầu sau đây. So sánh kết quả với thực tế
các giá trị.

1 1
Một. y = te3t 2y, 0 ≤ t 1, y(0) = 0; nghiệm thực tế y(t) = te3t 1 e3t + e 2t .
5 25 25

b. y = 1 + (t y)2, 2 ≤ t 3, y(2) = 1; nghiệm thực tế y(t) = t + 1/(1 t).

c. y = 1 + y/t, 1 ≤ t 2, y(1) = 2; nghiệm thực tế y(t) = t ln t + 2t.


1 1 4
d. y = cos 2t + sin 3t, 0 ≤ t 1, y(0) = 1; nghiệm thực tế y(t) = 2. Sử tội lỗi 2t cos 3t + .
2 3 3

dụng Thuật toán Runge-Kutta Fehlberg với dung sai TOL = 10 4 để tính gần đúng nghiệm của
các bài toán về giá trị ban đầu sau đây.
2
Một. y = (y/t) + y/t, 1 ≤ t ≤ 1,2, y(1) = 1, với hmax = 0,05 và hmin = 0,02.

b. y = sin t + e t , 0 ≤ t 1, y(0) = 0, với hmax = 0,25 và hmin = 0,02.

c. y = (y2 + y)/t, d. 1 > < t 3, y(1) = 2, với hmax = 0,5 và hmin = 0,02.

y = t 2, 0 ≤ t 2, y(0) = 0, với hmax = 0,5 và hmin = 0,02.

3. Sử dụng phương pháp Runge-Kutta-Fehlberg với dung sai TOL = 10 6, hmax = 0,5 và hmin = 0,05 đến
xấp xỉ nghiệm của các bài toán có giá trị ban đầu sau đây. So sánh kết quả với thực tế
các giá trị.

Một. y = y/t (y/t)2, 1 ≤ t 4, y(1) = 1; nghiệm thực y(t) = t/(1 + ln t).


2
b. y = 1 + y/t + (y/t) , 1 ≤ t 3, y(1) = 0; nghiệm thực tế y(t) = t tan(ln t).

c. y = (y + 1)(y + 3), 0 ≤ t 3, y(0) = 2; nghiệm thực y(t) = 3 + 2(1 + e 2t ) 1.


1 2 2
d. y = (t + 2t 3)y3 ty, 0 ≤ t 2, y(0) = ; nghiệm thực tế y(t) = (3 + 2t + 6et ) 1/2.
3

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.5 Kiểm soát lỗi và Phương pháp Runge-Kutta-Fehlberg 301

4. Phương pháp Runge-Kutta-Verner (xem [Ve]) dựa trên các công thức

13 2375 5 12 k1 + k3 + k4 + k5 + k6 3
và wi+1 = wi + 160 5984 16 85 44

3 23 264 43
875
w˜i+1 = wi + k1 + k3 + k4 + k5 + k7125
+ k8, 40 2244
72 1955 11592 616

Ở đâu

k1 = hf (ti, wi),

h 1 k2 = hf
ti + k1 , , wi + 6 6

4h 4 16 k3 = hf ti + k1
+ k2 , , wi + 15 75 75

2h 5 5 8 k4 = hf ti + k1
k2 + k3 , , wi + 3 6 3 2

5h 165 55 425 85 k1 + k2 k3 + k4 ,
k5 = hf ti + , wi 6 64 6 64 96

12 4015 11 88 k4 +
k6 = hf ti + h, wi + k1 8k2 + k3 5 612 k5 , 36 255

8263 124 643 81 k2 k3 k4 2484


k7 = hf ti + h , wi k1 + + 680 250 k5 ,
15 15000 75 10625

3501 297275 24068


k5 + k7
3850
. 1720
300 319
43 52632
k8 = hf
2322
ti + h, wi + k1 k2 + k3 k4 +
84065 26703

Phương pháp bậc sáu w˜i+1 được sử dụng để ước tính sai số trong phương pháp bậc năm wi+1. Xây dựng một thuật toán tương tự

như Thuật toán Runge-Kutta-Fehlberg và lặp lại Bài tập 3 bằng phương pháp mới này.

5. Trong lý thuyết về sự lây lan của bệnh truyền nhiễm (xem [Ba1] hoặc [Ba2]), một phương trình vi phân tương đối cơ bản có thể

được sử dụng để dự đoán số lượng cá thể nhiễm bệnh trong quần thể vào bất kỳ lúc nào, với các giả định đơn giản hóa thích hợp

được làm. Cụ thể, chúng ta hãy giả định rằng tất cả các cá thể trong một quần thể cố định đều có khả năng bị nhiễm bệnh như

nhau và một khi đã nhiễm bệnh thì vẫn ở trạng thái đó. Giả sử x(t) biểu thị số lượng cá thể nhạy cảm tại thời điểm t và y(t)

biểu thị số lượng người lây nhiễm. Thật hợp lý khi cho rằng tốc độ mà số lượng

những thay đổi về khả năng lây nhiễm tỷ lệ thuận với tích của x(t) và y(t) vì tỷ lệ này phụ thuộc vào cả số lượng người

lây nhiễm và số lượng người nhạy cảm có mặt tại thời điểm đó. Nếu tổng thể đủ lớn để cho rằng x(t) và y(t) là các biến

liên tục thì bài toán có thể được biểu diễn

y (t) = kx(t)y(t),

trong đó k là hằng số và x(t) + y(t) = m, tổng dân số. Phương trình này có thể được viết lại chỉ với y(t) là

y (t) = k(m y(t))y(t).

Một. Giả sử rằng m = 100.000, y(0) = 1000, k = 2 × 10 6, và thời gian đó được tính bằng ngày, hãy tìm số gần đúng với

số lượng cá thể lây nhiễm vào cuối 30 ngày. b. Phương trình vi phân ở phần (a) được gọi là phương

trình Bernoulli và nó có thể được chuyển đổi thành phương trình vi phân tuyến tính trong u(t) = (y(t)) 1. Sử dụng kỹ

thuật này để tìm nghiệm chính xác của phương trình, theo cùng các giả định như trong phần (a) và so sánh giá trị

thực của y(t) với giá trị gần đúng đã cho ở đó. limt ∞ y(t) là gì ? Điều này có phù hợp với trực giác của bạn

không?

6. Trong bài tập trước, tất cả những người bị nhiễm bệnh vẫn ở trong quần thể để truyền bệnh.

Một đề xuất thực tế hơn là đưa ra biến thứ ba z(t) để biểu thị số lượng cá thể

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

302 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

những người bị loại khỏi quần thể bị ảnh hưởng tại một thời điểm t nhất định bằng cách cách ly, phục hồi và do đó có

khả năng miễn dịch hoặc tử vong. Điều này tự nhiên làm cho bài toán phức tạp hơn, nhưng nó có thể được chứng minh (xem

[Ba2]) rằng một nghiệm gần đúng có thể được đưa ra dưới dạng

x(t) = x(0)e(k1/k2)z(t) và y(t) = m x(t) z(t),

trong đó k1 là tỷ lệ lây nhiễm, k2 là tỷ lệ loại bỏ và z(t) được xác định từ phương trình vi phân

z (t) = k2 m z(t) x(0)e(k1/k2)z(t) .

Các tác giả không biết về bất kỳ kỹ thuật nào để giải quyết vấn đề này một cách trực tiếp, vì vậy phải áp
dụng thủ tục số. Tìm giá trị gần đúng của z(30), y(30) và x(30), giả sử rằng m = 100.000, x(0) = 99.000, k1
= 2 × 10 6, và k2 = 10 4.

5.6 Phương pháp nhiều bước

Các phương pháp được thảo luận đến thời điểm này trong chương này được gọi là phương pháp một bước vì

phép tính gần đúng cho điểm lưới ti+1 chỉ liên quan đến thông tin từ một trong các điểm lưới trước

đó, ti. Mặc dù các phương pháp này có thể sử dụng thông tin đánh giá hàm tại các điểm giữa ti và ti+1,

nhưng chúng không giữ lại thông tin đó để sử dụng trực tiếp trong các phép tính gần đúng trong tương lai.

Tất cả thông tin được sử dụng bởi các phương pháp này được lấy trong khoảng con mà nghiệm được tính

gần đúng.

Lời giải gần đúng có sẵn tại mỗi điểm lưới t0, t1, ... , ti trước khi đạt được giá trị gần đúng

tại ti+1 và do lỗi |wj y(tj)| có xu hướng tăng theo j, do đó có vẻ hợp lý khi phát triển các phương
pháp sử dụng những dữ liệu trước đó chính xác hơn này khi xấp xỉ nghiệm ở ti+1.

Các phương pháp sử dụng phép tính gần đúng tại nhiều điểm lưới trước đó để xác định phép tính

gần đúng ở điểm tiếp theo được gọi là phương pháp nhiều bước . Định nghĩa chính xác của các phương

pháp này sau đây, cùng với định nghĩa của hai loại phương pháp nhiều bước.

Định nghĩa 5.14 Phương pháp nhiều bước m-bước để giải bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α, (5.23)

có một phương trình sai phân để tìm giá trị gần đúng wi+1 tại điểm lưới ti+1 được biểu thị bằng

phương trình sau, trong đó m là số nguyên lớn hơn 1:

wi+1 = am 1wi + am 2wi 1 +···+ a0wi+1 m

+ h[bmf (ti+1, wi+1) + bm 1f (ti, wi)

+···+ b0f (ti+1 m, wi+1 m)], (5.24)

với i = m 1, m, ... , N 1, trong đó h = (b a)/N, a0 , a1, ... , am 1 và b0, b1, ... , bm là

hằng số và giá trị ban đầu

w0 = α, w1 = α1, w2 = α2, ... , wm 1 = αm 1

Được xác định.

Khi bm = 0 phương thức này được gọi là rõ ràng hoặc mở vì phương trình. (5.24) sau đó cho wi+1

một cách rõ ràng theo các giá trị được xác định trước đó. Khi bm = 0 phương thức được gọi

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.6 Phương pháp nhiều bước 303

ẩn hoặc đóng vì wi+1 xảy ra ở cả hai vế của biểu thức. (5.243), do đó wi+1 chỉ được xác định một
cách ngầm định.
Ví dụ, các phương trình

w0 = α, w1 = α1, w2 = α2, w3 = α3,

h
Kỹ thuật Adams-Bashforth
wi+1 = wi +
là do John Couch Adams 24[55f (ti, wi) 59f (ti 1, wi 1) + 37f (ti 2, wi 2) 9f (ti 3, wi 3)],

(1819–1892), người đã có công lớn (5.25)


làm việc trong lĩnh vực toán học và

thiên văn học. Ông đã phát triển những


với mỗi i = 3, 4, ... , N 1, hãy xác định một phương pháp bốn bước rõ ràng được gọi là kỹ
kỹ thuật số này để tính gần
thuật Adams-Bashforth bậc bốn. Các phương trình
đúng lời giải của bài toán dòng chất

lỏng do Bashforth đặt ra.

w0 = α, w1 = α1, w2 = α2,

h
wi+1 = wi +
24[9f (ti+1, wi+1) + 19f (ti, wi) 5f (ti 1, wi 1) + f (ti 2, wi 2)], (5.26)

với mỗi i = 2, 3, ... , N 1, hãy xác định một phương pháp ba bước ẩn được gọi là kỹ thuật Adams-Moulton cấp

4 của Forest Ray Moulton (1872–1952) . phụ trách đạn đạo tại Khu chứng
minh Aberdeen ở Maryland trong Các giá trị bắt đầu trong (5.25) hoặc (5.26) phải được chỉ định, nói chung bằng cách giả sử
Thế chiến thứ nhất.
w0 = α và tạo ra các giá trị còn lại bằng phương pháp Runge-Kutta hoặc Taylor. Chúng ta sẽ thấy
rằng các phương pháp ẩn nhìn chung chính xác hơn các phương pháp ẩn, nhưng để áp dụng trực tiếp
Ông là một tác giả nổi tiếng, viết nhiều
một phương pháp ẩn như (5.25), chúng ta phải giải phương trình ẩn cho wi+1. Điều này không phải
sách về toán học
lúc nào cũng có thể thực hiện được, và ngay cả khi có thể thực hiện được thì nghiệm của wi+1 có
và thiên văn học, đồng thời phát
thể không phải là duy nhất.
triển các phương pháp nhiều bước cải

tiến để giải các phương trình đường đạn.

Ví dụ 1 Trong ví dụ 3 của Phần 5.4 (xem Bảng 5.8 trang 289), chúng tôi đã sử dụng phương pháp Runge-Kutta
bậc 4 với h = 0,2 để tính gần đúng nghiệm của bài toán giá trị ban đầu

2
y = y t + 1, 0 ≤ t 2, y(0) = 0,5.

Bốn phép tính gần đúng đầu tiên được tìm thấy là y(0) = w0 = 0,5, y(0,2) ≈ w1 = 0,8292933, y(0,4)
≈ w2 = 1,2140762 và y(0,6) ≈ w3 = 1,6489220. Sử dụng các giá trị này làm giá trị bắt đầu cho
phương pháp Adams-Bashforth bậc bốn để tính các giá trị gần đúng mới cho y(0,8) và y(1,0), đồng
thời so sánh các giá trị gần đúng mới này với các giá trị gần đúng được tạo ra bởi phương pháp
Runge-Kutta bậc bốn.

Giải Đối với Adams-Bashforth bậc 4 ta có

0,2
y(0,8) ≈ w4 = w3 + (55f (0,6, w3) 59f (0,4, w2) + 37f (0,2, w1) 9f (0, w0)) 24

0,2
= 1,6489220 + (55f (0,6, 1,6489220) 59f (0,4, 1,2140762) 24

+ 37f (0,2, 0,8292933) 9f (0, 0,5))

= 1,6489220 + 0,0083333(55(2,2889220) 59(2,0540762)

+ 37(1.7892933) 9(1.5))

= 2.1272892,

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

304 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

0,2 y(1,0) ≈ w5 = w4 + (55f (0,8, w4) 59f (0,6, w3) + 37f (0,4, w2) 9f (0,2, w1)) 24

0,2
= 2,1272892 + (55f (0,8, 2,1272892) 59f (0,6, 1,6489220) 24

+ 37f (0,4, 1,2140762) 9f (0,2, 0,8292933))

= 2,1272892 + 0,0083333(55(2,4872892) 59(2,2889220)

+ 37(2,0540762) 9(1,7892933))

= 2,6410533,

Sai số của các phép tính gần đúng này tại t = 0,8 và t = 1,0 tương ứng là

|2.1272295 2.1272892| = 5,97 × 10 5 và |2,6410533 2,6408591| = 1,94 × 10 4 .

Các phép tính gần đúng Runge-Kutta tương ứng có lỗi

|2.1272027 2.1272892| = 2,69 × 10 5 và |2,6408227 2,6408591| = 3,64 × 10 5 .

Adams đặc biệt quan tâm đến


Để bắt đầu tìm đạo hàm của một phương pháp nhiều bước, lưu ý rằng lời giải của bài toán giá
việc sử dụng khả năng tính toán chính
trị ban đầu
xác của mình.

tính toán để nghiên cứu quỹ đạo của y = f (t, y), a ≤ t ≤ b, y(a) = α,
các hành tinh. Ông dự đoán sự tồn tại

của Sao Hải Vương bằng cách phân nếu tích phân trên khoảng [ti, ti+1], có tính chất là

tích những điều bất thường trong hành ti+1 ti+1

tinh Sao Thiên Vương và phát triển y(ti+1) y(ti) = y (t) dt = f (t, y(t)) dt.
các kỹ thuật tích phân số khác nhau tôi tôi

để hỗ trợ việc tính gần đúng


Do đó,
lời giải của các phương trình vi phân.
ti+1

y(ti+1) = y(ti) + f (t, y(t)) dt. (5.27)


tôi

Tuy nhiên, chúng ta không thể tích phân f (t, y(t)) mà không biết y(t), nghiệm của bài toán,
vì vậy thay vào đó chúng ta tích phân một đa thức nội suy P(t) thành f (t, y(t)), một điểm được xác
định bởi một số điểm dữ liệu thu được trước đó (t0, w0), (t1, w1), ... ,(ti, wi).
Ngoài ra, khi chúng ta giả sử rằng y(ti) ≈ wi, phương trình. (5.27) trở thành

ti+1

y(ti+1) ≈ wi + P(t) dt. (5.28)


tôi

Mặc dù có thể sử dụng bất kỳ dạng đa thức nội suy nào để tính đạo hàm, nhưng cách thuận tiện nhất
là sử dụng công thức sai phân ngược Newton, vì dạng này dễ dàng kết hợp dữ liệu được tính toán gần
đây nhất hơn.
Để rút ra một kỹ thuật m-step rõ ràng của Adams-Bashforth, chúng tôi hình thành thuật toán lùi
hiệu đa thức Pm 1(t) đến

(ti, f (ti, y(ti))), (ti 1, f (ti 1, y(ti 1))), ... , (ti+1 m, f (ti+1 m, y(ti+1 m))).

Vì Pm 1(t) là đa thức nội suy bậc m 1 nên một số ξi trong (ti+1 m, ti) tồn tại với

(m) (ξi,
y(ξi)) ff (t, y(t)) = Pm 1(t) + (t ti)(t ti 1)···(t ti+1 m).
tôi!

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.6 Phương pháp nhiều bước 305

Đưa biến thay thế t = ti + sh, với dt = h ds, vào Pm 1(t) và hạng sai số ngụ ý rằng

m 1
ti+1 ti+1 s
k
f (t, y(t)) dt = ( 1) k f (ti, y(ti)) dt
k
tôi tôi
k=0

ti+1
(m) (ξi,
+ y(ξi)) f (t ti)(t ti 1)···(t ti+1 m) dt m!
tôi

m 1 1
k
s
= k f (ti, y(ti))h( 1) ds
0 k
k=0

1
hm+1
+ (m) s(s + 1)···(s + m 1)f (ξi, y(ξi)) ds.
tôi! 0

s
Tích phân ( 1)k ds cho1 0cáck giá trị khác nhau của k được tính dễ dàng và được liệt kê trong
Bảng 5.12. Ví dụ, khi k = 3,
1 1
3
s ( s)( s 1)( s 2)
( 1) ds = ds
0 3 0 1 · 2 · 3

1
1 3 2
= (S + 3 giây + 2s) ds
6 0

1
1 s4
3 2 + s + s
1 9 3
= = = .
6 4 0
6 4 số 8

Bảng 5.12 Kết quả là,

ti+1
5
1
s
ds 1 f (t, y(t)) dt = h f (ti, y(ti)) + f (ti, y(ti)) + 2 2 f (ti, y(ti)) +···
12
k 0
k tôi

1
hm+1
+ (m) s(s + 1)···(s + m 1)f (ξi, y(ξi)) ds. (5.29)
0 1 tôi! 0
1
1 Bởi vì s(s + 1)···(s + m 1) không đổi dấu trên [0, 1], Định lý Giá trị Trung bình Trọng
2
số cho Tích phân có thể được sử dụng để suy ra điều đó đối với một số μi, trong đó ti+1 m <
5
2 μi < ti+1, sai số trong biểu thức. (5.29) trở thành
12
1
3 hm+1
3
(m) s(s + 1)···(s + m 1)f (ξi, y(ξi)) ds
số 8
tôi! 0
251
4 1
hm+1f (m) (μi, y(μi))
720 = s(s + 1)···(s + m 1) ds.
95 tôi! 0
5
288
Do đó sai số trong (5.29) đơn giản hóa thành

1
s
(m) tôi

hm+1 f (μi, y(μi))( 1) ds. (5h30)


0 tôi

ti+1
Nhưng y(ti+1) y(ti) = ti
f (t, y(t)) dt, vì vậy phương trình. (5.27) có thể được viết là

1 5
y(ti+1) = y(ti) + h f (ti, y(ti)) + f (ti, y(ti)) + 2 2 f (ti, y(ti)) +···
12

1
s
(m) tôi

+ hm+1 f (μi, y(μi))( 1) ds. (5.31)


0 tôi

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

306 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Ví dụ 2 Sử dụng phương trình. (5.31) với m = 3 để suy ra kỹ thuật Adams-Bashforth ba bước.

Giải pháp Chúng tôi có

5
1 y(ti+1) ≈ y(ti) + h f (ti, y(ti)) + f (ti, y(ti)) + 2 2 f (ti, y(ti))
12

1 = y(ti) + h f (ti, y(ti)) + [f (ti, y(ti)) f (ti 1, y(ti 1))] 2

5
+
12[f (ti, y(ti)) 2f (ti 1, y(ti 1)) + f (ti 2, y(ti 2))]

h
= y(ti) +
12[23f (ti, y(ti)) 16f (ti 1, y(ti 1)) + 5f (ti 2, y(ti 2))].

Do đó, phương pháp ba bước Adams-Bashforth là

w0 = α, w1 = α1, w2 = α2,

h
wi+1 = wi +
12[23f (ti, wi) 16f (ti 1, wi 1)] + 5f (ti 2, wi 2)],

với i = 2, 3, ... ,N 1.

Phương pháp nhiều bước cũng có thể được rút ra bằng cách sử dụng chuỗi Taylor. Một ví dụ
về quy trình liên quan được xem xét trong Bài tập 12. Đạo hàm sử dụng đa thức nội suy Lagrange
được thảo luận trong Bài tập 11.
Lỗi cắt ngắn cục bộ đối với các phương pháp nhiều bước được xác định tương tự như lỗi cắt ngắn

cục bộ của các phương pháp một bước. Giống như trong trường hợp của phương pháp một bước, lỗi cắt cụt

cục bộ cung cấp thước đo về mức độ nghiệm của phương trình vi phân không giải được phương trình sai phân.

Định nghĩa 5.15 Nếu y(t) là nghiệm của bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α,

wi+1 = am 1wi + am 2wi 1 +···+ a0wi+1 m

+ h[bmf (ti+1, wi+1) + bm 1f (ti, wi) +···+ b0f (ti+1 m, wi+1 m)]

là bước thứ nhất (i + 1) trong phương pháp nhiều bước, lỗi cắt cụt cục bộ ở bước này là

y(ti+1) am 1y(ti) ··· a0y(ti+1 m)


τi+1(h) = (5.32)
h

[bmf (ti+1, y(ti+1)) +···+ b0f (ti+1 m, y(ti+1 m))],

với mỗi i = m 1, m, ... , N 1.

Ví dụ 3 Xác định lỗi cắt cụt cục bộ cho phương pháp Adams-Bashforth ba bước xuất phát từ Ví dụ 2.

Giải pháp Xem xét dạng lỗi được đưa ra trong biểu thức. (5.30) và mục thích hợp trong Bảng
5.12 cho

1
s 3h4
(3) 3 (3)
h4f (μi, y(μi))( 1) ds = f (μi, y(μi)).
0 3 số 8

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.6 Phương pháp nhiều bước 307

Sử dụng tính chất f (3) (μi, y(μi)) = y(4) (μi) và phương trình sai phân rút ra trong Ví dụ
2, ta có

y(ti+1) y(ti) 1
τi+1(h) =
h 12[23f (ti, y(ti)) 16f (ti 1, y(ti 1)) + 5f (ti 2, y(ti 2))]

1 3h4 (3) 3h3


= f (μi, y(μi)) = y(4) (μi), đối với một số μi (ti 2, ti+1).
h số 8 số 8

Phương pháp rõ ràng Adams-Bashforth

Một số phương pháp nhiều bước rõ ràng cùng với các giá trị bắt đầu được yêu cầu và
lỗi cắt ngắn cục bộ như sau. Nguồn gốc của các kỹ thuật này tương tự như
thủ tục trong ví dụ 2 và 3.

Phương pháp rõ ràng hai bước của Adams-Bashforth

w0 = α, w1 = α1,

h
wi+1 = wi + [3f (ti, wi) f (ti 1, wi 1)], (5.33)
2
5
trong đó i = 1, 2, ... , N 1. Lỗi cắt cụt cục bộ là τi+1(h) = μi 12 y(μi)h2, đối với một số người

(ti 1, ti+1).

Phương pháp rõ ràng ba bước của Adams-Bashforth

w0 = α, w1 = α1, w2 = α2,

h
wi+1 = wi + (5.34)
12[23f (ti, wi) 16f (ti 1, wi 1) + 5f (ti 2, wi 2)],

3
trong đó i = 2, 3, ... , N 1. Lỗi cắt cụt cục bộ là τi+1(h) = μi số 8 y(4) (μi)h3, đối với một số người

(ti 2, ti+1).

Phương pháp rõ ràng bốn bước của Adams-Bashforth

w0 = α, w1 = α1, w2 = α2, w3 = α3, (5.35)

h
wi+1 = wi +
24[55f (ti, wi) 59f (ti 1, wi 1) + 37f (ti 2, wi 2) 9f (ti 3, wi 3)],

251
trong đó i = 3, 4, ... , N 1. Lỗi cắt cụt cục bộ là τi+1(h) = μi 720 y(5) (μi)h4, đối với một số người

(ti 3, ti+1).

Phương pháp rõ ràng năm bước của Adams-Bashforth

w0 = α, w1 = α1, w2 = α2, w3 = α3, w4 = α4,

h
= wi + [1901f (ti, wi) 2774f (ti 1, wi 1) wi+1 (5.36)
720

+ 2616f (ti 2, wi 2) 1274f (ti 3, wi 3) + 251f (ti 4, wi 4)],

95
trong đó i = 4, 5, ... , N 1. Lỗi cắt cụt cục bộ là τi+1(h) = μi 288 y(6) (μi)h5, đối với một số người

(ti 4, ti+1).

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

308 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Phương pháp ngầm định của Adams-Moulton

Các phương pháp ngầm định được suy ra bằng cách sử dụng (ti+1, f (ti+1, y(ti+1))) làm phép nội suy bổ sung

nút gần đúng của tích phân

ti+1

f (t, y(t)) dt.


tôi

Một số phương pháp ngầm phổ biến hơn như sau.

Phương pháp ngầm định hai bước của Adams-Moulton

w0 = α, w1 = α1,

h
wi+1 = wi + [5f (ti+1, wi+1) + 8f (ti, wi) f (ti 1, wi 1)], (5.37)
12

1
trong đó i = 1, 2, ... , N 1. Lỗi cắt cụt cục bộ là τi+1(h) = μi 24 y(4) (μi)h3, đối với một số người

(ti 1, ti+1).

Phương pháp ngầm ba bước của Adams-Moulton

w0 = α, w1 = α1, w2 = α2, (5.38)

h
wi+1 = wi +
24[9f (ti+1, wi+1) + 19f (ti, wi) 5f (ti 1, wi 1) + f (ti 2, wi 2)],

19
trong đó i = 2, 3, ... , N 1. Lỗi cắt cụt cục bộ là τi+1(h) = μi 720 y(5) (μi)h4, đối với một số người

(ti 2, ti+1).

Phương pháp ngầm bốn bước của Adams-Moulton

w0 = α, w1 = α1, w2 = α2, w3 = α3,

h
wi+1 = wi + [251f (ti+1, wi+1) + 646f (ti, wi) (5.39)
720

264f (ti 1, wi 1) + 106f (ti 2, wi 2) 19f (ti 3, wi 3)],

3
trong đó i = 3, 4, ... , N 1. Lỗi cắt cụt cục bộ là τi+1(h) = μi 160 y(6) (μi)h5, đối với một số người

(ti 3, ti+1).

Thật thú vị khi so sánh phương pháp tường minh Adams-Bashforth m-bước với (m 1)-

bước phương pháp ngầm Adams-Moulton. Cả hai đều liên quan đến m đánh giá của f trên mỗi bước, và cả hai

có các số hạng y(m+1) (μi)hm trong lỗi cắt cụt cục bộ của chúng. Nói chung các hệ số của

các số hạng liên quan đến f trong lỗi cắt cụt cục bộ đối với các phương thức ngầm định nhỏ hơn so với

đối với các phương pháp rõ ràng. Điều này dẫn đến độ ổn định cao hơn và sai số làm tròn nhỏ hơn cho

các phương pháp ngầm.

Ví dụ 4 Xét bài toán giá trị ban đầu

2
y = y t + 1, 0 ≤ t 2, y(0) = 0,5.

Sử dụng các giá trị chính xác cho từ y(t) = (t + 1)2 0,5et làm giá trị ban đầu và h = 0,2 đến

so sánh các giá trị gần đúng từ (a) bằng phương pháp bốn bước rõ ràng của Adams-Bashforth

và (b) phương pháp ba bước ngầm định của Adams-Moulton.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

309
5.6 Phương pháp nhiều bước

Lời giải (a) Phương pháp Adams-Bashforth có phương trình sai phân

h
wi+1 = wi +
24[55f (ti, wi) 59f (ti 1, wi 1) + 37f (ti 2, wi 2) 9f (ti 3, wi 3)],
2
với i = 3, 4, ... , 9. Khi đơn giản hóa bằng f (t, y) = y t + 1, h = 0,2 và ti = 0,2i, nó
trở thành

1
2
wi+1 = 0,192i + 4,736].
24[35wi 11,8wi 1 + 7,4wi 2 1,8wi 3 0,192i

(b) Phương pháp Adams-Moulton có phương trình sai phân

h
wi+1 = wi +
24[9f (ti+1, wi+1) + 19f (ti, wi) 5f (ti 1, wi 1) + f (ti 2, wi 2)],

với i = 2, 3, ... , 9. Điều này rút gọn thành

1
2
wi+1 = 0,192i + 4,736].
24[1,8wi+1 + 27,8wi wi 1 + 0,2wi 2 0,192i

Để sử dụng phương pháp này một cách tường minh, chúng ta cần giải phương trình giải tường minh cho wi+1.

Điều này mang lại

1
2
wi+1 = [27,8wi wi 1 + 0,2wi 2 0,192i 0,192i + 4,736],
22,2

với i = 2, 3, ... , 9.

Kết quả trong Bảng 5.13 thu được bằng cách sử dụng các giá trị chính xác từ y(t) = (t + 1)2

0,5et cho α, α1, α2 và α3 trong trường hợp Adams-Bashforth rõ ràng và cho α, α1 và α2 trong

trường hợp ngầm của Adams-Moulton. Lưu ý rằng phương pháp Adams-Moulton ngầm định cho

luôn có kết quả tốt hơn.

Bảng 5.13
Adams- Adams-
Bashforth Moulton
tôi Chính xác Wi Lỗi Wi Lỗi

0,0 0,5000000
0,2 0.8292986
0,4 1.2140877
0,6 1.6489406 1.6489341 0,0000065
0,8 2.1272295 2.1273124 0,0000828 2.1272136 0,0000160
1.0 2.6408591 2.6410810 0,0002219 2.6408298 0,0000293
1,2 3.1799415 3.1803480 0,0004065 3.1798937 0,0000478
1,4 3.7324000 3.7330601 0,0006601 3.7323270 0,0000731
1,6 4.2834838 4.2844931 0,0010093 4.2833767 0,0001071
1,8 4.8151763 4.8166575 0,0014812 4.8150236 0,0001527
2,0 5.3054720 5.3075838 0,0021119 5.3052587 0,0002132

Các phương pháp nhiều bước có sẵn dưới dạng các tùy chọn của lệnh LaunchValueProblem , trong một

tương tự như phương pháp một bước. Lệnh dành cho Adam Bashforth Four

Phương pháp bước áp dụng cho ví dụ thông thường của chúng tôi có dạng

C := LaunchValueProblem(deq, y(0) = 0,5, t = 2, phương thức = adamsbashforth,

phương thức con = bước 4, bước số = 10, đầu ra = thông tin, chữ số = 8)

Đầu ra từ phương pháp này tương tự như kết quả trong Bảng 5.13 ngoại trừ kết quả chính xác

các giá trị được sử dụng trong Bảng 5.13 và các giá trị gần đúng được sử dụng làm giá trị bắt đầu cho

Phép tính gần đúng của Maple.

Để áp dụng phương pháp Ba bước của Adams-Mouton cho bài toán này, các phương án sẽ là

đã thay đổi thành phương thức = adamsmoulton, phương thức con = bước 3.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

310 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Phương pháp dự đoán-sửa lỗi

Trong ví dụ 4, phương pháp Adams-Moulton ẩn cho kết quả tốt hơn phương pháp Adams-Bashforth
rõ ràng có cùng thứ tự. Mặc dù trường hợp này nói chung là như vậy, nhưng các phương thức
tiềm ẩn có điểm yếu cố hữu là trước tiên phải chuyển đổi phương thức đó theo đại số thành một
biểu diễn rõ ràng cho wi+1. Thủ tục này không phải lúc nào cũng có thể thực hiện được, như có
thể thấy bằng cách xem xét bài toán giá trị ban đầu cơ bản

y = ey , 0 t 0,25, y(0) = 1.

Vì f (t, y) = ey nên phương pháp Adams-Moulton ba bước có

h
wi+1 = wi +
24[9ewi+1 + 19ewi 5ewi 1 + ewi 2 ]

là phương trình sai phân của nó, và phương trình này không thể giải được bằng đại số với wi+1.

Chúng ta có thể sử dụng phương pháp Newton hoặc phương pháp cát tuyến để tính gần đúng wi+1, nhưng

điều này làm cho quy trình trở nên phức tạp đáng kể. Trong thực tế, các phương pháp ẩn nhiều bước không

được sử dụng như mô tả ở trên. Đúng hơn, chúng được sử dụng để cải thiện các giá trị gần đúng thu được

bằng các phương pháp rõ ràng. Sự kết hợp giữa một phương pháp rõ ràng để dự đoán và một phương pháp tiềm

ẩn để cải thiện dự đoán được gọi là phương pháp dự đoán-điều chỉnh.

Hãy xem xét phương pháp bậc bốn sau đây để giải bài toán giá trị ban đầu. Bước đầu
tiên là tính các giá trị bắt đầu w0, w1, w2 và w3 cho phương pháp Adams-Bashforth rõ ràng
gồm bốn bước. Để làm điều này, chúng tôi sử dụng phương pháp một bước bậc bốn, phương pháp
Runge-Kutta bậc bốn. Bước tiếp theo là tính giá trị gần đúng, w4p, cho y(t4) bằng cách sử
dụng phương pháp Adams-Bashforth rõ ràng làm công cụ dự đoán:

h
w4p = w3 + 24[55f (t3, w3) 59f (t2, w2) + 37f (t1, w1) 9f (t0, w0)].

Phép tính gần đúng này được cải thiện bằng cách chèn w4p vào phía bên phải của phương pháp ngầm ba
bước Adams-Moulton và sử dụng phương pháp đó làm bộ hiệu chỉnh. Điều này mang lại

h
w4 = w3 + 24[9f (t4, w4p) + 19f (t3, w3) 5f (t2, w2) + f (t1, w1)].

Đánh giá hàm mới duy nhất cần có trong quy trình này là f (t4, w4p) trong phương trình hiệu chỉnh;
tất cả các giá trị khác của f đã được tính toán cho các phép tính gần đúng trước đó.
Sau đó, giá trị w4 được sử dụng làm giá trị gần đúng cho y(t4) và kỹ thuật sử dụng phương
pháp Adams-Bashforth làm công cụ dự đoán và phương pháp Adams-Moulton làm công cụ hiệu chỉnh

được lặp lại để tìm w5p và w5, các xấp xỉ ban đầu và cuối cùng đến y(t5). Quá trình này được
tiếp tục cho đến khi chúng ta thu được giá trị gần đúng wc của y(tN) = y(b).
Các phép tính gần đúng được cải thiện cho y(ti+1) có thể thu được bằng cách lặp lại công
thức Adams-Moulton, nhưng những phép tính gần đúng này hội tụ về phép tính gần đúng được đưa ra
bởi công thức ẩn chứ không phải là nghiệm y(ti+1). Do đó, việc giảm kích thước bước thường sẽ
hiệu quả hơn nếu cần cải thiện độ chính xác.
Thuật toán 5.4 dựa trên phương pháp Adams-Bashforth bậc bốn làm yếu tố dự đoán và một lần lặp
của phương pháp Adams-Moulton làm bộ hiệu chỉnh, với các giá trị bắt đầu thu được từ phương pháp
Runge-Kutta bậc bốn.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.6 Phương pháp nhiều bước 311

Thuật toán Công cụ dự đoán-sửa lỗi bậc bốn của Adams


5,4
Để tính gần đúng lời giải của bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α,

tại (N + 1) các số cách đều nhau trong khoảng [a, b]:

INPUT điểm cuối a, b; số nguyên N; điều kiện ban đầu α.

Xấp xỉ OUTPUT w đến y tại các giá trị (N + 1) của t.

Bước 1 Đặt h = (b a)/N; t0 = a; w0 = α;

ĐẦU RA

(t0, w0).

Bước 2 Với i = 1, 2, 3, thực hiện Bước 3–5.


(Tính giá trị ban đầu bằng phương pháp Runge-Kutta.)

Bước 3 Đặt K1 = hf (ti 1, wi 1);


K2 = hf (ti 1 + h/2, wi 1 + K1/2); K3
= hf (ti 1 + h/2, wi 1 + K2/2); K4 =
hf (ti 1 + h, wi 1 + K3).

Bước 4 Đặt wi = wi 1 + (K1 + 2K2 + 2K3 + K4)/6; ti = a + ih.

Bước 5 ĐẦU RA (ti, wi).

Bước 6 Với i = 4, ... , N thực hiện Bước 7–10.

Bước 7 Đặt t = a + ih;

w = w3 + h[55f (t3, w3) 59f (t2, w2) + 37f (t1, w1)


9f (t0, w0)]/24; (Dự đoán wi.) w = w3 +
h[9f (t, w) + 19f (t3, w3) 5f (t2, w2) + f (t1, w1)]/
24. (Đúng rồi .)

Bước 8 ĐẦU RA (t, w).

Bước 9 Với j = 0, 1, 2 đặt

tj = tj+1; (Chuẩn bị cho lần lặp tiếp theo.) wj =

wj+1.

Bước 10 Đặt t3 = t;
w3 = w.

Bước 11 DỪNG.

Ví dụ 5 Áp dụng phương pháp dự đoán-sửa lỗi bậc bốn của Adams với h = 0,2 và các giá trị bắt đầu
từ phương pháp cấp 4 Runge-Kutta đến bài toán giá trị ban đầu

2
y = y t + 1, 0 ≤ t 2, y(0) = 0,5.

Giải pháp Đây là sự tiếp tục và sửa đổi của vấn đề được xem xét trong Ví dụ 1 ở đầu phần. Trong ví
dụ đó, chúng tôi thấy rằng các giá trị gần đúng ban đầu từ Runge-Kutta là

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

312 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

y(0) = w0 = 0,5, y(0,2) ≈ w1 = 0,8292933, y(0,4) ≈ w2 = 1,2140762, và

y(0,6) ≈ w3 = 1,6489220.

và phương pháp Adams-Bashforth bậc bốn đã cho

0,2 y(0,8) ≈ (55f (0,6, w3) 59f (0,4, w2) + 37f (0,2, w1) 9f (0, w0)) w4p = w3 +
24

0,2
= 1,6489220 + (55f (0,6, 1,6489220) 59f (0,4, 1,2140762) 24

+ 37f (0,2, 0,8292933) 9f (0, 0,5))

= 1,6489220 + 0,0083333(55(2,2889220) 59(2,0540762)

+ 37(1.7892933) 9(1.5))

= 2.1272892.

Bây giờ chúng ta sẽ sử dụng w4p làm công cụ dự đoán giá trị gần đúng của y(0,8) và xác định giá
trị đã hiệu chỉnh w4, từ phương pháp ngầm định Adams-Moulton. Điều này mang lại

0,2
y(0,8) ≈ w4 = w3 + 24 9f (0,8, w4p) + 19f (0,6, w3) 5f (0,4, w2) + f (0,2, w1)

0,2
= 1,6489220 + (9f (0,8, 2,1272892) + 19f (0,6, 1,6489220) 24

5f (0,4, 1,2140762) + f (0,2, 0,8292933))

= 1,6489220 + 0,0083333(9(2,4872892) + 19(2,2889220) 5(2,0540762)

+ (1.7892933))

= 2.1272056.

Bây giờ chúng tôi sử dụng phép tính gần đúng này để xác định yếu tố dự đoán, w5p, cho y(1.0) là

0,2 y(1,0)≈w5p =w4 + (55f (0,8, w4) 59f (0,6, w3) + 37f (0,4, w2) 9f (0,2, w1)) 24

0,2
=2,1272056 + (55f (0,8, 2,1272056) 59f (0,6, 1,6489220) 24

+ 37f (0,4, 1,2140762) 9f (0,2, 0,8292933))

=2,1272056+0,0083333(55(2,4872056) 59(2,2889220)+37(2,0540762)

9(1.7892933))

=2,6409314,

và sửa lỗi này với

0,2
y(1,0) ≈ w5 = w4 + 9f (1,0, w5p) + 19f (0,8, w4) 5f (0,6, w3) + f (0,4, w2)
24

0,2
= 2,1272056 + (9f (1,0, 2,6409314) + 19f (0,8, 2,1272892) 24

5f (0,6, 1,6489220) + f (0,4, 1,2140762))

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.6 Phương pháp nhiều bước 313

= 2,1272056 + 0,0083333(9(2,6409314) + 19(2,4872056) 5(2,2889220)

+ (2.0540762))

= 2,6408286.

Trong Ví dụ 1, chúng tôi thấy rằng chỉ sử dụng phương pháp Adams-Bashforth rõ ràng đã tạo ra

kết quả kém hơn so với Runge-Kutta. Tuy nhiên, những giá trị gần đúng này với y(0,8)

và y(1.0) chính xác trong phạm vi

|2.1272295 2.1272056| = 2,39 × 10 5 và |2,6408286 2,6408591| = 3,05 × 10 5 .

tương ứng, so với của Runge-Kutta, tương ứng chính xác trong phạm vi

|2.1272027 2.1272892| = 2,69 × 10 5 và |2,6408227 2,6408591| = 3,64 × 10 5 .

Các phép tính gần đúng của bộ dự đoán-hiệu chỉnh còn lại được tạo bằng Thuật toán 5.4 và
được thể hiện trong Bảng 5.14.

Bảng 5.14
Lỗi

tôi yi = y(ti) Wi |yi wi|

0,0 0,5000000 0,5000000 0


0,2 0,8292986 0,8292933 0,0000053
0,4 1.2140877 1,2140762 0,0000114
0,6 1.6489406 1,6489220 0,0000186
0,8 2.1272295 2,1272056 0,0000239
1,0 2.6408591 2,6408286 0,0000305
1,2 3.1799415 3,1799026 0,0000389
1,4 3.7324000 3,7323505 0,0000495
1.6 4.2834838 4.2834208 0,0000630
1.8 4.8151763 4.8150964 0,0000799
2.0 5.3054720 5.3053707 0,0001013

Phương pháp Dự đoán-Hiệu chỉnh bậc 4 của Adams được triển khai trong Maple cho

vấn đề ví dụ với

C := LaunchValueProblem(deq, y(0) = 0,5, t = 2, phương thức = adamsbashforhmoulton,

phương thức con = bước 4, bước số = 10, đầu ra = thông tin, chữ số = 8)

Edward Arthur Milne và tạo ra các giá trị tương tự như trong Bảng 5.14.

(1896–1950) làm việc trong lĩnh vực đạn đạo Các phương pháp nhiều bước khác có thể được rút ra bằng cách sử dụng tích hợp các đa thức nội suy
nghiên cứu trong Thế chiến thứ nhất, và trên các khoảng có dạng [tj, ti+1], với j ≤ i 1, để thu được giá trị gần đúng với y(ti+1). Khi
sau đó cho Vật lý Mặt trời một đa thức nội suy được tích phân trên [ti 3, ti+1], kết quả là biểu thức Milne rõ ràng
Đài quan sát ở Cambridge. TRONG phương pháp:

1929 ông được bổ nhiệm làm


4 giờ
Ghế bóng WW Rouse tại
wi+1 = wi 3 + [2f (ti, wi) f (ti 1, wi 1) + 2f (ti 2, wi 2)],
Cao đẳng Wadham ở Oxford. 3

14
có lỗi cắt ngắn cục bộ 45 h4y(5) (ξi), với một số ξi (ti 3, ti+1).

Phương pháp Milne đôi khi được sử dụng làm yếu tố dự đoán cho phương pháp Simpson ẩn,
Tên của Simpson được liên kết

với kỹ thuật này bởi vì nó


h
dựa trên quy tắc Simpson cho wi+1 = wi 1 + [f (ti+1, wi+1) + 4f (ti, wi) + f (ti 1, wi 1)],
3
hội nhập.

có lỗi cắt cụt cục bộ (h4/90)y(5) (ξi), đối với một số ξi (ti 1, ti+1), và thu được
bằng cách lấy tích phân một đa thức nội suy trên [ti 1, ti+1].

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

314 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Lỗi cắt cụt cục bộ liên quan đến phương pháp dự đoán-sửa lỗi thuộc loại Milne-
Simpson thường nhỏ hơn lỗi của phương pháp Adams-Bashforth-Moulton. Nhưng
kỹ thuật này bị hạn chế sử dụng vì có vấn đề về lỗi làm tròn, điều này không xảy ra với
thủ tục Adams. Chi tiết về khó khăn này được đưa ra trong Phần 5.10.

BÀI TẬP 5.6

1. Sử dụng tất cả các phương pháp Adams-Bashforth để tính gần đúng nghiệm của giá trị ban đầu sau

các vấn đề. Trong mỗi trường hợp, hãy sử dụng các giá trị ban đầu chính xác và so sánh kết quả với giá trị thực tế.
1
Một. y = te3t 2y, 0 ≤ t 1, y(0) = 0, với h = 0,2; nghiệm thực tế y(t) = 5
te3t 1
25
e3t +
1
e 2t .
25
1
b. y = 1 + (t y)2, 2 ≤ t 3, y(2) = 1, với h = 0,2; nghiệm thực tế y(t) = t + .
1 t

c. y = 1 + y/t, 1 ≤ t 2, y(1) = 2, với h = 0,2; nghiệm thực tế y(t) = t ln t + 2t.

d. y = cos 2t + sin 3t, 0 ≤ t ≤ 1, y(0) = 1, với h = 0,2; nghiệm thực tế y(t) = cos 3t +
1 1 4
tội lỗi 2t .
2 3 3

2. Sử dụng từng phương pháp Adams-Bashforth để tính gần đúng nghiệm của giá trị ban đầu sau

các vấn đề. Trong mỗi trường hợp, sử dụng các giá trị bắt đầu thu được từ phương pháp Runge-Kutta bậc bốn.

So sánh kết quả với giá trị thực tế.

2 20 2t + 1
Một. y = , 0 ≤ t 1, y(0) = 1, với h = 0,1 nghiệm thực tế y(t) = t2 + 2 .
t2 + 1 y2
1
b. y = , 1 ≤ t 2, y(1) = (ln 2) 1, với h = 0,1 nghiệm thực tế y(t) = ln(t + 1) .
1 + t
2t
c. y = (y2 + y)/t, 1 ≤ t 3, y(1) = 2, với h = 0,2 nghiệm thực tế y(t) = .
1 t

d. y = ty + 4t/y, 0 ≤ t ≤ 1, y(0) = 1, với h = 0,1 nghiệm thực tế y(t) = 4 3e t2 .

3. Sử dụng từng phương pháp Adams-Bashforth để tính gần đúng nghiệm của giá trị ban đầu sau

các vấn đề. Trong mỗi trường hợp, sử dụng các giá trị bắt đầu thu được từ phương pháp Runge-Kutta bậc bốn.

So sánh kết quả với giá trị thực tế.


2
t
Một. y = y/t (y/t) , 1 ≤ t 2, y(1) = 1, với h = 0,1; nghiệm thực tế y(t) = 1 + ln t .

2
b. y = 1+y/t +(y/t) , 1 t 3, y(1) = 0, với h = 0,2; nghiệm thực tế y(t) = t tan(ln t).

c. y = (y + 1)(y + 3), 0 ≤ t 2, y(0) = 2, với h = 0,1; nghiệm thực tế y(t) =

3 + 2/(1 + e 2t ).
1
d. y = 5y+5t 2+2t, 0 ≤ t ≤ 1, y(0) = 1/3, với h = 0,1; nghiệm thực tế y(t) = t 2+ 4. Sử dụng tất cả các e 5t .
3

phương pháp Adams-Moulton để tính gần đúng nghiệm của Bài tập 1(a), 1(c) và

1(đ). Trong mỗi trường hợp, hãy sử dụng các giá trị bắt đầu chính xác và giải quyết rõ ràng cho wi+1. So sánh kết quả với
những giá trị thực tế.

5. Sử dụng Thuật toán 5.4 để tính gần đúng nghiệm của các bài toán có giá trị ban đầu trong Bài tập 1.

6. Sử dụng Thuật toán 5.4 để tính gần đúng nghiệm của các bài toán có giá trị ban đầu trong Bài tập 2.

7. Sử dụng Thuật toán 5.4 để tính gần đúng lời giải của các bài toán có giá trị ban đầu trong Bài tập 3.

8. Thay đổi Thuật toán 5.4 để bộ sửa có thể được lặp lại cho một số lần lặp nhất định . Lặp lại

Bài tập 7 với p = 2, 3 và 4 lần lặp. Lựa chọn nào của p cho câu trả lời tốt nhất cho mỗi giá trị ban đầu

vấn đề?

9. Bài toán giá trị ban đầu

y = ey , 0 t 0,20, y(0) = 1

có giải pháp

y(t) = 1 ln(1 et).

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.7 Phương pháp nhiều bước có kích thước bước thay đổi 315

Áp dụng phương pháp Adams-Moulton ba bước cho bài toán này tương đương với việc tìm điểm cố định wi+1 của

h
g(w) = wi + 24 (9ew + 19ewi 5ewi 1 + ewi 2 ).

Một. Với h = 0,01, thu được wi+1 bằng phép lặp hàm cho i = 2, ... , 19 sử dụng các giá trị bắt đầu chính xác w0,

w1 và w2. Tại mỗi bước, sử dụng wi để tính gần đúng ban đầu của wi+1. b.

Liệu phương pháp của Newton có tăng tốc độ hội tụ qua phép lặp hàm không?

10. Sử dụng phương pháp Dự đoán-Hiệu chỉnh Milne-Simpson để tính gần đúng nghiệm của giá trị ban đầu

các vấn đề ở bài tập 3.

11. a. Suy ra phương pháp hai bước Adams-Bashforth bằng cách sử dụng dạng Lagrange của phép nội suy

đa thức.

b. Suy ra phương pháp bốn bước Adams-Bashforth bằng cách sử dụng dạng sai phân ngược của Newton

của đa thức nội suy.

12. Suy ra phương pháp ba bước Adams-Bashforth bằng phương pháp sau. Bộ

y(ti+1) = y(ti) + ahf (ti, y(ti)) + bhf (ti 1, y(ti 1)) + chf (ti 2, y(ti 2)).

Khai triển y(ti+1), f (ti 2, y(ti 2)) và f (ti 1, y(ti 1)) trong chuỗi Taylor về (ti, y(ti)), và đánh đồng các
hệ số của h, h2 và h3 để thu được a, b và c.

13. Suy ra phương pháp Hai bước Adams-Moulton và lỗi cắt cụt cục bộ của nó bằng cách sử dụng một công thức thích hợp

dạng đa thức nội suy.

14. Suy ra phương pháp Simpson bằng cách áp dụng quy tắc Simpson cho tích phân

ti+1

y(ti+1) y(ti 1) = f (t, y(t)) dt.


ti 1

15. Suy ra phương pháp Milne bằng cách áp dụng công thức Newton-Cotes mở (4.29) cho tích phân

ti+1

y(ti+1) y(ti 3) = f (t, y(t)) dt.


ti 3

16. Xác minh các mục trong Bảng 5.12 trên trang 305.

5.7 Phương pháp nhiều bước có kích thước bước thay đổi

Phương pháp Runge-Kutta-Fehlberg được sử dụng để kiểm soát lỗi vì ở mỗi bước, nó cung cấp,
với chi phí bổ sung ít, hai phép tính gần đúng có thể so sánh và liên quan đến lỗi cắt cụt
cục bộ. Kỹ thuật dự đoán-sửa lỗi luôn tạo ra hai giá trị gần đúng ở mỗi bước, vì vậy chúng
là những ứng cử viên đương nhiên cho việc điều chỉnh kiểm soát lỗi.
Để chứng minh quy trình kiểm soát lỗi, chúng tôi xây dựng phương pháp dự đoán-sửa lỗi có kích

thước bước thay đổi bằng cách sử dụng phương pháp Adams-Bashforth rõ ràng bốn bước làm công cụ dự
đoán và phương pháp Adams-Moulton ẩn ba bước làm công cụ sửa lỗi.

Phương pháp bốn bước Adams-Bashforth xuất phát từ mối quan hệ

h
y(ti+1) = y(ti) + 24[55f (ti, y(ti)) 59f (ti 1, y(ti 1))

251
+ 37f (ti 2, y(ti 2)) 9f (ti 3, y(ti 3))] + y(5) (μˆi)h5 ,
720

đối với một số μˆi (ti 3, ti+1). Giả định rằng các giá trị gần đúng w0, w1, ... , wi đều
chính xác ngụ ý rằng lỗi cắt cụt cục bộ Adams-Bashforth là

y(ti+1) wi+1,p 251


= y(5) (μˆi)h4 .
(5.40)
h 720

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

316 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Một phân tích tương tự về phương pháp ba bước của Adams-Moulton, xuất phát từ

h
y(ti+1) = y(ti) +
24[9f (ti+1, y(ti+1)) + 19f (ti, y(ti)) 5f (ti 1, y(ti 1))

19
+ f (ti 2, y(ti 2))] y(5) (μ˜i)h5 ,
720

đối với một số μ˜i (ti 2, ti+1), dẫn đến lỗi cắt cụt cục bộ

y(ti+1) wi+1 19
= y(5) (μ˜i)h4 . (5.41)
h 720

Để tiếp tục, chúng ta phải giả định rằng với các giá trị nhỏ của h, chúng ta có

y(5) (μˆi) ≈ y(5) (μ˜i).

Hiệu quả của kỹ thuật kiểm soát lỗi phụ thuộc trực tiếp vào giả định này.
Nếu chúng ta trừ phương trình. (5.40) từ phương trình. (5.39), ta có

wi+1 wi+1,p h4 3
= [251y(5) (μˆi) + 19y(5) (μ˜i)] ≈ h4 y(5) (μ˜i),
h 720 số 8

Vì thế

số 8

y(5) (μ˜i) ≈ (wi+1 wi+1,p). (5.42)


3h5

Sử dụng kết quả này để loại bỏ số hạng liên quan đến y(5) (μ˜i)h4 khỏi biểu thức. (5.41) đưa ra
gần đúng với lỗi cắt cụt cục bộ Adams-Moulton

| y(ti+1) wi+1| 19h4 số 8


19|wi+1 wi+1,p| |
≈ · .
|τi+1(h)| = wi+1 wi+1,p| =
h 720 3h5 270h

Giả sử bây giờ chúng ta xem xét lại (phương trình 5.41) với kích thước bước mới qh tạo ra các ảnh

gần đúng mới wˆi+1,p và wˆi+1. Đối tượng là chọn q sao cho lỗi cắt cụt cục bộ được đưa ra trong biểu
thức. (5.41) được giới hạn bởi dung sai quy định ε. Nếu chúng ta giả sử rằng giá trị y(5) (μ) trong

biểu thức. (5.41) liên quan đến qh cũng được tính gần đúng bằng phương trình. (5.42), thì

| y(ti + qh) ˆwi+1| 19q4h4 19q4h4 | y(5) (μ)| ≈ số 8

= 720 720 |wi+1 wi+1,p|


qh 3h5

19q4 |wi+1 wi+1,p| h


= ,
270

và chúng ta cần chọn q sao cho

| y(ti + qh) ˆwi+1| 19q4 |wi+1 wi+1,p| h


≈ < ε.
qh 270

Tức là chọn q sao cho

1/4
270 hε hε
q < 1/4 ≈ 2 .
19 |wi+1 wi+1,p| |wi+1 wi+1,p|

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.7 Phương pháp nhiều bước có kích thước bước thay đổi 317

Một số giả định gần đúng đã được đưa ra trong quá trình phát triển này, vì vậy trong

thực hành q được chọn một cách thận trọng, thường là

hε 1/4

q = 1,5 .
|wi+1 wi+1,p|

Sự thay đổi kích thước bước đối với phương pháp nhiều bước sẽ tốn kém hơn về mặt đánh giá hàm so

với phương pháp một bước, bởi vì các giá trị bắt đầu cách đều nhau mới phải được tính toán. Kết quả

là, thực tế thông thường là bỏ qua sự thay đổi kích thước bước bất cứ khi nào lỗi cắt cụt cục bộ nằm

trong khoảng ε/10 và ε, nghĩa là khi

ε | y(ti+1) wi+1| 19|wi+1 wi+1,p|


≈ < ε.
< |τi+1(h)| = 10
giờ 270 giờ

Ngoài ra, q được đưa ra một giới hạn trên để đảm bảo rằng một phép tính gần đúng chính xác bất thường

không dẫn đến kích thước bước quá lớn. Thuật toán 5.5 kết hợp biện pháp bảo vệ này với giới hạn trên

là 4.

Hãy nhớ rằng các phương pháp nhiều bước yêu cầu kích thước bước bằng nhau cho các giá trị bắt đầu.

Vì vậy, bất kỳ thay đổi nào về kích thước bước đều cần phải tính toán lại các giá trị bắt đầu mới tại

thời điểm đó. Trong Bước 3, 16 và 19 của Thuật toán 5.5, việc này được thực hiện bằng cách gọi thuật toán

con Runge-Kutta (Thuật toán 5.2), đã được thiết lập ở Bước 1.

Thuật toán Bộ dự đoán-Hiệu chỉnh kích thước bước biến đổi của Adams
5,5
Để tính gần đúng lời giải của bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α

với lỗi cắt cụt cục bộ trong phạm vi dung sai nhất định:

INPUT điểm cuối a, b; điều kiện ban đầu α; dung sai TOL; kích thước bước tối đa hmax; kích thước bước

tối thiểu hmin.

OUTPUT i, ti, wi, h trong đó ở bước thứ i wi xấp xỉ y(ti) và kích thước bước h đã được sử dụng hoặc

một thông báo cho biết đã vượt quá kích thước bước tối thiểu.

Bước 1 Thiết lập thuật toán con cho phương pháp bậc 4 Runge-Kutta được gọi là RK4(h, v0, x0, v1,

x1 , v2, x2, v3, x3) chấp nhận làm đầu vào là kích thước bước h và giá trị bắt

đầu v0 ≈ y(x0) và trả về {(xj, vj) | j = 1, 2, 3} được xác định như sau: với j = 1,
2, 3 đặt K1

= hf (xj 1,

vj 1); K2 = hf (xj 1 + h/

2, vj 1 + K1/2)

K3 = hf (xj 1 + h/2, vj 1 + K2/2)

K4 = hf (xj 1 + h, vj 1 + K3) vj

= vj 1 + (K1 + 2K2 + 2K3 + K4)/6; xj = x0 +

jh.

Bước 2 Đặt t0 = a;

w0 = α; h

= hmax; CỜ =

1; (CỜ sẽ được sử dụng để thoát khỏi vòng lặp ở Bước 4.)

CUỐI CÙNG = 0; (LAST sẽ cho biết thời điểm tính giá trị cuối cùng.)

ĐẦU RA (t0, w0).

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

318 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Bước 3 Gọi RK4(h, w0, t0, w1, t1, w2, t2, w3, t3); Đặt

NFLAG = 1; (Biểu thị tính toán từ RK4.)

tôi =

4; t = t3 + h.

Bước 4 Trong khi (FLAG = 1) thực hiện Bước 5–20.

h
Bước 5 Đặt WP = wi 1 + 24[55f
(ti 1, wi 1) 59f (ti 2, wi 2)

+ 37f (ti 3, wi 3) 9f (ti 4, wi 4)]; (Dự đoán wi.)

h
WC = wi 1 +
24[9f (t, WP) + 19f (ti 1, wi 1)

5f (ti 2, wi 2) + f (ti 3, wi 3)]; (Đúng rồi .)

σ = 19|WC WP|/(270h).

Bước 6 Nếu σ ≤ TOL thì thực hiện Bước 7–16 (Kết quả được chấp nhận.) nếu

không thì thực hiện Bước 17–19. (Kết quả bị từ chối.)

Bước 7 Đặt wi = WC; (Kết quả được chấp nhận.)

ti = t.

Bước 8 Nếu NFLAG = 1 thì với j = i 3, i 2, i 1, i

ĐẦU RA (j, tj, wj, h);


(Các kết quả trước đó cũng được chấp

nhận.) khác OUTPUT (i, ti, wi, h).

(Kết quả trước đó đã được chấp nhận.)

Bước 9 Nếu LAST = 1 thì đặt FLAG = 0 (Bước tiếp theo là 20.)

nếu không thì hãy thực hiện các Bước 10–16.

Bước 10 Đặt i = i + 1; NFLAG


= 0.

Bước 11 Nếu σ ≤ 0,1 TOL hoặc ti 1 + h > b thì thực hiện Bước 12–16.

(Tăng h nếu nó chính xác hơn yêu cầu hoặc giảm h để bao gồm b làm điểm

lưới.)

Bước 12 Đặt q = (TOL/(2σ ))1/4.

Bước 13 Nếu q > 4 thì đặt h = 4h , ngược

lại đặt h = qh.

Bước 14 Nếu h > hmax thì đặt h = hmax.

Bước 15 Nếu ti 1 + 4h > b thì đặt h =

(b ti 1)/4;
CUỐI CÙNG = 1.

Bước 16 Gọi RK4(h, wi 1, ti 1, wi, ti, wi+1, ti+1, wi+2, ti+2);


Đặt NFLAG = 1; i

= i + 3. (Nhánh thật đã hoàn thành. Bước tiếp theo là 20.)

Bước 17 Đặt q = (TOL/(2σ ))1/4. (Nhánh sai từ Bước 6: Kết quả bị từ chối.)

Bước 18 Nếu q < 0,1 thì đặt h = 0,1h , ngược

lại đặt h = qh.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.7 Phương pháp nhiều bước có kích thước bước thay đổi 319

Bước 19 Nếu h < hmin thì đặt FLAG = 0;


OUTPUT (' vượt quá hmin') ngược
lại

nếu NFLAG = 1 thì đặt i = i 3; (Kết

quả trước đó cũng bị từ chối.)

Gọi RK4(h, wi 1, ti 1, wi, ti, wi+1, ti+1, wi+2,


ti+2); đặt i
= i + 3; NFLAG = 1.

Bước 20 Đặt t = ti 1 + h.

Bước 21 DỪNG.

Ví dụ 1 Sử dụng phương pháp dự đoán-hiệu chỉnh kích thước bước biến Adams với kích thước bước tối đa hmax
= 0,2, kích thước bước tối thiểu hmin = 0,01 và dung sai TOL = 10 5 để tính gần đúng lời
giải của bài toán giá trị ban đầu

2
y = y t + 1, 0 ≤ t 2, y(0) = 0,5.

Giải pháp Chúng ta bắt đầu với h = hmax = 0,2 và thu được w0, w1, w2 và w3 bằng Runge-
Kutta, sau đó tìm wp4 và wc4 bằng cách áp dụng phương pháp dự đoán-hiệu chỉnh. Những tính
toán này được thực hiện trong Ví dụ 5 của Phần 5.6 trong đó xác định rằng các phép tính
gần đúng Runge-Kutta là

y(0) = w0 = 0,5, y(0,2) ≈ w1 = 0,8292933, y(0,4) ≈ w2 = 1,2140762, và

y(0,6) ≈ w3 = 1,6489220.

Người dự đoán và người sửa lỗi đã đưa ra

y(0) = w0 = 0,5, y(0,2) ≈ w1 = 0,8292933, y(0,4) ≈ w2 = 1,2140762, và

y(0,6) ≈ w3 = 1,6489220.

0,2 y(0,8) ≈ (55f (0,6, w3) 59f (0,4, w2) + 37f (0,2, w1) 9f (0, w0)) w4p = w3 + 24

= 2.1272892,

0,2 y(0,8) ≈ w4 = w3 9f (0,8, w4p) + 19f (0,6, w3) 5f (0,42, w2) + f (0,2, w1)
+ 24

= 2.1272056.

Bây giờ chúng ta cần xác định xem những phép tính gần đúng này có đủ chính xác hay không hoặc liệu có cần thay

đổi kích thước bước hay không. Đầu tiên chúng tôi tìm thấy

19 19
δ = w4 w4p| = |2.1272056 2.1272892| = 2,941 × 10 5 . |
270h 270(0,2)

Bởi vì giá trị này vượt quá dung sai 10 5 nên cần có kích thước bước mới và kích thước bước mới là

1/4 1/4
10 5 10 5
qh = = (0,2) = 0,642(0,2) ≈ 0,128.
2δ 2(2,941 × 10 5)

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

320 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Do đó, chúng ta cần bắt đầu lại quy trình tính toán các giá trị Runge-Kutta

với kích thước bước này, sau đó sử dụng phương pháp dự đoán-hiệu chỉnh với cùng kích thước bước này để

tính toán các giá trị mới của w4p và w4. Sau đó chúng tôi cần tiến hành kiểm tra độ chính xác trên những
xấp xỉ để thấy rằng chúng ta đã thành công. Bảng 5.15 cho thấy lần chạy thứ hai này

thành công và liệt kê tất cả các kết quả thu được bằng Thuật toán 5.5.

Bảng 5.15
tôi y(ti) Wi CHÀO σi |y(ti) wi|

0,5
0 0,1257017 0,5 0,7002318 0,1257017 4,051 × 10 6 0,0000005
0,2514033 0,7002323 0,9230949 0,1257017 4,051 × 10 6 0,0000011
0,3771050 0,9230960 1,1673877 0,1257017 4,051 × 10 6 0,0000017
0,5028066 1,1673894 1,4317502
1,4317480 0,1257017 4,051 × 10 6 0,0000022
0.6285083 1.7146334 1.7146306 0.1257017 4,610 × 10 6 0,0000028
0,7542100 2.0142869 2.0142834 0.1257017 5,210 × 10 6 0,0000035
0.8799116 2.3287244 2.3287200 0.1257017 5,913 × 10 6 0,0000043
1.0056133 2.6556930 2.6556877 0.1257017 6,706 × 10 6 0,0000054
1.1313149 2.9926385 2.9926319 0.1257017 7,604 × 10 6 0,0000066
1.2570166 3.3366642 3.3366562 0.1257017 8,622 × 10 6 0,0000080
1.3827183 3.6844857 3.6844761 0.1257017 9,777 × 10 6 0,0000097
1.4857283 3.9697541 3.9697433 0.1030100 7,029 × 10 6 0,0000108
1.5887383 4.2527830 4.2527711 0.1030100 7,029 × 10 6 0,0000120
1.6917483 4.5310269 4.5310137 0.1030100 7,029 × 10 6 0,0000133
1.7947583 4.8016639 4.8016488 0.1030100 7,029 × 10 6 0,0000151
1.8977683 5.0615660 5.0615488 0.1030100 7,760 × 10 6 0,0000172
1.9233262 5.1239941 5.1239764 0,0255579 3,918 × 10 8 0,0000177
1.9488841 5.1854932 5.1854751 0,0255579 3,918 × 10 8 0,0000181
1.9744421 5.2460056 5.2459870 0,0255579 3,918 × 10 8 0,0000186
2.0000000 5.3054720 5.3054529 0,0255579 3,918 × 10 8 0,0000191

BÀI TẬP 5.7

1. Sử dụng Thuật toán dự đoán-hiệu chỉnh kích thước bước biến Adams với dung sai TOL = 10 4,
hmax = 0,25 và hmin = 0,025 để tính gần đúng nghiệm của các bài toán có giá trị ban đầu đã cho.
So sánh kết quả với giá trị thực tế.
1 1 1
Một. y = te3t 2y, 0 ≤ t 1, y(0) = 0; nghiệm thực tế y(t) = b. y = 1 + 5
te3t 25
e3t + 25
e 2t .

(t y)2, 2 ≤ t 3, y(2) = 1; nghiệm thực tế y(t) = t + 1/(1 t).

c. y = 1 + y/t, 1 ≤ t 2, y(1) = 2; nghiệm thực tế y(t) = t ln t + 2t.


1 1 4
d. y = cos 2t + sin 3t, 0 ≤ t 1, y(0) = 1; nghiệm thực tế y(t) = 2
tội lỗi 2t
3
cos 3t + 3
.

2. Sử dụng Thuật toán dự đoán-hiệu chỉnh kích thước bước biến Adams với TOL = 10 4 để tính gần đúng
nghiệm của các bài toán có giá trị ban đầu sau:
2
Một. y = (y/t) + y/t, 1 ≤ t ≤ 1,2, y(1) = 1, với hmax = 0,05 và hmin = 0,01.

b. y = sin t + e t , 0 ≤ t 1, y(0) = 0, với hmax = 0,2 và hmin = 0,01.

c. y = (y2 + y)/t, d. 1 t 3, y(1) = 2, với hmax = 0,4 và hmin = 0,01.

y = ty + 4t/y, 0 ≤ t ≤ 1, y(0) = 1, với hmax = 0,2 và hmin = 0,01.

3. Sử dụng Thuật toán dự đoán-hiệu chỉnh kích thước bước biến Adams với dung sai TOL = 10 6,
hmax = 0,5 và hmin = 0,02 để tính gần đúng nghiệm của các bài toán có giá trị ban đầu đã cho.
So sánh kết quả với giá trị thực tế.

Một. y = y/t (y/t)2, 1 ≤ t 4, y(1) = 1; nghiệm thực y(t) = t/(1 + ln t).


2
b. y = 1 + y/t + (y/t) , 1 ≤ t 3, y(1) = 0; nghiệm thực tế y(t) = t tan(ln t).

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.8 Phương pháp ngoại suy 321

c. y = (y + 1)(y + 3), 0 ≤ t 3, y(0) = 2; nghiệm thực y(t) = 3 + 2(1 + e 2t ) 1. d. y = (t +


2 2
2t 3)y3 ty, 0 ≤ t 2, y(0) = ; nghiệm thực tế y(t) = (3 + 2t + 6et ) 1/2.
1 3

4. Xây dựng Thuật toán dự đoán-hiệu chỉnh kích thước bước thay đổi Adams dựa trên phương pháp năm bước
Adams-Bashforth và phương pháp bốn bước Adams-Moulton. Lặp lại Bài tập 3 bằng phương pháp mới này.

5. Một mạch điện gồm một tụ điện có điện dung không đổi C = 1,1 fara mắc nối tiếp với một điện trở có
điện trở không đổi R0 = 2,1 ohm. Một điện áp E(t) = 110 sint được đặt vào thời điểm t = 0.
Khi điện trở nóng lên, điện trở trở thành hàm số của dòng điện i,

R(t) = R0 + ki, trong đó k = 0,9,

và phương trình vi phân của i(t) trở thành

2k di 1 1 dE
1 + tôi i = + dt dt .
R0 R0C R0C

Tìm i(2), giả sử i(0) = 0.

5.8 Phương pháp ngoại suy

Phép ngoại suy đã được sử dụng trong Phần 4.5 để tính gần đúng các tích phân xác định, trong đó chúng tôi

thấy rằng bằng cách tính trung bình chính xác các phép tính gần đúng hình thang tương đối không chính xác

đã tạo ra các phép tính gần đúng mới có độ chính xác vượt quá mức chính xác. Trong phần này chúng ta sẽ

áp dụng phép ngoại suy để tăng độ chính xác của phép tính gần đúng khi giải các bài toán về giá trị ban đầu.

Như chúng ta đã thấy trước đây, các phép tính gần đúng ban đầu phải có sự mở rộng sai số ở một dạng cụ thể

để quy trình thành công.

Để áp dụng phép ngoại suy giải các bài toán về giá trị ban đầu, chúng ta sử dụng kỹ thuật dựa trên

phương pháp Điểm giữa:

wi+1 = wi 1 + 2hf (ti, wi), với i ≥ 1. (5.43)

Kỹ thuật này yêu cầu hai giá trị bắt đầu vì cả w0 và w1 đều cần thiết trước khi có thể xác định được xấp

xỉ điểm giữa đầu tiên, w2 . Một giá trị bắt đầu là điều kiện ban đầu cho w0 = y(a) = α. Để xác định giá

trị bắt đầu thứ hai, w1, chúng ta áp dụng phương pháp Euler.

Các giá trị gần đúng tiếp theo thu được từ (5.43). Sau khi một loạt các phép tính gần đúng thuộc loại này được

tạo ra và kết thúc ở giá trị t, việc hiệu chỉnh điểm cuối được thực hiện bao gồm hai phép tính gần đúng điểm giữa

cuối cùng. Điều này tạo ra một giá trị gần đúng w(t, h) đến y(t) có dạng

y(t) = w(t, h) +∞ δkh2k , (5.44)


k=1

trong đó δk là các hằng số liên quan đến đạo hàm của nghiệm y(t). Điểm quan trọng là δk không phụ thuộc

vào kích thước bước h. Chi tiết về quy trình này có thể được tìm thấy trong bài báo của Gragg [Gr].

Minh họa kỹ thuật ngoại suy để giải

y (t) = f (t, y), a ≤ t ≤ b, y(a) = α,

giả sử rằng chúng ta có kích thước bước cố định h. Chúng ta muốn ước chừng y(t1) = y(a + h).

Đối với bước ngoại suy đầu tiên, chúng ta đặt h0 = h/2 và sử dụng phương pháp Euler với w0 = α

xấp xỉ y(a + h0) = y(a + h/2) như

w1 = w0 + h0f (a, w0).

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

322 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Sau đó, chúng tôi áp dụng phương pháp Trung điểm với ti 1 = a và ti = a + h0 = a + h/2 để tạo ra

phép tính gần đúng đầu tiên cho y(a + h) = y(a + 2h0),

w2 = w0 + 2h0f (a + h0, w1).

Việc hiệu chỉnh điểm cuối được áp dụng để thu được giá trị gần đúng cuối cùng với y(a + h) đối với kích

thước bước h0. Điều này dẫn đến kết quả xấp xỉ O(h2 0) với y(t1)

y1,1 1 [w2 + w1 + h0f (a + 2h0, w2)].


= 2

Chúng tôi lưu giá trị gần đúng y1,1 và loại bỏ các kết quả trung gian w1 và w2.
Để thu được giá trị gần đúng tiếp theo, y2,1, của y(t1), chúng ta đặt h1 = h/4 và sử dụng phương

pháp Euler với w0 = α để thu được giá trị gần đúng của y(a + h1) = y(a + h/4 ) mà chúng ta sẽ gọi là w1:

w1 = w0 + h1f (a, w0).

Tiếp theo, chúng ta tính gần đúng y(a + 2h1) = y(a + h/2) với w2, y(a + 3h1) = y(a + 3h/4)
với w3, và w4 đến y(a + 4h1) = y(t1) bằng phương pháp Điểm giữa.

w2 = w0 + 2h1f (a + h1, w1),

w3 = w1 + 2h1f (a + 2h1, w2),

w4 = w2 + 2h1f (a + 3h1, w3).

Việc hiệu chỉnh điểm cuối hiện được áp dụng cho w3 và w4 để tạo ra phép tính gần đúng O(h2 1)
được cải thiện cho y(t1),

y2,1 1 [w4 + w3 + h1f (a + 4h1, w4)].


= 2

Do dạng sai số cho trong (5.44), nên hai phép tính gần đúng của y(a + h) có tính chất là

2 4
h h h2 h4 +···=
y(a + h) = y1,1 + δ1 + δ2 y1,1 + δ1 + δ2 16 +··· ,
2 2 4

2 4
h h h2 h4 +···=
y(a + h) = y2,1 + δ1 + δ2 y2,1 + δ1 + δ2 16 256 +··· .
4 4

Chúng ta có thể loại bỏ phần O(h2) của lỗi cắt cụt này bằng cách lấy trung bình của hai công thức
một cách thích hợp. Cụ thể, nếu chúng ta trừ công thức đầu tiên từ 4 lần cho công thức thứ hai
và chia kết quả cho 3, chúng ta có

h4
1 y(a + h) = y2,1 + (y2,1 y1,1) δ2 +··· . 3 64

Vì vậy, giá trị gần đúng của y(t1) được cho bởi

y2,2 = y2,1 + 3 1 (y2,1 y1,1)

có lỗi thứ tự O(h4).

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.8 Phương pháp ngoại suy 323

Tiếp theo, chúng ta đặt h2 = h/6 và áp dụng phương pháp Euler một lần, sau đó là phương pháp

Trung điểm năm lần. Sau đó, chúng tôi sử dụng hiệu chỉnh điểm cuối để xác định xấp xỉ h2 , y3,1,
cho y(a + h) = y(t1). Phép tính gần đúng này có thể được lấy trung bình với y2,1 để tạo ra phép
tính gần đúng O(h4) thứ hai mà chúng ta biểu thị là y3,2. Sau đó, y3,2 và y2,2 được tính trung bình
để loại bỏ các hạng lỗi O(h4) và tạo ra một giá trị gần đúng có sai số cấp O(h6). Các công thức
bậc cao hơn được tạo ra bằng cách tiếp tục quá trình.
Sự khác biệt đáng kể duy nhất giữa phép ngoại suy được thực hiện ở đây và phép ngoại suy được
sử dụng để tích phân Romberg trong Phần 4.5 là do cách chọn các phép chia nhỏ. Trong tích hợp
Romberg, có một công thức thuận tiện để biểu diễn các phép tính gần đúng của quy tắc Hình thang
tổng hợp sử dụng các phép chia liên tiếp của kích thước bước cho các số nguyên 1, 2, 4, 8, 16, 32,
64, ... Thủ tục này cho phép quá trình lấy trung bình được tiến hành một
cách dễ dàng.
Chúng ta không có phương tiện để dễ dàng tạo ra các phép tính gần đúng tinh tế cho các bài
toán giá trị ban đầu, do đó phép chia cho kỹ thuật ngoại suy được chọn để giảm thiểu số lượng ước
lượng hàm cần thiết. Quy trình lấy trung bình phát sinh từ việc lựa chọn phép chia nhỏ này, được
trình bày trong Bảng 5.16, không phải là cơ bản, nhưng, ngoài điều đó ra, quy trình này giống như
quy trình được sử dụng cho tích phân Romberg.

Bảng 5.16
y1,1 = w(t, h0)

h21
y2,1 = w(t, h1) y2,2 = y2,1 + h2 (y2,1 y1,1)
h2 0
1

h22 h22
y3,1 = w(t, h2) y2,1) y3,2 = (y3,1 y2,2) y3,3 = (y3,2
y3,1 1+ h2 2 h2 y3,2 0+ h2 2 h2

Thuật toán 5.6 sử dụng các nút có dạng 2n và 2n · Thuật toán 5.6 sử dụng kỹ thuật ngoại suy với dãy số nguyên
3. Các lựa chọn khác

có thể được sử dụng. q0 = 2, q1 = 4, q2 = 6, q3 = 8, q4 = 12, q5 = 16, q6 = 24 và q7 = 32.

Kích thước bước cơ bản h được chọn và phương pháp tiến triển bằng cách sử dụng hi = h/qi, với mỗi i = 0, ... , 7,

để xấp xỉ y(t+h). Lỗi được kiểm soát bằng cách yêu cầu tính toán các phép tính gần đúng cho đến khi | yi,i

= 8 thì h sẽ yi 1,i 1| nhỏ hơn một dung sai nhất định. Nếu không đạt được dung sai y1,1, y2,2, ... ở mức i

giảm và quy trình được áp dụng lại.

Các giá trị tối thiểu và tối đa của h, hmin và hmax tương ứng được chỉ định để đảm bảo kiểm

soát phương pháp. Nếu yi,i được cho là có thể chấp nhận được thì w1 được đặt thành yi,i và các tính
toán lại bắt đầu để xác định w2, giá trị này sẽ xấp xỉ y(t2) = y(a + 2h). Quá trình được lặp lại
cho đến khi xác định được giá trị gần đúng wN với y(b) .

Thuật toán Phép ngoại suy


5.6
Để tính gần đúng lời giải của bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α,

với lỗi cắt cụt cục bộ trong phạm vi dung sai nhất định:

INPUT điểm cuối a, b; điều kiện ban đầu α; dung sai TOL; kích thước bước tối đa hmax; kích thước
bước tối thiểu hmin.

OUTPUT T, W, h trong đó W xấp xỉ y(t) và kích thước bước h đã được sử dụng hoặc thông báo cho biết
kích thước bước tối thiểu đã bị vượt quá.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

324 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Bước 1 Khởi tạo mảng NK = (2, 4, 6, 8, 12, 16, 24, 32).

Bước 2 Đặt TO = a; WO =
α; h =
hmax; FLAG

= 1. (FLAG được sử dụng để thoát khỏi vòng lặp ở Bước 4.)

Bước 3 Với i = 1, 2, ... , 7

với j = 1, ... ,

tôi đặt Qi,j = (NKi+1/NKj)2. (Lưu ý: Qi,j = h2 /


jh2 i+1.)

Bước 4 Trong khi (FLAG = 1) thực hiện Bước 5–20.

Bước 5 Đặt k = 1;

NFLAG = 0. (Khi đạt được độ chính xác mong muốn, NFLAG được đặt thành
1.)

Bước 6 Trong khi (k ≤ 8 và NFLAG = 0) thực hiện Bước 7–14.

Bước 7 Đặt HK = h/NKk ; T = ĐẾN;


W2 = WO;

W3 = W2 + HK

· f (T, W2); (Bước đầu tiên của Euler.)


T = ĐẾN + HK.

Bước 8 Với j = 1, ... , NKk 1 bộ


W1 = W2; W2 =
W3; W3 = W1

+ 2HK · f (T, W2); (Phương pháp trung điểm.)


T = TO + (j + 1) · HK.

Bước 9 Đặt yk = [W3 + W2 + HK · f (T, W3)]/2.

(Hiệu chỉnh điểm cuối để tính yk,1.)

Bước 10 Nếu k ≥ 2 thì thực hiện Bước 11–13.

(Lưu ý: yk 1 ≡ yk 1,1, yk 2 ≡ yk 2,2, ... , y1 ≡ yk 1,k 1 vì chỉ


hàng trước của bảng được lưu.)

Bước 11 Đặt j = k; v =

y1. (Lưu yk 1,k 1.)

Bước 12 Trong khi (j ≥ 2) thực hiện

yj yj 1
set yj 1 = yj + ;
Qk 1,j 1 1 (Ngoại

suy để tính yj 1 ≡ yk,k j+2.) h2 j 1yj h2 Lưu ý: yj 1 =

h2 h2 j 1 k yj 1
.
k

j = j 1.

Bước 13 Nếu |y1 v| ≤ TOL thì đặt NFLAG = 1. (y1 được


chấp nhận là w. mới )

Bước 14 Đặt k = k + 1.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.8 Phương pháp ngoại suy 325

Bước 15 Đặt k = k 1.

Bước 16 Nếu NFLAG = 0 thì thực hiện Bước 17 và 18 (Kết quả bị từ chối.) còn lại

thì thực hiện Bước 19 và 20. (Kết quả được chấp nhận.)

Bước 17 Đặt h = h/2. (Giá trị mới cho w bị từ chối, giảm h.)

Bước 18 Nếu h < hmin thì


OUTPUT (' vượt quá hmin'); Đặt CỜ
= 0.

(Nhánh thật đã hoàn thành, bước tiếp theo quay lại Bước 4.)

Bước 19 Đặt WO = y1; (Giá trị mới cho w được chấp nhận.)
TO = TO + h;

ĐẦU RA (ĐẾN, WO, h).

Bước 20 Nếu TO ≥ b thì đặt FLAG = 0 (Thủ tục


đã hoàn tất thành công.) ngược lại nếu
TO + h > b thì đặt h = b TO (Kết thúc

tại t = b.) ngược lại


nếu (k ≤ 3 và h < 0,5( hmax) thì đặt h = 2h.

(Tăng kích thước bước nếu có thể.)

Bước 21 DỪNG.

Ví dụ 1 Sử dụng phương pháp ngoại suy với kích thước bước tối đa hmax = 0,2, kích thước bước tối thiểu hmin = 0,01

và dung sai TOL = 10 9 để tính gần đúng lời giải của bài toán giá trị ban đầu

2
y = y t + 1, 0 ≤ t 2, y(0) = 0,5.

Lời giải Trong bước đầu tiên của phương pháp ngoại suy, chúng ta đặt w0 = 0,5, t0 = 0 và h = 0,2.

Sau đó chúng tôi tính toán

h0 = h/2 = 0,1;

w1 = w0 + h0f (t0, w0) = 0,5 + 0,1(1,5) = 0,65;

w2 = w0 + 2h0f (t0 + h0, w1) = 0,5 + 0,2(1,64) = 0,828;

và giá trị gần đúng đầu tiên của y(0,2) là

1 1
y11 = (w2 + w1 + h0f (t0 + 2h0, w2)) = (0,828 + 0,65 + 0,1f (0,2, 0,828)) = 0,8284.
2 2

Đối với phép tính gần đúng thứ hai với y(0,2), chúng tôi tính toán

h1 = h/4 = 0,05;

w1 = w0 + h1f (t0, w0) = 0,5 + 0,05(1,5) = 0,575;

w2 = w0 + 2h1f (t0 + h1, w1) = 0,5 + 0,1(1,5725) = 0,65725;

w3 = w1 + 2h1f (t0 + 2h1, w2) = 0,575 + 0,1(1,64725) = 0,739725;

w4 = w2 + 2h1f (t0 + 3h1, w3) = 0,65725 + 0,1(1,717225) = 0,8289725.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

326 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Khi đó xấp xỉ hiệu chỉnh điểm cuối là

y21 = 1 (w4 + w3 + h1f (t0 + 4h1, w4))


2

=
1 (0,8289725 + 0,739725 + 0,05f (0,2, 0,8289725)) = 0,8290730625. 2

Điều này đưa ra phép ngoại suy gần đúng đầu tiên

(1/4)2
y22 = y21 + (y21 y11) = 0,8292974167.
(1/2)2 (1/4)2

Xấp xỉ thứ ba được tìm thấy bằng cách tính toán

h2 = h/6 = 0,03;

w1 = w0 + h2f (t0, w0) = 0,55;

w2 = w0 + 2h2f (t0 + h2, w1) = 0,6032592593;

w3 = w1 + 2h2f (t0 + 2h2, w2) = 0,6565876543;

w4 = w2 + 2h2f (t0 + 3h2, w3) = 0,7130317696;

w5 = w3 + 2h2f (t0 + 4h2, w4) = 0,7696045871;

w6 = w4 + 2h2f (t0 + 5h2, w4) = 0,8291535569;

sau đó xấp xỉ hiệu chỉnh điểm cuối

= 2 1 (w6 + w5 + h2f (t0 + 6h2, w6) = 0,8291982979. y31

Bây giờ chúng ta có thể tìm thấy hai phép tính gần đúng ngoại suy,

(1/6)2
y32 = y31 + (y31 y21) = 0,8292984862,
(1/4)2 (1/6)2

(1/6)2
y33 = y32 + (y32 y22) = 0,8292986199.
(1/2)2 (1/6)2

Bởi vì

| y33 y22| = 1,2 × 10 6

không thỏa mãn dung sai thì cần tính thêm ít nhất một hàng nữa của bảng ngoại suy. Chúng ta sử
dụng h3 = h/8 = 0,025 và tính w1 theo phương pháp Euler, w2, ··· bằng phương pháp moidpoint , w8

và áp dụng hiệu chỉnh điểm cuối. Điều này sẽ cung cấp cho chúng ta giá trị gần đúng y41 mới cho
phép chúng ta tính toán hàng ngoại suy mới

y41 = 0,8292421745 y42 = 0,8292985873 y43 = 0,8292986210 y44 = 0,8292986211

So sánh | y44 y33| = 1,2×10 9 chúng tôi thấy rằng chưa đạt được dung sai chính xác.
Để có được các mục ở hàng tiếp theo, chúng ta sử dụng h4 = h/12 = 0,06. Đầu tiên tính w1 theo
phương pháp Euler, sau đó tính w2 đến w12 bằng phương pháp Midpoint. Cuối cùng sử dụng hiệu chỉnh
điểm cuối để thu được y51. Các mục còn lại ở hàng thứ năm thu được bằng phép ngoại suy và được
hiển thị trong Bảng 5.17. Vì y55 = 0,8292986213 nằm trong khoảng 10 9 của y44 nên nó được chấp
nhận là giá trị gần đúng của y(0,2). Quy trình bắt đầu lại để xấp xỉ y(0,4). Tập hợp đầy đủ các
phép tính gần đúng chính xác cho các địa điểm được liệt kê được đưa ra trong Bảng 5.18.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

327
5.8 Phương pháp ngoại suy

Bảng 5.17

y1,1 = 0,8284000000
y2,1 = 0,8290730625 y2,2 = 0,8292974167
y3,1 = 0,8291982979 y3,2 = 0,8292984862 y3,3 = 0,8292986199
y4,1 = 0,8292421745 y4,2 = 0,8292985873 y4,3 = 0,8292986210 y4,4 = 0,8292986211
y5,1 = 0,8292735291 y5,2 = 0,8292986128 y5,3 = 0,8292986213 y5,4 = 0,8292986213 y5,5 = 0,8292986213

Bảng 5.18
tôi yi = y(ti) Wi CHÀO
k

0,200 0.8292986210 0.8292986213 0,200 5


0,400 1.2140876512 1.2140876510 0,200 4
0,600 1.6489405998 1.6489406000 0,200 4
0,700 1.8831236462 1.8831236460 0,100 5
0,800 2.1272295358 2.1272295360 0,100 4
0,900 2.3801984444 2.3801984450 0,100 7
0,925 2.4446908698 2.4446908710 0,025 số 8

0,950 2.5096451704 2.5096451700 0,025 3


1,000 2.6408590858 2.6408590860 0,050 3
1,100 2.9079169880 2.9079169880 0,100 7
1,200 3.1799415386 3.1799415380 0,100 6
1,300 3.4553516662 3.4553516610 0,100 số 8

1,400 3.7324000166 3.7324000100 0,100 5


1.450 3.8709427424 3.8709427340 0,050 7
1.475 3.9401071136 3.9401071050 0,025 3
1.525 4.0780532154 4.0780532060 0,050 4
1.575 4.2152541820 4.2152541820 0,050 3
1.675 4.4862274254 4.4862274160 0,100 4
1.775 4.7504844318 4.7504844210 0,100 4
1.825 4.8792274904 4.8792274790 0,050 3
1.875 5.0052154398 5.0052154290 0,050 3
1.925 5.1280506670 5.1280506570 0,050 4
1.975 5.2473151731 5.2473151660 0,050 số 8

2.000 5.3054719506 5.3054719440 0,025 3

Bằng chứng cho thấy phương pháp trình bày trong Thuật toán 5.6 hội tụ bao gồm các kết quả từ

lý thuyết tổng hợp; nó có thể được tìm thấy trong bài báo gốc của Gragg [Gr]. Một số khác

các thủ tục ngoại suy có sẵn, một số trong đó sử dụng các kỹ thuật có kích thước bước thay đổi.

Để biết các thủ tục bổ sung dựa trên quá trình ngoại suy, hãy xem Bulirsch và Stoer

các bài báo [BS1], [BS2], [BS3] hoặc văn bản của Stetter [Stet]. Các phương pháp được Bulirsch sử dụng và

Stoer liên quan đến phép nội suy với các hàm hữu tỉ thay vì phép nội suy đa thức

được sử dụng trong quy trình Gragg.

BÀI TẬP 5.8

1. Sử dụng Thuật toán ngoại suy với dung sai TOL = 10 4, hmax = 0,25 và hmin = 0,05 để
xấp xỉ nghiệm của các bài toán có giá trị ban đầu sau đây. So sánh kết quả với thực tế
các giá trị.

1 1 1
Một. y = te3t 2y, 0 ≤ t 1, y(0) = 0; nghiệm thực tế y(t) = b. y = 1 + te3t e3t + e 2t .
5 25 25

(t y)2, 2 ≤ t 3, y(2) = 1; nghiệm thực tế y(t) = t + 1/(1 t).

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

328 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

c. y = 1 + y/t, 1 ≤ t 2, y(1) = 2; nghiệm thực tế y(t) = t ln t + 2t.

d. y = cos 2t + sin 3t, 0 ≤ t 1, y(0) = 1; nghiệm thực y(t) = 2. Sử dụng


1
tội lỗi 2t
1
cos 3t + 4 .
2 3 3

Thuật toán ngoại suy với TOL = 10 4 để tính gần đúng các nghiệm sau
vấn đề về giá trị ban đầu:
2
Một. y = (y/t) + y/t, 1 ≤ t ≤ 1,2, y(1) = 1, với hmax = 0,05 và hmin = 0,02.

b. y = sin t + e t , 0 ≤ t 1, y(0) = 0, với hmax = 0,25 và hmin = 0,02.

c. y = (y2 + y)/t, 1 ≤ t 3, y(1) = 2, với hmax = 0,5 và hmin = 0,02.

d. y = ty + 4t/y, 0 ≤ t ≤ 1, y(0) = 1, với hmax = 0,25 và hmin = 0,02.

3. Sử dụng Thuật toán ngoại suy với dung sai TOL = 10 6, hmax = 0,5 và hmin = 0,05 để
xấp xỉ nghiệm của các bài toán có giá trị ban đầu sau đây. So sánh kết quả với thực tế
các giá trị.

Một. y = y/t (y/t)2, 1 ≤ t 4, y(1) = 1; nghiệm thực y(t) = t/(1 + ln t).


2
b. y = 1 + y/t + (y/t) , 1 ≤ t 3, y(1) = 0; nghiệm thực tế y(t) = t tan(ln t).

c. y = (y + 1)(y + 3), 0 ≤ t 3, y(0) = 2; nghiệm thực y(t) = 3 + 2(1 + e 2t ) 1.


1 2 2
d. y = (t + 2t 3)y3 ty, 0 ≤ t 2, y(0) = 3
; nghiệm thực tế y(t) = (3 + 2t + 6et ) 1/2.

4. Gọi P(t) là số lượng cá thể trong quần thể tại thời điểm t, tính bằng năm. Nếu mức sinh trung bình
tỷ lệ b không đổi và tỷ lệ tử vong trung bình d tỷ lệ thuận với quy mô dân số (do
quá đông đúc), thì tốc độ tăng dân số được tính bằng phương trình logistic

dP(t) 2
= bP(t) k[P(t)] ,
dt

trong đó d = kP(t). Giả sử P(0) = 50, 976, b = 2,9 × 10 2 và k = 1,4 × 10 7. Tìm dân số
sau 5 năm.

5.9 Phương trình bậc cao và hệ phương trình vi phân


Phần này giới thiệu về giải pháp số của giá trị ban đầu bậc cao hơn

các vấn đề. Các kỹ thuật được thảo luận chỉ giới hạn ở những kỹ thuật biến đổi một phương trình bậc

cao hơn thành một hệ phương trình vi phân bậc nhất. Trước khi thảo luận về sự chuyển đổi

thủ tục, một số nhận xét là cần thiết liên quan đến các hệ thống liên quan đến vi phân bậc một

phương trình.

Một hệ bậc m của các bài toán giá trị ban đầu bậc nhất có dạng

du1
= f1(t, u1, u2, ... , ừm),
dt

du2
= f2(t, u1, u2, ... , ừm),
dt

.
.
.

ngu ngốc

= fm(t, u1, u2, ... , um), (5,45)


dt

với a t b với điều kiện ban đầu

u1(a) = α1, u2(a) = α2, ... , um(a) = αm. (5.46)

Mục tiêu là tìm m hàm u1(t), u2(t), ... , um(t) thỏa mãn từng vi phân

phương trình cùng với tất cả các điều kiện ban đầu.

Để thảo luận về sự tồn tại và tính duy nhất nghiệm của hệ phương trình, chúng ta cần

mở rộng định nghĩa của điều kiện Lipschitz cho các hàm nhiều biến.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.9 Phương trình bậc cao và hệ phương trình vi phân 329

Định nghĩa 5.16 Hàm f (t, y1, ... , ym), xác định trên tập hợp

D = {(t, u1, ... , ừm) | a ∞ t ∞ và ∞ < ui < ∞, với mỗi i = 1, 2, ... , m }

được gọi là thỏa mãn điều kiện Lipschitz trên D với các biến u1, u2, ... , um nếu tồn tại hằng số L > 0 với

tôi

|f (t, u1, ... , um) f (t,z1, ... ,zm)| ≤ L |uj zj|, (5.47)

j=1

với mọi (t, u1, ... , um) và (t,z1, ... ,zm) trong D.

Bằng cách sử dụng Định lý Giá trị Trung bình, có thể chứng minh rằng nếu f và đạo hàm riêng thứ nhất của nó
đạo hàm liên tục trên D và nếu

f (t, u1, ... , um)


≤ L,
ui

với mỗi i = 1, 2, ... , m và tất cả (t, u1, ... , um) thuộc D thì f thỏa mãn điều kiện Lipschitz trên D

với hằng số Lipschitz L (xem [BiR], trang 141 ). Sau đây là định lý về sự tồn tại và duy nhất cơ bản.

Chứng minh của nó có thể được tìm thấy trong [BiR], trang 152–154.

Định lý 5.17 Giả sử rằng

D = {(t, u1, u2, ... , ừm) | a ≤ t ≤ b và ∞ < ui < ∞, với mỗi i = 1, 2, ... , m},

và cho fi(t, u1, ... , um), với mỗi i = 1, 2, ... , m, liên tục và thỏa mãn điều kiện Lipschitz trên D. Hệ

phương trình vi phân bậc nhất (5.45) , tuân theo các điều kiện ban đầu (5.46), có nghiệm duy nhất

u1(t), ... , um(t), với a t ∙ b.

Các phương pháp giải hệ phương trình vi phân bậc một là tổng quát hóa của các phương pháp giải một

phương trình bậc nhất được trình bày ở phần trước của chương này. Ví dụ, phương pháp Runge-Kutta cổ điển

bậc bốn được đưa ra bởi

w0 = α,

k1 = hf (ti, wi),

h 1 k2 =
hf ti + k1 , , wi + 2 2

h 1 k3 =
hf ti + k2 , , wi + 2 2

k4 = hf (ti+1, wi + k3),

= wi + 6 1 (k1 + 2k2 + 2k3 + k4), với mỗi i = 0, 1, ... , N 1, wi+1

được sử dụng để giải bài toán giá trị ban đầu bậc nhất

y = f (t, y), a ≤ t ≤ b, y(a) = α,

được khái quát hóa như sau.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

330 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Chọn một số nguyên N > 0 và đặt h = (b a)/N. Phân chia khoảng [a, b] thành
N khoảng con với các điểm lưới

tj = a + jh, với mỗi j = 0, 1, ... , N.

Sử dụng ký hiệu wij, với mỗi j = 0, 1, ... , N và i = 1, 2, ... , m, để biểu thị một
giá trị gần đúng với ui(tj). Tức là, wij xấp xỉ nghiệm thứ i ui(t) của (5.45) tại lưới thứ j
điểm tj. Đối với các điều kiện ban đầu, đặt (xem Hình 5.6)

w1,0 = α1, w2,0 = α2, ... , wm,0 = αm. (5,48)

Hình 5.6

y y y

w11 w23 u2(t) wm3


ừm(a) αm
w12 w22 wm2
w13 ừm(t)

u1(t) w21 wm1


u1(a) α1
u2(a) α2

một t0 t1 t2 t3 t một t0 t1 t2 t3 t một t0 t1 t2 t3 t

Giả sử các giá trị w1, j, w2, j, ... , wm, j đã được tính toán. Chúng tôi thu được w1, j+1,

w2, j+1, ... , wm, j+1 bằng phép tính đầu tiên

k1,i = hfi(tj, w1, j, w2, j, ... , wm, j), với mỗi i = 1, 2, ... , m; (5.49)

h 1 1 1
k2,i = hfi tj + w1, j + k1,1, w2, j + k1,2, ... , wm, j + k1,m , , (5,50)
2 2 2 2

với mỗi i = 1, 2, ... , m;

h 1 1 1
k3,i = hfi tj + , w1, j + k2,1, w2, j + k2,2, ... , wm, j + k2,m , (5,51)
2 2 2 2

với mỗi i = 1, 2, ... , m;

k4,i = hfi(tj + h, w1, j + k3,1, w2, j + k3,2, ... , wm, j + k3,m), (5,52)

với mỗi i = 1, 2, ... , m; và sau đó

1
wi, j+1 = wi, j + (k1,i + 2k2,i + 2k3,i + k4,i), (5,53)
6

với mỗi i = 1, 2, ... , m. Lưu ý rằng tất cả các giá trị k1,1, k1,2, ... , k1,m phải được tính trước

bất kỳ số hạng nào có dạng k2,i đều có thể được xác định. Nói chung, mỗi kl,1, kl,2, ... , kl,m phải là

được tính toán trước bất kỳ biểu thức kl+1,i nào. Thuật toán 5.7 triển khai Runge-Kutta
phương pháp bậc bốn cho hệ bài toán giá trị ban đầu.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.9 Phương trình bậc cao và hệ phương trình vi phân 331

Thuật toán Phương pháp Runge-Kutta cho hệ phương trình vi phân


5,7
Để tính gần đúng lời giải của hệ bậc m của các bài toán giá trị ban đầu bậc một

bạn
= fj(t, u1, u2, ... , um), a ≤ t ≤ b, với uj(a) = αj,
j

với j = 1, 2, ... ,m tại (N + 1) các số cách đều nhau trong khoảng [a, b]:

INPUT điểm cuối a, b; số phương trình m; số nguyên N; điều kiện ban đầu α1, ... , αm.

Xấp xỉ OUTPUT wj với uj(t) tại giá trị (N + 1) của t.

Bước 1 Đặt h = (b a)/N;


t = một.

Bước 2 Với j = 1, 2, ... , m đặt wj = αj.

Bước 3 ĐẦU RA (t, w1, w2, ... , wm).

Bước 4 Với i = 1, 2, ... , N thực hiện bước 5–11.

Bước 5 Với tập j = 1, 2, ... , m

k1,j = hfj(t, w1, w2, ... , wm).

Bước 6 Với j = 1, 2, ... , tôi đặt

h 1 1 1
k2, j = hfjt + 2 , w1 + k1,2, ... , wm + k1,m .
2 k1,1, w2 + 2 2

Bước 7 Với tập j = 1, 2, ... , m

h 1 1 1
k3, j = hfjt + 2 , w1 k2,2, ... , wm + k2,m .
2 k2,1, w2 + 2 2

+ Bước 8 Với j = 1, 2, ... , tôi đặt

k4,j = hfj(t + h, w1 + k3,1, w2 + k3,2, ... , wm + k3,m).

Bước 9 Với j = 1, 2, ... , wj tôi đặt

= wj + (k1,j + 2k2,j + 2k3,j + k4,j)/6.

Bước 10 Đặt t = a + ih.

Bước 11 ĐẦU RA (t, w1, w2, ... , wm).

Bước 12 DỪNG.

Minh họa Định luật Kirchhoff phát biểu rằng tổng của tất cả các thay đổi điện áp tức thời xung quanh một điểm đóng

mạch bằng không. Định luật này ngụ ý rằng dòng điện I(t) trong mạch kín chứa điện trở

R ohm , điện dung C farad, độ tự cảm L henries và nguồn điện áp

E(t) volt thỏa mãn phương trình

1
LI (t) + RI(t) + Tôi(t) dt = E(t).
C

Dòng điện I1(t) và I2(t) lần lượt ở vòng trái và vòng phải của mạch như hình vẽ.

Hình 5.7 là nghiệm của hệ phương trình

2I1(t) + 6[I1(t) I2(t)] + 2I 1(t) = 12,

1
I2(t) dt + 4I2(t) + 6[I2(t) I1(t)] = 0.
0,5

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

332 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Hình 5.7
2 0,5 F

Tôi 1(t) I2 (t)

12 V 6 4

2 giờ

Nếu công tắc trong mạch đóng tại thời điểm t = 0 thì ta có điều kiện ban đầu I1(0) = 0 và

I2(0) = 0. Giải I 1(t) trong phương trình thứ nhất, đạo hàm phương trình thứ hai, và thay
thế I 1(t) để có được

tôi
1 = f1(t, I1, I2) = 4I1 + 3I2 + 6, I1(0) = 0,

TÔI
2 = f2(t, I1, I2) = 0,6I1 0,2I2 = 2,4I1 + 1,6I2 + 3,6, I2(0) = 0.

Giải pháp chính xác cho hệ thống này là

I1(t) = 3,375e 2t + 1,875e 0,4t + 1,5,

I2(t) = 2,25e 2t + 2,25e 0,4t .

Chúng ta sẽ áp dụng phương pháp Runge-Kutta bậc 4 cho hệ thống này với h = 0,1. Vì
w1,0 = I1(0) = 0 và w2,0 = I2(0) = 0,

k1,1 = hf1(t0, w1,0, w2,0) = 0,1 f1(0, 0, 0) = 0,1 ( 4(0) + 3(0) + 6) = 0,6,

k1,2 = hf2(t0, w1,0, w2,0) = 0,1 f2(0, 0, 0) = 0,1 ( 2,4(0) + 1,6(0) + 3,6) = 0,36,

1 1 1
k2,1 = hf1 t0 + h, w1,0 + k1,1, w2,0 + k1,2 = 0,1 f1(0,05, 0,3, 0,18)
2 2 2

= 0,1 ( 4(0,3) + 3(0,18) + 6) = 0,534,

1 1 1 k2,2 = hf2 t0 + h,
w1,0 + k1,1, w2,0 + k1,2 = 0,1 f2(0,05, 0,3, 0,18) 2 2 2

= 0,1 ( 2,4(0,3) + 1,6(0,18) + 3,6) = 0,3168.

Tạo các mục còn lại theo cách tương tự sẽ tạo ra

k3,1 = (0,1)f1(0,05, 0,267, 0,1584) = 0,54072,

k3,2 = (0,1)f2(0,05, 0,267, 0,1584) = 0,321264,

k4,1 = (0,1)f1(0,1, 0,54072, 0,321264) = 0,4800912,

k4,2 = (0,1)f2(0,1, 0,54072, 0,321264) = 0,28162944.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.9 Phương trình bậc cao và hệ phương trình vi phân 333

Kết quả là,

1
I1(0,1) ≈ (k1,1
w1,1 +
= 2k2,1
w1,0 ++ 2k3,1 + k4,1)
6

1
= 0 + (0,6 + 2(0,534) + 2(0,54072) + 0,4800912) = 0,5382552
6

1
I2(0,1) ≈ (k1,2
w2,1 +
= 2k2,2
w2,0 ++ 2k3,2 + k4,2) = 0,3196263.
6

Các mục còn lại trong Bảng 5.19 được tạo theo cách tương tự.

Bảng 5.19
tj w1,j w2,j |I1(tj) w1,j| |I2(tj) w2,j|

0,0 0 0 0 0

0,1 0,5382550 0.3196263 0,8285 × 10 5 0,5803 × 10 5


0,2 0.9684983 0.5687817 0,1514 × 10 4 0,9596 × 10 5
0,3 1.310717 0.7607328 0,1907 × 10 4 0,1216 × 10 4
0,4 1.581263 0.9063208 0,2098 × 10 4 0,1311 × 10 4
0,5 1.793505 1.014402 0,2193 × 10 4 0,1240 × 10 4

Hãy nhớ rằng Maple bảo lưu Gói NumericalAnalysis của Maple hiện không gần đúng với giải pháp cho
chữ D đại diện hệ các bài toán giá trị ban đầu, nhưng hệ phương trình vi phân bậc một có thể bằng
sự khác biệt hóa.
giải quyết bằng cách sử dụng dsolve. Hệ thống trong hình minh họa được xác định bằng

sys 2 := D(u1)(t) = 4u1(t) + 3u2(t) + 6, D(u2)(t) = 2.4u1(t) + 1.6u2(t) + 3.6

và điều kiện ban đầu với

init 2 := u1(0) = 0, u2(0) = 0

Hệ thống được giải quyết bằng lệnh

sol 2 := dsolve({sys 2, init 2}, {u1(t), u2(t)})

và Maple đáp lại bằng

15 5 3 9 5
27 e 2t + 9 e 2t + e t
u1(t) = e t 2 + , u2(t) = 2
số 8 số 8 2 4 4

Để tách biệt các chức năng riêng lẻ chúng tôi sử dụng

r1 := rhs(sol 2[1]); r2 := rhs(sol 2[2])

sản xuất

15 5 3
27 e 2t + e +
t 2

số 8 số 8 2

9 5
9 e 2t + e t
2
4 4

và để xác định giá trị của hàm số tại t = 0,5 chúng ta sử dụng

evalf (phụ(t = 0,5,r1)); evalf (phụ (t = 0,5,r2))

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

334 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

đưa ra, phù hợp với Bảng 5.19,

1.793527048

1.014415451

Lệnh dsolve sẽ thất bại nếu không tìm thấy giải pháp rõ ràng. Trong trường hợp đó, chúng ta có
thể sử dụng tùy chọn số trong dsolve, áp dụng kỹ thuật Runge-Kutta-Fehlberg.
Tất nhiên, kỹ thuật này cũng có thể được sử dụng khi giải pháp chính xác có thể được xác định bằng
giải pháp dsolve. Ví dụ: với hệ thống được xác định trước đó,

g := dsolve({sys 2, init 2},{u1(t), u2(t)}, số)

trả lại

proc(x_ rkf 45)... kết thúc quá trình

Để tính gần đúng các nghiệm tại t = 0,5, hãy nhập

g(0,5)

đưa ra các giá trị gần đúng ở dạng

[t = 0,5, u2(t) = 1,014415563, u1(t) = 1,793527215]

Phương trình vi phân bậc cao

Nhiều bài toán vật lý quan trọng—ví dụ, mạch điện và hệ dao động—liên quan đến các bài toán có giá
trị ban đầu mà phương trình của chúng có bậc cao hơn một. Kỹ thuật mới không cần thiết để giải
quyết những vấn đề này. Bằng cách đặt tên lại cho các biến, chúng ta có thể biến phương trình vi
phân bậc cao thành hệ phương trình vi phân bậc nhất và sau đó áp dụng một trong các phương pháp mà
chúng ta đã thảo luận.
Bài toán giá trị ban đầu bậc mth tổng quát

y(m) (t) = f (t, y, y , ... , y(m 1) ), a ≤ t ≤ b,

với điều kiện ban đầu y(a) = α1, y (a) = α2, ... , y(m 1) (a) = αm có thể chuyển đổi thành hệ
phương trình dạng (5.45) và (5.46) . và um(t) = y(m 1)
y(t), u2(t) = y (t), ... , (t). Điều này tạo ra hệ thống bậc nhất Let u1(t) =

du1 du2 dum 1 dy(m 2)


=dy dt = u2, = = u3, ··· , = = ừm,
dt dt nhuộm dt dt dt

ngu ngốc
=dy(m 1)
= y(m) = f (t, y, y , ... , y(m 1) ) = f (t, u1, u2, ... , um),
dt dt

với điều kiện ban đầu

u1(a) = y(a) = α1, u2(a) = y (a) = α2, ... , um(a) = y(m 1) (a) = αm.

Ví dụ 1 Biến đổi bài toán giá trị ban đầu bậc hai

y 2y + 2y = e2t sin t, với 0 ≤ t ≤ 1, với y(0) = 0,4, y (0) = 0,6

vào hệ các bài toán giá trị ban đầu bậc nhất, và sử dụng phương pháp Runge-Kutta với h = 0,1 để
tính gần đúng lời giải.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.9 Phương trình bậc cao và hệ phương trình vi phân 335

Giải Giả sử u1(t) = y(t) và u2(t) = y (t). Điều này biến đổi phương trình bậc hai thành
hệ thống

u 1(t) = u2(t),

u 2(t) = e2t sin t 2u1(t) + 2u2(t),

với điều kiện ban đầu u1(0) = 0,4, u2(0) = 0,6.

Các điều kiện ban đầu cho w1,0 = 0,4 và w2,0 = 0,6. Phương trình Runge-Kutta. (5.49)
đến (5.52) ở trang 330 với j = 0 cho

k1,1 = hf1(t0, w1,0, w2,0) = hw2,0 = 0,06,

k1,2 = hf2(t0, w1,0, w2,0) = h e2t0 sin t0 2w1,0 + 2w2,0 = 0,04,

1 1 1
h k2,1 = hf1 t0 + , w1,0 + 2 2 k1,1, w2,0 k1,2 = h w2,0 + 2 k1,2 = 0,062,
+ 2

h 1 1
k2,2 = hf2 t0 + , w1,0 k1,1, w2,0 + k1,2
2 + 2 2

1 1 k1,1 + 2 w2,0 + k1,2


= h e2(t0+0,05) sin(t0 + 0,05) 2 w1,0 +
2 2

= 0,03247644757,

1 k3,1 = h w2,0 + k2,2 = 0,06162832238, 2

1 1 k2,1 + 2 w2,0 + k2,2


k3,2 = h e2(t0+0,05) sin(t0 + 0,05) 2 w1,0 + 2 2

= 0,03152409237,

k4,1 = h w2,0 + k3,2 = 0,06315240924,

k4,2 = h e2(t0+0,1) sin(t0 + 0,1) 2(w1,0 + k3,1) + 2(w2,0 + k3,2) = 0,02178637298.

Vì thế

= w1,0 + 6 1 (k1,1 + 2k2,1 + 2k3,1 + k4,1) = 0,4617333423 w1,1

= w2,0 + 6 1 (k1,2 + 2k2,2 + 2k3,2 + k4,2) = 0,6316312421. w2,1

Giá trị w1,1 xấp xỉ u1(0,1) = y(0,1) = 0,2e2(0,1) (sin 0,1 2 cos 0,1), và w2,1 xấp xỉ u2(0,1)

= y (0,1) = 0,2e2(0,1) (4 sin 0,1 3 cos 0,1).

Tập hợp các giá trị w1,j và w2,j, với j = 0, 1, ... , 10, được trình bày trong Bảng 5.20 và

được so sánh với các giá trị thực tế của u1(t) = 0,2e2t (sin t 2 chi phí) và u2(t) = u 1(t) =
0,2e2t (4 sin t 3 chi phí).

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

336 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Bảng 5.20

tj y(tj) = u1(tj) w1,j y (tj) = u2(tj) w2,j |y(tj) w1,j| |y (tj) w2,j|

0,0 0.40000000 0.40000000 0,6000000 0,60000000 0

0,1 0.46173297 0.46173334 0,6316304 0,63163124 0 3,7 × 7,75 × 10 7

0,2 0.52555905 0.52555988 0,6401478 0,64014895 10 7 8,3 × 1,01 × 10 6

0,3 0.58860005 0.58860144 0,6136630 0,61366381 10 7 1,39 × 8,34 × 10 7

0,4 0.64661028 0.64661231 0,5365821 0,53658203 10 6 2,03 × 1,79 × 10 7

0,5 0.69356395 0.69356666 0,3887395 0,38873810 10 6 2,71 × 5,96 × 10 7

0,6 0.72114849 0.72115190 0,1443834 0,14438087 10 6 3,41 × 7,75 × 10 7

0,7 0.71814890 0.71815295 0,2289917 0,22899702 10 6 4,05 × 2,03 × 10 6

0,8 0.66970677 0.66971133 0,7719815 0,77199180 10 6 4,56 × 5,30 × 10 6

0,9 0,55643814 0,55644290 1.534764 1.5347815 10 6 4,76 × 9,54 × 10 6

1.0 0,35339436 0,35339886 2.578741 2.5787663 10 6 4,50 × 10 6 1,34 × 10 5

Trong Maple đạo hàm bậc n y(n) (t) Chúng ta cũng có thể sử dụng dsolve từ Maple cho các phương trình bậc cao hơn. Để xác định sự khác biệt
được chỉ định bởi (D@@n)(y)(t).
phương trình trong ví dụ 1, sử dụng

def 2 := (D@@2)(y)(t) 2D(y)(t) + 2y(t) = e2t sin(t)

và để xác định các điều kiện ban đầu sử dụng

init 2 := y(0) = 0,4, D(y)(0) = 0,6

Giải pháp thu được bằng lệnh

sol 2 := dsolve({def 2, init 2}, y(t))

để có được

1
y(t) = e2t (sin(t) 2 cos(t))
5

Chúng tôi cô lập giải pháp ở dạng hàm bằng cách sử dụng

g := rhs(sol 2)

Để có được y(1.0) = g(1.0), hãy nhập

evalf (phụ (t = 1.0, g))

cho kết quả 0,3533943574.

Runge-Kutta-Fehlberg cũng có sẵn cho các phương trình bậc cao hơn thông qua lệnh dsolve với tùy chọn

số. Nó được sử dụng theo cách tương tự như được minh họa cho các hệ thống

của các phương trình.

Các phương pháp một bước khác có thể được mở rộng cho các hệ thống theo cách tương tự. Khi có lỗi

các phương pháp điều khiển như phương pháp Runge-Kutta-Fehlberg được mở rộng, mỗi thành phần của

nghiệm số (w1j, w2j, ... , wmj) phải được kiểm tra độ chính xác. Nếu bất kỳ

các thành phần không đủ chính xác, toàn bộ lời giải số (w1j, w2j, ... , wmj)
phải được tính toán lại.

Các phương pháp nhiều bước và kỹ thuật dự đoán-sửa lỗi cũng có thể được mở rộng để

hệ thống. Một lần nữa, nếu sử dụng kiểm soát lỗi thì mỗi thành phần phải chính xác. Phần mở rộng

kỹ thuật ngoại suy cho hệ thống cũng có thể được thực hiện, nhưng ký hiệu trở nên khá

có liên quan. Nếu chủ đề này được quan tâm, xem [HNW1].

Các định lý hội tụ và ước lượng sai số cho các hệ thống cũng tương tự như các định lý được xem xét

trong Mục 5.10 đối với các phương trình đơn, ngoại trừ các giới hạn được cho dưới dạng vectơ

định mức, một chủ đề được xem xét trong Chương 7. (Một tài liệu tham khảo tốt cho các định lý này là [Ge1],

trang 45–72.)

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.9 Phương trình bậc cao và hệ phương trình vi phân 337

BÀI TẬP 5.9

1. Sử dụng phương pháp Runge-Kutta cho các hệ để tính gần đúng nghiệm của các hệ phương trình sau:

phương trình vi phân bậc nhất và so sánh kết quả với lời giải thực tế.
2
Một. bạn = 3u1 + 2u2 (2t + 1)e2t , u1(0) = 1;
1
2
2 = 4u1 + u2 + (t + 2t 4)e2t , u2(0) = 1; 0 ≤ t ≤ 1; h = 0,2;
bạn

1 1 1 2
nghiệm thực tế u1(t) = e5t e5t + e t + t 2e2t .
3 3e t + e2t và u2(t) = 3 3
b. bạn = 4u1 2u2 + chi phí + 4 sint , u1(0) = 0;
1

2 = 3u1 + u2 3 sint , u2(0) = 1; 0 ≤ t 2; h = 0,1;


bạn

nghiệm thực tế u1(t) = 2e t 2e 2t + sin t và u2(t) = 3e t + 2e 2t .

c. bạn = u2, u1(0) = 1;


1

2 = u1 2et + 1, u2(0) = 0;
bạn

3 = u1 et + 1, u3(0) = 1; 0 ≤ t 2; h = 0,5;
bạn

nghiệm thực tế u1(t) = cost + sin t et + 1, u2(t) = sin t + cost et , và u3(t) =

tội t + chi phí.

d. bạn = u2 u3 + t, u1(0) = 1;
1

2 = 3t 2, u2(0) = 1;
bạn

3 = u2 + e t , u3(0) = 1; 0 ≤ t ≤ 1; h = 0,1;
bạn

5 nghiệm thực tế u1(t) = 0,05t 4 + 0,25t + t + 2 e t , 3u2 (t) = t + 1, và u3(t) =


4 0,25t + t e t .

2. Sử dụng phương pháp Runge-Kutta cho các hệ để tính gần đúng nghiệm của các hệ phương trình sau:

phương trình vi phân bậc nhất và so sánh kết quả với lời giải thực tế.

Một. bạn = u1 u2 + 2, u1(0) = 1;


1

2 = u1 + u2 + 4t, u2(0) = 0; 0 ≤ t ≤ 1; h = 0,1;


bạn

1 1 1
1 2 2
nghiệm thực tế u1(t) = e2t + t + 2t và u2(t) = 2 e2t + t .
2 2 2
1 2 1 2
b. bạn = u1 u2 9 2 t + , u1(0) = 3;
1
3 9 3

2 = u2 + 3t 4, u2(0) = 5; 0 ≤ t 2; h = 0,2;
bạn

2
nghiệm thực tế u1(t) = 3et + t và u2(t) = 4et 3t + 1.

c. bạn = u1 + 2u2 2u3 + e t , u1(0) = 3;


1

2 = u2 + u3 2e t , u2(0) = 1;
bạn

3 = u1 + 2u2 + e t , u3(0) = 1; 0 ≤ t ≤ 1; h = 0,1;


bạn

3 3 21 2
nghiệm thực tế u1(t) = 3e t 3 sin t + 6 chi phí, u2(t) = e t + tội lỗi t chi phí e2t ,
2 10 10 5
12 9 2
và u3(t) = e t + - chi phí + tội lỗi t e2t .
5 5 5
d. bạn = 3u1 + 2u2 u3 1 3t 2 sin t, u1(0) = 5;
1

2 = u1 2u2 + 3u3 + 6 t + 2 sin t + chi phí, u2(0) = 9;


bạn

3 = 2u1 + 4u3 + 8 2t, u3(0) = 5; 0 ≤ t 2; h = 0,2;


bạn

nghiệm thực tế u1(t) = 2e3t + 3e 2t + 1, u2(t) = 8e 2t + e4t 2e3t + sin t, và u3(t) =


2e4t 4e3t e 2t 2.

3. Sử dụng Thuật toán Runge-Kutta cho Hệ thống để tính gần đúng các nghiệm của các vấn đề cao hơn sau:

sắp xếp các phương trình vi phân và so sánh kết quả với lời giải thực tế.

Một. y 2y + y = tet t, 0 ≤ t ≤ 1, y(0) = y (0) = 0, với h = 0,1;


1
nghiệm thực tế y(t) = t 3et tet + 2et t 2.
6

3
b. t 2y 2ty + 2y = t tôi biết , 1 ≤ t 2, y(1) = 1, y (1) = 0, với h = 0,1;
7 1 3
ln t
3

nghiệm thực tế y(t) = t + giờ t 3.


4 2 4

c. y + 2y y 2y = et , 0 t 3, y(0) = 1, y (0) = 2, y(0) = 0, với h = 0,2;


43 1 4 1
nghiệm thực tế y(t) = et + e t e 2t + Tết .
36 4 9 6

3
d. t 3y t 2y + 3ty 4y = 5t lnt + 9t 3 , 1 ≤ t 2, y(1) = 0, y (1) = 1, y(1) = 3,
2 3
với h = 0,1; nghiệm thực tế y(t) = t + t cos(ln t) + t sin(ln t) + t ln t.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

338 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

4. Sử dụng Thuật toán Runge-Kutta cho Hệ thống để tính gần đúng các nghiệm của các vấn đề cao hơn sau:
sắp xếp các phương trình vi phân và so sánh kết quả với lời giải thực tế. Một. y

3y + 2y = 6e , = y (0) = 2, với h = 0,1; nghiệm thực y(t) = 2e2t


t 0 ≤ t 1, y(0)
et + e t .

b. t 2y + ty 4y = 3t, 1 ≤ t 3, y(1) = 4, y (1) = 3, với h = 0,2; nghiệm thực tế


2 + t + t 2.
y(t) = 2t

c. y + y 4y 4y = 0, 0 ≤ t 2, y(0) = 3, y (0) = 1, y(0) = 9, với h = 0,2; nghiệm thực tế y(t) = e t


+ e2t + e 2t .

d. 3
t 3y + t 2y 2ty + 2y = 8t h 2, 1 ≤ t 2, y(1) = 2, y (1) = 8, y(1) = 6, với
1 1.
= 0,1; nghiệm thực tế y(t) = 2t t 2 + t 3 + t

5. Thay đổi Thuật toán dự đoán-sửa lỗi bậc bốn của Adams để có được lời giải gần đúng cho
các hệ phương trình bậc nhất.

6. Lặp lại Bài tập 2 bằng thuật toán được phát triển ở Bài tập 5.

7. Lặp lại Bài tập 1 bằng thuật toán được phát triển ở Bài tập 5.

8. Giả sử con lắc lắc được mô tả trong ví dụ chính của chương này dài 2 ft và g = 32,17 ft/s2. Với h = 0,1 s, hãy
so sánh góc θ thu được cho hai bài toán giá trị ban đầu sau tại thời điểm t = 0, 1 và 2 s.

d2θ π
Một.
g sin θ = 0, θ (0) = + , θ (0) = 0,
L 6
dt2 d2θ π
b. g θ = 0, θ (0) = + , θ (0) = 0,
dt2 L 6

9. Việc nghiên cứu các mô hình toán học để dự đoán biến động quần thể của các loài cạnh tranh có nguồn gốc từ các
công trình độc lập được xuất bản vào đầu thế kỷ 20 bởi AJ Lotka và V. Volterra (ví dụ, xem [Lo1], [Lo2] , và
[Võ]).
Xét bài toán dự đoán quần thể của hai loài, một loài là loài săn mồi, quần thể của chúng tại thời điểm
t là x2(t), ăn loài kia là con mồi, có quần thể là x1(t).
Chúng ta sẽ cho rằng con mồi luôn được cung cấp đầy đủ thức ăn và tỷ lệ sinh của nó ở bất kỳ thời điểm nào

tỷ lệ thuận với số lượng con mồi còn sống tại thời điểm đó; tức là tỷ lệ sinh (con mồi) là k1x1(t). Tỷ lệ tử

vong của con mồi phụ thuộc vào cả số lượng con mồi và động vật ăn thịt còn sống tại thời điểm đó. Để đơn

giản, chúng tôi giả sử tỷ lệ tử vong (con mồi) = k2x1(t)x2(t). Mặt khác, tỷ lệ sinh của động vật ăn thịt phụ

thuộc vào nguồn cung cấp thức ăn của nó, x1(t), cũng như vào số lượng động vật ăn thịt có sẵn cho mục đích sinh sản.

Vì lý do này, chúng tôi giả định rằng tỷ lệ sinh (động vật ăn thịt) là k3x1(t)x2(t). Tỷ lệ tử vong của động vật ăn

thịt sẽ được coi là tỷ lệ đơn giản với số lượng động vật ăn thịt còn sống vào thời điểm đó; nghĩa là tỷ lệ tử vong

(động vật ăn thịt) = k4x2(t).

Vì x 1(t) và x 2(t) tương ứng là sự thay đổi của quần thể con mồi và quần thể động vật ăn thịt,
theo thời gian bài toán được biểu diễn bằng hệ phương trình vi phân phi tuyến

x 1(t) = k1x1(t) k2x1(t)x2(t) và x 2(t) = k3x1(t)x2(t) k4x2(t).

Giải hệ này để tìm 0 t 4, giả sử rằng quần thể ban đầu của con mồi là 1000 và của kẻ săn mồi là 500
và các hằng số là k1 = 3, k2 = 0,002, k3 = 0,0006 và k4 = 0,5. Hãy vẽ đồ thị các lời giải cho bài toán
này, vẽ đồ thị của cả hai quần thể theo thời gian và mô tả các hiện tượng vật lý được biểu diễn. Có giải
pháp ổn định nào cho mô hình dân số này không? Nếu vậy, với giá trị nào x1 và x2 thì nghiệm ổn định?

10. Trong Bài tập 9, chúng ta đã xem xét vấn đề dự đoán quần thể trong mô hình động vật ăn thịt-con mồi.
Một vấn đề khác thuộc loại này liên quan đến việc hai loài cạnh tranh để giành cùng một nguồn cung cấp thực
phẩm. Nếu số lượng loài còn sống tại thời điểm t được ký hiệu là x1(t) và x2(t), người ta thường giả định
rằng, mặc dù tỷ lệ sinh của mỗi loài chỉ tỷ lệ thuận với số lượng loài còn sống tại thời điểm đó, tỷ lệ tử
vong của mỗi loài phụ thuộc vào quần thể của cả hai loài. Chúng ta sẽ giả sử rằng quần thể của một cặp loài
cụ thể được mô tả bằng các phương trình

dx1(t) dx2(t)
= x1(t)[4 0,0003x1(t) 0,0004x2(t)] và = x2(t)[2 0,0002x1(t) 0,0001x2(t)].
dt dt

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.10 Tính ổn định


339

Nếu biết quần thể ban đầu của mỗi loài là 10.000, hãy tìm nghiệm của hệ thống này với 0 ≤ t ≤ 4. Có giải pháp ổn định nào cho

mô hình quần thể này không? Nếu vậy, với giá trị nào của x1 và x2 thì nghiệm ổn định?

5.10 Tính ổn định

Một số phương pháp đã được trình bày trong chương này để tính gần đúng lời giải của bài toán có
giá trị ban đầu. Mặc dù có sẵn nhiều kỹ thuật khác nhưng chúng tôi đã chọn các phương pháp được mô
tả ở đây vì nhìn chung chúng thỏa mãn ba tiêu chí:

• Sự phát triển của chúng đủ rõ ràng để bạn có thể hiểu cách thức và lý do chúng hoạt động.

• Một hoặc nhiều phương pháp sẽ cho kết quả thỏa đáng đối với hầu hết các vấn đề mà sinh viên khoa
học và kỹ thuật gặp phải.

• Hầu hết các kỹ thuật tiên tiến và phức tạp hơn đều dựa trên một hoặc một sự kết hợp
của các thủ tục được mô tả ở đây.

Phương pháp một bước

Trong phần này, chúng ta thảo luận lý do tại sao những phương pháp này được kỳ vọng sẽ mang lại
kết quả khả quan trong khi một số phương pháp tương tự thì không. Trước khi bắt đầu cuộc thảo luận
này, chúng ta cần trình bày hai định nghĩa liên quan đến sự hội tụ của phương pháp phương trình
sai phân một bước để giải phương trình vi phân khi kích thước bước giảm.

Định nghĩa 5.18 Phương pháp phương trình sai phân một bước có sai số cắt cụt cục bộ τi(h) ở bước thứ i được cho là phù
hợp với phương trình vi phân mà nó xấp xỉ nếu

lim h tối |τi(h)| = 0.


đa 0 1<i<N

Lưu ý rằng định nghĩa này là định nghĩa cục bộ vì với mỗi giá trị τi(h), chúng ta giả sử rằng
Phương pháp một bước là nhất quán
phép tính gần đúng wi 1 và nghiệm chính xác y(ti 1) là như nhau. Một phương tiện thực tế hơn để
nếu phương trình sai phân của

phương pháp đó tiến gần phân tích tác động của việc làm cho h nhỏ là xác định tác động tổng thể của phương pháp. Đây là

đến phương trình vi phân khi sai số lớn nhất của phương pháp trên toàn bộ phạm vi của phép tính gần đúng, chỉ giả sử rằng
kích thước bước tiến về 0. phương pháp đó cho kết quả chính xác ở giá trị ban đầu.

Định nghĩa 5.19 Phương pháp phương trình sai phân một bước được cho là hội tụ theo phương trình vi phân mà nó xấp xỉ
nếu
Một phương thức hội tụ nếu
giải pháp cho sự khác biệt lim h tối |wi y(ti)| = 0,
đa 0 1<i<N
phương trình tiếp cận nghiệm của

phương trình vi phân khi kích trong đó y(ti) biểu thị giá trị chính xác của nghiệm của phương trình vi phân và wi là giá trị gần
thước bước tiến về 0. đúng thu được từ phương pháp sai phân ở bước thứ i.

Ví dụ 1 Chứng minh rằng phương pháp Euler hội tụ.

Giải pháp Kiểm tra Bất đẳng thức (5.10) trang 271, trong công thức giới hạn sai số của phương pháp
Euler, ta thấy rằng theo giả thuyết của Định lý 5.9,

Mh
tối đa |wi y(ti)| ≤ |eL(b a) 1|.
1<i<N 2L

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

340 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Tuy nhiên, M, L, a và b đều là hằng số và

Mh |
lim max wi y(ti)| ≤ lim eL(b a) 1 = 0.
h 0 1<i<N h 0 2L

Vì vậy phương pháp Euler hội tụ theo phương trình vi phân thỏa mãn các điều kiện của định nghĩa này.

Tốc độ hội tụ là O(h).

Phương pháp một bước nhất quán có đặc tính là phương trình sai phân của phương pháp này tiến gần

đến phương trình vi phân khi kích thước bước tiến về 0. Vì vậy, lỗi cắt cụt cục bộ của một phương pháp

nhất quán sẽ tiến tới 0 khi kích thước bước tiến tới 0.

Loại vấn đề liên quan đến lỗi khác tồn tại khi sử dụng các phương pháp sai phân để tính gần đúng

nghiệm của phương trình vi phân là hậu quả của việc không sử dụng kết quả chính xác.

Trong thực tế, cả điều kiện ban đầu lẫn phép tính số học được thực hiện sau đó đều không được biểu

diễn chính xác do sai số làm tròn liên quan đến số học hữu hạn.

Trong Phần 5.2 chúng ta đã thấy rằng việc xem xét này có thể dẫn đến những khó khăn ngay cả đối với phương pháp
Euler hội tụ.

Một phương pháp ổn định khi Để phân tích tình huống này, ít nhất là một phần, chúng ta sẽ cố gắng xác định phương pháp nào ổn
kết quả phụ thuộc liên tục vào dữ liệu định, theo nghĩa là những thay đổi nhỏ hoặc nhiễu loạn trong các điều kiện ban đầu sẽ tạo ra những
ban đầu.
thay đổi nhỏ tương ứng trong các phép tính gần đúng tiếp theo.

Khái niệm về tính ổn định của phương trình sai phân một bước có phần tương tự với điều kiện của

một phương trình vi phân được đặt đúng, do đó không có gì đáng ngạc nhiên khi điều kiện Lipschitz xuất

hiện ở đây, giống như trong định lý tương ứng cho các phương trình vi phân, Định lý 5.6 ở Mục 5.1.

Phần (i) của định lý sau đây liên quan đến tính ổn định của phương pháp một bước. Việc chứng minh

kết quả này không khó và được xem xét trong Bài tập 1. Phần (ii) của Định lý 5.20 liên quan đến các

điều kiện đủ để một phương pháp nhất quán hội tụ. Phần (iii) biện minh cho nhận xét được đưa ra trong

Phần 5.5 về việc kiểm soát lỗi toàn cục của một phương pháp bằng cách kiểm soát lỗi cắt cụt cục bộ của

nó và ngụ ý rằng khi lỗi cắt cụt cục bộ có tốc độ hội tụ O(hn), lỗi toàn cục sẽ có cùng tỷ lệ tốc độ

hội tụ. Việc chứng minh phần (ii) và (iii) khó hơn phần (i) và có thể tìm thấy trong tài liệu trình

bày trong [Ge1], trang 57–58.

Định lý 5.20 Giả sử bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α,

được xấp xỉ bằng phương pháp sai phân một bước ở dạng

w0 = α,

wi+1 = wi + hφ(ti, wi, h).

Giả sử tồn tại một số h0 > 0 và φ(t, w, h) là liên tục và thỏa mãn a

Điều kiện Lipschitz trong biến w với hằng số Lipschitz L trên tập hợp

D = {(t, w, h) | a ∞ t ∞ b và ∞ <w< ∞, 0 h ∞ h0}.

Sau đó

(i) Phương pháp ổn định;

(ii) Phương pháp sai phân là hội tụ khi và chỉ nếu nó nhất quán, tức là

tương đương với

φ(t, y, 0) = f (t, y), với mọi a ≤ t ≤ b;

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.10 Tính ổn định 341

(iii) Nếu tồn tại một hàm τ và với mỗi i = 1, 2, ... , N, lỗi cắt cụt cục bộ τi(h) thỏa mãn |

τi(h)| τ (h) bất cứ khi nào 0 ≤ h ≤ h0 thì

τ (h)
|y(ti) wi| ≤ eL(ti a) .
L

Ví dụ 2 Phương pháp Euler sửa đổi được cho bởi w0 = α,

h wi+1 = wi + f (ti, wi) + f (ti+1, wi + hf (ti, wi)) , với i = 0, 1, ... ,N 1.


2

Xác minh rằng phương pháp này ổn định bằng cách chứng minh rằng nó thỏa mãn giả thuyết của Định lý 5.20.

Giải pháp Đối với phương pháp này,

1 1 φ(t, w, h)
= f (t, w) + f (t + h, w + hf (t, w)). 2 2

Nếu f thỏa mãn điều kiện Lipschitz trên {(t, w) | a ≤ t ≤ b và ∞ <w< ∞} trong
biến w với hằng số L, sau đó, vì

1 1 φ(t, w, h)
φ(t, w, h) = f (t, w) + f (t + h, w + hf (t, w)) 2 2

1 1
f (t, w) f (t + h, w + hf (t, w)),
2 2

điều kiện Lipschitz trên f dẫn đến

1 1

|φ(t, w, h) φ(t, w, h)| ≤ L|w w| + L |w + hf (t, w) w hf (t, w)|


2 2

1 ≤ L|w w| + L |hf (t, w) hf (t, w)|


2

1 ≤ L|w w| + hL2 |w w|
2

1
= L + 2 hL2 |w w|.

Do đó, φ thỏa mãn điều kiện Lipschitz trong w trên tập hợp

{(t, w, h) | a ∞ ∞ < w< ∞, và 0 ∞ h ∞ ,

với mọi h0 > 0 với hằng số

1
L = L + 2 h0L2 .

Cuối cùng, nếu f liên tục trên {(t, w) | a ∞ b , ∞ <w < ∞} thì φ liên tục trên

{(t, w, h) | a ∞ t ∞ b, ∞ <w< ∞, và 0 ∞ h ∞ h0};

do đó Định lý 5.20 ngụ ý rằng phương pháp Euler sửa đổi là ổn định. Cho h = 0, ta có

1 1 f (t, w) +
φ(t, w, 0) = f (t + 0, w + 0 · f (t, w)) = f (t, w), 2 2

do đó điều kiện nhất quán được biểu thị trong Định lý 5.20, phần (ii) được giữ nguyên. Như vậy
phương pháp có tính hội tụ. Hơn nữa, chúng ta đã thấy rằng đối với phương pháp này, lỗi cắt cụt
cục bộ là O(h2), do đó độ hội tụ của phương pháp Euler sửa đổi cũng là O(h2).

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

342 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Phương pháp nhiều bước

Đối với các phương pháp nhiều bước, các vấn đề liên quan đến tính nhất quán, hội tụ và ổn định

được gộp lại vì số lượng xấp xỉ có liên quan ở mỗi bước. Trong phương pháp một bước, phép tính gần đúng

wi+1 chỉ phụ thuộc trực tiếp vào phép tính gần đúng trước đó

wi, trong khi các phương pháp nhiều bước sử dụng ít nhất hai trong số các phép tính gần đúng trước đó và

các phương pháp thông thường được sử dụng liên quan đến nhiều hơn.

Phương pháp nhiều bước chung để tính gần đúng nghiệm cho giá trị ban đầu

vấn đề

y = f (t, y), a ≤ t ≤ b, y(a) = α, (5,54)

có hình thức

w0 = α, w1 = α1, ... , wm 1 = αm 1,

wi+1 = am 1wi + am 2wi 1 +···+ a0wi+1 m + hF(ti, h, wi+1, wi, ... , wi+1 m),

(5,55)

với mỗi i = m 1, m, ... , N 1, trong đó a0, a1, ... , am+1 là các hằng số và, như thường lệ,
h = (b a)/N và ti = a + ih.

Lỗi cắt ngắn cục bộ đối với phương pháp nhiều bước được biểu thị ở dạng này là

y(ti+1) am 1y(ti) ··· a0y(ti+1 m)


τi+1(h) = h

F(ti, h, y(ti+1), y(ti), ... , y(ti+1 m)),

với mỗi i = m 1, m, ... , N 1. Giống như trong các phương pháp một bước, sai số cắt
cụt cục bộ đo lường xem nghiệm y của phương trình vi phân không thỏa mãn sai phân như thế nào
phương trình.

Đối với phương pháp Adams-Bashforth bốn bước, chúng ta đã thấy rằng

251
τi+1(h) = y(5) (μi)h4 , với một số μi (ti 3, ti+1),
720

trong khi phương pháp Adams-Moulton ba bước có

19
τi+1(h) = y(5) (μi)h4 , với một số μi (ti 2, ti+1),
720

tất nhiên với điều kiện là y C5[a, b].

Trong suốt quá trình phân tích, hai giả định sẽ được đưa ra liên quan đến hàm F:

• Nếu f ≡ 0 (nghĩa là nếu phương trình vi phân thuần nhất) thì F ≡ 0 cũng vậy.

• F thỏa mãn điều kiện Lipschitz đối với {wj}, theo nghĩa là tồn tại hằng số L
N N
và với mọi cặp dãy {vj} j=0 và { ˜vj} j=0 và với i = m 1, m, ..., N 1, chúng ta

tôi

|F(ti, h, vi+1, ... , vi+1 m) F(ti, h, v˜i+1, ... , v˜i+1 m)| ≤ L |vi+1 j ˜vi+1 j|.
j=0

Phương pháp Adams-Bashforth rõ ràng và phương pháp Adams-Moulton ngầm định thỏa mãn cả hai

những điều kiện này, miễn là f thỏa mãn điều kiện Lipschitz. (Xem bài tập 2.)

Khái niệm hội tụ đối với phương pháp nhiều bước cũng giống như đối với phương pháp một bước.
phương pháp.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.10 Tính ổn định 343

• Phương pháp nhiều bước là hội tụ nếu nghiệm của phương trình sai phân tiến gần đến nghiệm của phương

trình vi phân khi kích thước bước tiến tới 0. Điều này có nghĩa là limh 0 max0<i<N | wi y(ti)| =

0.

Tuy nhiên, để thống nhất, một tình huống hơi khác sẽ xảy ra. Một lần nữa, chúng ta muốn một

phương pháp nhiều bước nhất quán với điều kiện là phương trình sai phân tiến tới phương trình vi phân

khi kích thước bước tiến đến 0; nghĩa là, lỗi cắt cụt cục bộ tiến tới 0 ở mỗi bước khi kích thước bước

tiến tới 0. Điều kiện bổ sung xảy ra do số lượng giá trị bắt đầu cần thiết cho các phương pháp nhiều

bước. Vì thường chỉ có giá trị bắt đầu đầu tiên, w0 = α, là chính xác, nên chúng ta cần yêu cầu sai số

trong tất cả các giá trị bắt đầu {αi} tiến đến 0 khi kích thước bước tiến tới 0. Vì thế

lim |τi(h)| = 0, với mọi i = m, m + 1, ... , N và (5,56)


h 0

lim |αi y(ti)| = 0, với mọi i = 1, 2, ... , m 1, (5,57)


h 0

phải đúng để phương pháp nhiều bước ở dạng (5.55) nhất quán . Lưu ý rằng (5.57) hàm ý rằng phương pháp

nhiều bước sẽ không nhất quán trừ khi phương pháp một bước tạo ra các giá trị ban đầu cũng nhất quán.

Định lý sau đây cho phương pháp nhiều bước tương tự như Định lý 5.20, phần (iii) và đưa ra mối

quan hệ giữa lỗi cắt cụt cục bộ và lỗi toàn cục của phương pháp nhiều bước. Nó cung cấp sự biện minh

về mặt lý thuyết cho việc cố gắng kiểm soát lỗi toàn cục bằng cách kiểm soát lỗi cắt cụt cục bộ. Chứng

minh dạng tổng quát hơn một chút của định lý này có thể tìm thấy trong [IK], trang 387–388.

Định lý 5.21 Giả sử bài toán giá trị ban đầu

y = f (t, y), a ≤ t ≤ b, y(a) = α,

được tính gần đúng bằng phương pháp dự đoán-sửa lỗi Adams rõ ràng với m-bước Adams-

Phương trình dự đoán Bashforth

wi+1 = wi + h[bm 1f (ti, wi) +···+ b0f (ti+1 m, wi+1 m)],

với lỗi cắt cụt cục bộ τi+1(h) và phương trình hiệu chỉnh Adams-Moulton ngầm định (m 1)

wi+1 = wi + h b˜m 1f (ti, wi+1) + b˜m 2f (ti, wi) +···+ b˜0f (ti+2 m, wi+2 m ) ,

với lỗi cắt cụt cục bộ τ˜i+1(h). Ngoài ra, giả sử f (t, y) và fy(t, y) liên tục trên D = {(t, y) | a

≤ t ≤ b và ∞ < y < ∞} và fy bị chặn. Khi đó lỗi cắt cụt cục bộ σi+1(h) của phương pháp dự đoán-hiệu
chỉnh là

f σi+1(h) = ˜τi+1(h) + τi+1(h)b˜m 1 (ti+1, θi+1),


y

trong đó θi+1 là một số nằm giữa 0 và hτi+1(h).


Hơn nữa, tồn tại các hằng số k1 và k2 sao cho

|wi y(ti)| ≤ tối đa 0<j<m 1 wj y(tj) + k1σ (h) ek2(ti a) ,

trong đó σ (h) = maxm<j<N |σj(h)|.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

344 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Trước khi thảo luận về mối liên hệ giữa tính nhất quán, độ hội tụ và tính ổn định của phương pháp nhiều

bước, chúng ta cần xem xét chi tiết hơn phương trình sai phân của phương pháp nhiều bước. Khi làm như vậy,

chúng ta sẽ khám phá ra lý do chọn phương pháp Adams làm phương pháp nhiều bước tiêu chuẩn của mình.

Liên quan đến phương trình sai phân (5.55) được đưa ra ở phần đầu của cuộc thảo luận này,

w0 = α, w1 = α1, ... , wm 1 = αm 1,

wi+1 = am 1wi + am 2wi 1 +···+ a0wi+1 m + hF(ti, h, wi+1, wi, ... , wi+1 m),

là một đa thức, gọi là đa thức đặc trưng của phương pháp, cho bởi

P(λ) = λm am 1λm 1 am 2λm 2 ··· a1λ a0. (5,58)

Độ ổn định của phương pháp nhiều bước đối với sai số làm tròn được quyết định bởi độ lớn của các số 0

của đa thức đặc trưng. Để thấy điều này, hãy xem xét việc áp dụng phương pháp nhiều bước tiêu chuẩn (5.55)

cho bài toán giá trị ban đầu tầm thường

y ≡ 0, y(a) = α, trong đó α = 0. (5,59)

Bài toán này có nghiệm chính xác y(t) ≡ α. Bằng cách kiểm tra các phương trình. (5.27) và (5.28) trong Phần 5.6

(xem trang 304), chúng ta có thể thấy rằng bất kỳ phương pháp nhiều bước nào, về mặt lý thuyết, sẽ tạo ra nghiệm

chính xác wn = α cho mọi n. Độ lệch duy nhất so với lời giải chính xác là do sai số làm tròn của phương pháp.

Vế phải của phương trình vi phân trong (5.59) có f (t, y) ≡ 0, nên theo giả sử (1), chúng ta có F(ti,

h, wi+1, wi+2, ... , wi+ 1 m) = 0 trong phương trình sai phân (5.55). Kết quả là dạng chuẩn của phương trình

sai phân trở thành

wi+1 = am 1wi + am 2wi 1 +···+ a0wi+1 m. (5,60)

Giả sử λ là một trong các số 0 của đa thức đặc trưng gắn với (5.55).

Khi đó wn = λn với mỗi n là nghiệm của (5.59) vì

λi+1 am 1λi am 2λi 1 ··· a0λi+1 m = λi+1 m[λm am 1λm 1 ··· a0] = 0.

Trong thực tế, nếu λ1, λ2, ... , λm là các số 0 phân biệt của đa thức đặc trưng của (5.55), thì có thể chứng

minh rằng mọi nghiệm của (5.60) đều có thể biểu diễn dưới dạng

tôi

wn = thành phố
Tôi , (5.61)
tôi=1

đối với một số tập hợp duy nhất các hằng số c1, c2, ..., cm.
Vì nghiệm chính xác của (5.59) là y(t) = α nên việc chọn wn = α, với mọi n, là một nghiệm

đến (5.60). Sử dụng thực tế này trong (5.60) cho

0 = α αam 1 αam 2 ··· αa0 = α[1 am 1 am 2 ··· a0].

Điều này ngụ ý rằng λ = 1 là một trong các số 0 của đa thức đặc trưng (5.58). Chúng ta sẽ giả sử rằng trong

biểu diễn (5.61) nghiệm này được mô tả bởi λ1 = 1 và c1 = α, do đó mọi nghiệm của (5.59) được biểu diễn dưới

dạng

wn = α +m thành phố
Tôi . (5.62)
tôi=2

Nếu tất cả các phép tính đều chính xác thì mọi hằng số c2, c3, ... , cm sẽ bằng 0. Trong
thực tế, các hằng số c2, c3, ... , cm không bằng 0 do lỗi làm tròn. Trên thực tế, lỗi làm tròn

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.10 Tính ổn định 345

tăng theo cấp số nhân trừ khi |λi| 1 cho mỗi nghiệm λ2, λ3, ... , λm. Độ lớn của các nghiệm này càng nhỏ

thì phương pháp càng ổn định hơn đối với sự phát triển của vòng tròn
lỗi.

Khi suy ra (5.62), chúng ta đã đưa ra giả định đơn giản hóa rằng các số 0 của đa thức đặc tính là

khác nhau. Tình huống tương tự xảy ra khi có nhiều số 0. Ví dụ: nếu λk = λk+1 =···= λk+p đối với một số

k và p, thì nó chỉ cần thay thế tổng

ckλn + ck+1λn
k k+1 +···+ ck+pλn k+p

trong (5.62) với

k + ck+1nλn 1k + ck+2n(n 1)λn 2 +···+ ck+p[n(n


k 1)···(n p + 1)]λn p ckλn k .

(5.63)

(Xem [He2], trang 119–145.) Mặc dù dạng của lời giải đã được sửa đổi, lỗi làm tròn nếu |λk | > 1 vẫn tăng

theo cấp số nhân.

Mặc dù chúng ta chỉ xem xét trường hợp đặc biệt của việc xấp xỉ các bài toán giá trị ban đầu có

dạng (5.59), nhưng đặc tính ổn định của phương trình này xác định tính ổn định trong trường hợp f (t, y)

không bằng 0. Điều này là do nghiệm của phương trình đồng nhất (5.59) được nhúng vào nghiệm của bất kỳ

phương trình nào. Các định nghĩa sau đây được thúc đẩy bởi cuộc thảo luận này.

Định nghĩa 5.22 Cho λ1, λ2, ... , λm biểu thị các nghiệm (không nhất thiết phải phân biệt) của phương trình đặc tính

P(λ) = λm am 1λm 1 ··· a1λ a0 = 0

liên quan đến phương pháp sai phân nhiều bước

w0 = α, w1 = α1, ... , wm 1 = αm 1

wi+1 = am 1wi + am 2wi 1 +···+ a0wi+1 m + hF(ti, h, wi+1, wi, ... , wi+1 m).

Nếu |λi| ≤ 1, với mỗi i = 1, 2, ... , m và mọi nghiệm có giá trị tuyệt đối 1 đều là nghiệm đơn thì phương

pháp sai phân được gọi là thỏa mãn điều kiện nghiệm.

Định nghĩa 5.23 (i) Các phương pháp thỏa mãn điều kiện nghiệm và có λ = 1 là nghiệm duy nhất của phương trình đặc

tính có độ lớn bằng 1 được gọi là ổn định mạnh.

(ii) Các phương pháp thỏa mãn điều kiện nghiệm và có nhiều nghiệm riêng biệt với

cường độ một được gọi là ổn định yếu. (iii)

Phương pháp không thỏa mãn điều kiện nghiệm gọi là phương pháp không ổn định.

Tính nhất quán và hội tụ của phương pháp nhiều bước có liên quan chặt chẽ đến độ ổn định làm tròn

của phương pháp. Định lý tiếp theo trình bày chi tiết các kết nối này. Để biết cách chứng minh kết quả

này và lý thuyết làm cơ sở cho kết quả này, xem [IK], trang 410–417.

Định lý 5.24 Một phương pháp nhiều bước có dạng

w0 = α, w1 = α1, ... , wm 1 = αm 1,

wi+1 = am 1wi + am 2wi 1 +···+ a0wi+1 m + hF(ti, h, wi+1, wi, ... , wi+1 m)

ổn định khi và chỉ khi nó thỏa mãn điều kiện nghiệm. Hơn nữa, nếu phương pháp sai phân phù hợp với
phương trình vi phân thì phương pháp đó ổn định khi và chỉ nếu nó hội tụ.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

346 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Ví dụ 3 Phương pháp Adams-Bashforth bậc bốn có thể được biểu diễn dưới dạng

wi+1 = wi + hF(ti, h, wi+1, wi, ... , wi 3),

Ở đâu

h
F(ti, h, wi+1, , ... , wi 3) = 24[55f (ti, wi) 59f (ti 1, wi 1)

+ 37f (ti 2, wi 2) 9f (ti 3, wi 3)];

Chứng tỏ phương pháp này rất ổn định.

Lời giải Trong trường hợp này chúng ta có m = 4, a0 = 0, a1 = 0, a2 = 0, và a3 = 1, do đó

phương trình đặc trưng của phương pháp Adams-Bashforth này là

0 = P(λ) = λ4 λ3 = λ3 (λ 1).

Đa thức này có các nghiệm λ1 = 1, λ2 = 0, λ3 = 0 và λ4 = 0. Do đó nó thỏa mãn nghiệm

tình trạng và có tính ổn định cao.

Phương pháp Adams-Moulton có đa thức đặc trưng tương tự, P(λ) = λ3 λ2,

với các số 0 λ1 = 1, λ2 = 0 và λ3 = 0 và cũng rất ổn định.

Ví dụ 4 Chứng minh rằng phương pháp Milne bậc bốn, phương pháp nhiều bước tường minh cho bởi

4 giờ

wi+1 = wi 3 + 2f (ti, wi) f (ti 1, wi 1) + 2f (ti 2, wi 2)


3

thỏa mãn điều kiện gốc nhưng chỉ ổn định yếu.

Giải Phương trình đặc tính của phương pháp này, 0 = P(λ) = λ4 1, có bốn nghiệm

với cường độ một: λ1 = 1, λ2 = 1, λ3 = i và λ4 = i. Bởi vì tất cả các rễ đều có

độ lớn 1 thì phương pháp thỏa mãn điều kiện nghiệm. Tuy nhiên, có nhiều gốc với

có cường độ 1 nên phương pháp này chỉ ổn định yếu.

Ví dụ 5 Áp dụng phương pháp Adams-Bashforth bậc bốn ổn định mạnh và phương pháp ổn định yếu

Phương pháp Milne với h = 0,1 cho bài toán giá trị ban đầu

y = 6y + 6, 0 ≤ t 1, y(0) = 2,

có nghiệm chính xác y(t) = 1 + e 6t .

Giải pháp Kết quả trong Bảng 5.21 cho thấy ảnh hưởng của phương pháp ổn định yếu so với phương pháp

phương pháp ổn định mạnh mẽ cho vấn đề này.

Bảng 5.21
Adams-Bashforth của Milne

Chính Phương pháp Lỗi | Phương pháp Lỗi

tôi xác y(ti) Wi yi wi| Wi |yi wi|

0,10000000 1.5488116 1.5488116


0,20000000 1.3011942 1.3011942
0,30000000 1.1652989 1.1652989
0,40000000 1.0907180 1.0996236 8,906 × 10 3 1,0983785 7,661 × 10 3
0,50000000 1.0497871 1.0513350 1,548 × 10 3 8,053 1,0417344
× 10 3
0,60000000 1.0273237 1.0425614 1,524 × 10 2 1,0486438 2,132 × 10 2
0,70000000 1.0149956 1.0047990 1,020 × 10 2 0,9634506 5,154 × 10 2
0,80000000 1.0082297 1.0359090 2,768 × 10 2 1,208 1,1289977
× 10 1

0,90000000 1.0045166 0.9657936 3,872 × 10 2 0,7282684 2,762 × 10 1


1.00000000 1.0024788 1.0709304 6,845 × 10 2 1,6450917 6,426 × 10 1

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.10 Tính ổn định 347

Lý do chọn Adams-Bashforth-Moulton làm kỹ thuật dự đoán-sửa lỗi bậc bốn tiêu chuẩn
của chúng tôi trong Phần 5.6 thay vì phương pháp Milne-Simpson có cùng bậc là vì cả hai
phương pháp Adams-Bashforth và Adams-Moulton đều rất ổn định.
Chúng có nhiều khả năng đưa ra các xấp xỉ chính xác cho một loại vấn đề rộng hơn so với
công cụ dự đoán-sửa lỗi dựa trên kỹ thuật Milne và Simpson, cả hai đều có tính ổn định
yếu.

BÀI TẬP 5.10

1. Để chứng minh Định lý 5.20 phần (i), hãy chỉ ra rằng các giả thuyết suy ra tồn tại hằng số K > 0
như vậy mà

|ui vi| K|u0 v0|, với mỗi 1 i N,

N N
bất cứ khi nào {ui}tôi=1 và {vi} tôi=1 thỏa mãn phương trình sai phân wi+1 = wi + hφ(ti, wi, h).

2. Đối với phương pháp Adams-Bashforth và Adams-Moulton cấp bốn,

Một. Chứng minh rằng nếu f = 0 thì

F(ti, h, wi+1, ... , wi+1 m) = 0.

b. Chứng minh rằng nếu f thỏa mãn điều kiện Lipschitz với hằng số L thì tồn tại hằng số C với

tôi

|F(ti, h, wi+1, ... , wi+1 m) F(ti, h, vi+1, ... , vi+1 m)| ≤ C |wi+1 j vi+1 j|.
j=0

3. Sử dụng kết quả Bài tập 32 phần 5.4 để chứng minh rằng phương pháp Runge-Kutta cấp 4 là
nhất quán.

4. Xét phương trình vi phân

y = f (t, y), a ≤ t ≤ b, y(a) = α.

Một. Cho thấy

3y(ti) + 4y(ti+1) y(ti+2) y h2


(ti) = y(ξ1), + 2h 3

với một số ξ , trong đó ti < ξi <

ti+2. b. Phần (a) gợi ý phương pháp sai phân

wi+2 = 4wi+1 3wi 2hf (ti, wi), với i = 0, 1, ... , N 2.

Dùng phương pháp này để giải

y = 1 y, 0 ≤ t 1, y(0) = 0,

với h = 0,1. Sử dụng các giá trị ban đầu w0 = 0 và w1 = y(t1) = 1 e 0,1. c. Lặp

lại phần (b) với h = 0,01 và w1 = 1 e 0,01. d. Phân tích

phương pháp này về tính nhất quán, ổn định và hội tụ.

5. Cho phương pháp nhiều bước

3
wi+1 = wi + 3wi 1 2 1 wi 2 + 3hf (ti, wi), với i = 2, ... , N 1, 2

với các giá trị bắt đầu w0, w1, w2:

Một. Tìm lỗi cắt ngắn cục bộ.

b. Nhận xét về tính nhất quán, ổn định và hội tụ.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

348 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

6. Tìm nghiệm gần đúng của phương trình vi phân

y = y, 0 ≤ t ≤ 10, y(0) = 1

sử dụng phương pháp Milne với h = 0,1 và sau đó h = 0,01, với giá trị bắt đầu w0 = 1 và w1 = e h trong
cả hai trường hợp. Việc giảm h từ h = 0,1 xuống h = 0,01 ảnh hưởng như thế nào đến số chữ số đúng
trong các nghiệm gần đúng tại t = 1 và t = 10?

7. Khảo sát tính ổn định của phương pháp sai phân

wi+1 = 4wi + 5wi 1 + 2h[f (ti, wi) + 2hf (ti 1, wi 1)],

với i = 1, 2, ... ,N 1, với các giá trị bắt đầu w0, w1.

8. Xét bài toán y = 0, 0 ≤ t ≤ 10, y(0) = 0 có nghiệm y ≡ 0. Nếu hiệu


áp dụng phương pháp bài tập 4 vào bài toán thì

wi+1 = 4wi 3wi 1, với i = 1, 2, ... , N 1,

w0 = 0 và w1 = α1.

Giả sử w1 = α1 = ε, trong đó ε là sai số làm tròn nhỏ. Tính wi chính xác với i = 2, 3, ... , 6 để tìm ra sai số ε lan truyền

như thế nào.

5.11 Phương trình vi phân cứng

Tất cả các phương pháp xấp xỉ nghiệm của các bài toán có giá trị ban đầu đều có sai số liên quan đến đạo hàm cao

hơn của nghiệm của phương trình. Nếu đạo hàm có thể được giới hạn hợp lý thì phương pháp sẽ có giới hạn sai số có

thể dự đoán được và có thể được sử dụng để ước tính độ chính xác của phép tính gần đúng. Ngay cả khi đạo hàm tăng

khi các bước tăng, sai số có thể được giữ ở mức kiểm soát tương đối, với điều kiện là nghiệm cũng tăng về độ lớn.

Tuy nhiên, các vấn đề thường nảy sinh khi độ lớn của đạo hàm tăng nhưng nghiệm thì không. Trong trường hợp này,

sai số có thể lớn đến mức lấn át cả quá trình tính toán.

Các bài toán về giá trị ban đầu mà điều này có khả năng xảy ra được gọi là phương trình cứng và khá phổ biến, đặc

biệt trong nghiên cứu về dao động, phản ứng hóa học và mạch điện.

Các hệ cứng có tên bắt nguồn


Các phương trình vi phân cứng được đặc trưng là những phương trình có nghiệm chính xác có dạng e ct, trong
từ chuyển động của lò xo và
đó c là hằng số dương lớn. Đây thường chỉ là một phần của giải pháp, được gọi là giải pháp nhất thời . Phần quan
hệ khối lượng có hằng số lò

xo lớn. trọng hơn của nghiệm được gọi là nghiệm ổn định . Phần nhất thời của một phương trình cứng sẽ nhanh chóng phân

rã về 0 khi t tăng, nhưng vì đạo hàm bậc n của số hạng này có độ lớn cne ct nên đạo hàm không phân rã nhanh như

vậy. Trên thực tế, vì đạo hàm trong số hạng sai số được đánh giá không phải ở t mà ở một số nằm trong khoảng từ

0 đến t, nên số hạng đạo hàm có thể tăng khi t tăng– và thực tế là rất nhanh. May mắn thay, các phương trình cứng

nói chung có thể được dự đoán từ bài toán vật lý mà từ đó phương trình được suy ra và nếu cẩn thận, sai số có thể

được kiểm soát. Cách thức thực hiện việc này được xem xét trong phần này.

Minh họa Hệ bài toán giá trị ban đầu

1 4 = 9u1 + 24u2 + 5 chi


bạn
1
phí sin t, u1(0) = 3 3

1 2 = 24u1 51u2 9
bạn 2 chi phí + sin t, u2(0) = 3 3

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.11 Phương trình vi phân cứng 349

có giải pháp độc đáo

1 1
u1(t) = 2e 3t e 39t + chi phí, u2(t) = e 3t + 2e 39t trị giá.
3 3

Số hạng nhất thời e 39t trong dung dịch làm cho hệ này bị cứng. Áp dụng thuật toán

5.7, Phương pháp cấp 4 Runge-Kutta cho hệ thống, đưa ra kết quả được liệt kê trong Bảng 5.22.

Khi h = 0,05, kết quả độ ổn định và các kết quả gần đúng là chính xác. Tăng bước
Tuy nhiên, kích thước thành h = 0,1 sẽ dẫn đến kết quả thảm hại như trình bày trong bảng.

Bảng 5.22
w1(t) w1(t) w2(t) w2(t)
t u1(t) h = 0,05 h = 0,1 u2(t) h = 0,05 h = 0,1

0,1 1.793061 1.712219 2,645169 1,032001 0.8703152 7.844527


0,2 1.423901 1.414070 18,45158 0.8746809 0.8550148 38.87631
0,3 1.131575 1.130523 87.47221 0.7249984 0,7228910 176.4828
0,4 0.9094086 0.9092763 934.0722 0.6082141 0,6079475 789.3540
0,5 0.7387877 9.7387506 1760.016 0.5156575 0,5155810 3520,00
0,6 0.6057094 0.6056833 7848.550 0.4404108 0,4403558 15697.84
0,7 0.4998603 0.4998361 34989.63 0.3774038 0,3773540 69979.87
0,8 0.4136714 0.4136490 155979.4 0.3229535 0,3229078 311959.5
0,9 0.3416143 0.3415939 695332.0 0.2744088 0,2743673 1390664.
1,0 0.2796748 0.2796568 3099671. 0,2298877 0,2298511 6199352.

Mặc dù độ cứng thường gắn liền với các hệ phương trình vi phân,

các đặc tính gần đúng của một phương pháp số cụ thể được áp dụng cho một hệ thống cứng có thể

được dự đoán bằng cách kiểm tra sai số được tạo ra khi áp dụng phương pháp này cho một thử nghiệm đơn giản

phương trình,

y = λy, y(0) = α, trong đó λ < 0. (5,64)

Nghiệm của phương trình này là y(t) = αeλt , chứa nghiệm nhất thời eλt . Các

nghiệm trạng thái ổn định bằng 0, do đó các đặc tính gần đúng của phương pháp rất dễ dàng

quyết tâm. (Một cuộc thảo luận đầy đủ hơn về sai số làm tròn liên quan đến hệ thống cứng

yêu cầu kiểm tra phương trình kiểm tra khi λ là số phức có phần thực âm;

xem [Ge1], tr. 222.)

Đầu tiên hãy xem xét phương pháp Euler được áp dụng cho phương trình kiểm tra. Cho h = (b a)/N và

tj = jh, với j = 0, 1, 2, ... , N, phương trình. (5.8) ở trang 266 ngụ ý rằng

w0 = α, và wj+1 = wj + h(λwj) = (1 + hλ)wj,

Vì thế

wj+1 = (1 + hλ)j+1 w0 = (1 + hλ)j+1 α, với j = 0, 1, ... , N -1. (5,65)

Vì nghiệm chính xác là y(t) = αeλt , sai số tuyệt đối là

j
| y(tj) wj| = ejhλ (1 + hλ) |α| = (ehλ) jj (1 + hλ) |α|,

và độ chính xác được xác định bởi số hạng 1+hλ gần đúng với ehλ như thế nào. Khi λ < 0,

nghiệm chính xác (ehλ) j phân rã về 0 khi j tăng, nhưng theo phương trình (5.65), phép tính gần đúng

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

350 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

sẽ chỉ có tính chất này nếu |1 + hλ| < 1 hạn chế một , ngụ ý rằng 2 < hλ < 0. Điều này

cách hiệu quả kích thước bước h để phương pháp Euler thỏa mãn h < 2/|λ|.

Bây giờ giả sử có sai số làm tròn δ0 trong điều kiện ban đầu của phương pháp Euler,

w0 = α + δ0.

Ở bước thứ j, lỗi làm tròn là

δj = (1 + hλ) j δ0.

Vì λ < 0 nên điều kiện kiểm soát sự tăng trưởng của sai số làm tròn cũng giống như điều kiện kiểm soát

sai số tuyệt đối, |1+hλ| < 1, ngụ ý rằng h < 2/|λ|.


Vì thế

• Phương pháp Euler được kỳ vọng là ổn định cho

y = λy, y(0) = α, trong đó λ < 0,

chỉ khi kích thước bước h nhỏ hơn 2/|λ|.

Tình huống tương tự đối với các phương pháp một bước khác. Nói chung, hàm Q tồn tại với

tính chất mà phương pháp sai phân, khi áp dụng vào phương trình thử nghiệm, mang lại

wi+1 = Q(hλ)wi. (5,66)

Độ chính xác của phương pháp phụ thuộc vào mức độ Q(hλ) gần đúng với ehλ và sai số sẽ tăng không giới hạn

nếu |Q(hλ)| > 1. Ví dụ, phương pháp Taylor bậc n sẽ có tính ổn định đối với cả sự tăng trưởng của sai số

làm tròn và sai số tuyệt đối, miễn là h được chọn thỏa mãn

1 1 h2 λ2 +···+ 1 +
1. 2 n! hλ + hn λn <

Bài tập 10 xem xét trường hợp cụ thể khi phương pháp này là phương pháp Runge-Kutta cấp 4 cổ điển, về cơ

bản là phương pháp Taylor cấp 4.

Khi áp dụng phương pháp nhiều bước có dạng (5.54) cho phương trình thử nghiệm, kết quả là

wj+1 = am 1wj +···+ a0wj+1 m + hλ(bmwj+1 + bm 1wj +···+ b0wj+1 m),

với j = m 1, ... , N 1, hoặc

(1 hλbm)wj+1 (am 1 + hλbm 1)wj ··· (a0 + hλb0)wj+1 m = 0.

Gắn liền với phương trình sai phân đồng nhất này là một đa thức đặc trưng

tôi m 1
Q(z, hλ) = (1 hλbm)z (am 1 + hλbm 1)z ··· (a0 + hλb0).

Đa thức này tương tự như đa thức đặc trưng (5.58), nhưng nó cũng kết hợp với phương trình kiểm tra. Lý

thuyết ở đây tương đồng với phần thảo luận về độ ổn định trong Phần 5.10.

Giả sử w0, ... , wm 1 đã cho, và với hλ cố định, đặt β1, ... , βm là các số 0 của

đa thức Q(z, hλ). Nếu β1, ... , βm phân biệt thì c1, ... , cm tồn tại với

tôi

wj = j ck (βk ) , với j = 0, ... , N. (5,67)

k=1

Nếu Q(z, hλ) có nhiều số 0 thì wj được xác định tương tự. (Xem phương trình (5.63) ở Mục 5.10.) Nếu wj

xấp xỉ chính xác y(tj) = ejhλ = (ehλ) j thì tất cả các số 0, βk phải thỏa mãn |βk | < 1;

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.11 Phương trình vi phân cứng 351

mặt khác, một số lựa chọn nhất định của α sẽ dẫn đến ck = 0, và số hạng ck (βk ) j sẽ không phân rã thành
số không.

Hình minh họa Phương trình vi phân kiểm tra

1
y = 30y, 0 ≤ t 1,5, y(0) =
3

1
chính xác y = Thuật toán 3 e 30t . Sử dụng h = 0,1 cho Thuật toán Euler 5.1, Runge-Kutta có nghiệm

bậc 4 5.2 và Thuật toán dự đoán-chỉnh sửa Adams 5.4 cho kết quả t = 1,5 trong Bảng 5.23.

Bảng 5.23
Giải pháp chính xác 9,54173 × 10 21

Phương pháp Euler 1,09225 × 104

Phương pháp Runge-Kutta 3,95730 × 101

Phương pháp dự đoán-hiệu chỉnh 8,03840 × 105

Sự không chính xác trong Hình minh họa là do |Q(hλ)| > 1 đối với phương pháp Euler và phương pháp

Runge-Kutta và Q(z, hλ) có các số 0 với mô đun vượt quá 1 đối với phương pháp dự đoán-hiệu chỉnh. Để áp

dụng các phương pháp này cho bài toán này, kích thước bước phải được giảm xuống. Định nghĩa sau đây được

sử dụng để mô tả mức độ giảm kích thước bước được yêu cầu.

Định nghĩa 5.25 Vùng R ổn định tuyệt đối của phương pháp một bước là R = {hλ C | |Q(hλ)| < 1} và đối với phương pháp nhiều

bước, nó là R = {hλ C | |βk | < 1, với mọi số 0 βk của Q(z, hλ)}.

Các phương trình (5.66) và (5.67) ngụ ý rằng một phương pháp có thể được áp dụng hiệu quả cho một

phương trình cứng nhắc chỉ khi hλ nằm trong vùng ổn định tuyệt đối của phương pháp, mà đối với một bài

toán nhất định đặt ra một hạn chế về kích thước của h. Mặc dù số hạng mũ trong nghiệm chính xác phân rã

nhanh chóng về 0, λh phải duy trì trong vùng ổn định tuyệt đối trong suốt khoảng giá trị t để phép tính

gần đúng phân rã về 0 và sự gia tăng sai số được kiểm soát. Điều này có nghĩa là, mặc dù h thường có thể

tăng lên do xem xét lỗi cắt cụt, tiêu chí ổn định tuyệt đối buộc h phải duy trì ở mức nhỏ.

Các phương pháp kích thước bước thay đổi đặc biệt dễ gặp phải vấn đề này vì việc kiểm tra lỗi cắt cụt

cục bộ có thể chỉ ra rằng kích thước bước có thể tăng lên. Điều này vô tình có thể dẫn đến việc λh nằm

ngoài vùng ổn định tuyệt đối.

Vùng ổn định tuyệt đối của một phương pháp nói chung là yếu tố quan trọng trong việc tạo ra các xấp

xỉ chính xác cho các hệ thống cứng, vì vậy các phương pháp số được tìm kiếm với vùng ổn định tuyệt đối

càng lớn càng tốt. Một phương pháp số được gọi là ổn định A nếu vùng R ổn định tuyệt đối của nó chứa

toàn bộ nửa mặt phẳng bên trái.

Phương pháp này là ngầm định vì nó Phương pháp hình thang ngầm, được đưa ra bởi

liên quan đến wj+1 ở cả hai vế của

phương trình. w0 = α, (5,68)

h wj+1 = wj + f (tj+1, wj+1) + f (tj, wj) , 0 j N 1,


2

là phương pháp ổn định A (xem Bài tập 15) và là phương pháp nhiều bước duy nhất ổn định A. Mặc dù phương

pháp hình thang không đưa ra xấp xỉ chính xác cho kích thước bước lớn nhưng sai số của nó sẽ không tăng

theo cấp số nhân.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

352 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

Các kỹ thuật thường được sử dụng cho các hệ thống cứng là các phương pháp nhiều bước tiềm ẩn. Nói

chung, wi+1 thu được bằng cách giải phương trình phi tuyến hoặc hệ phi tuyến một cách lặp đi lặp lại, thường là

bằng phương pháp Newton. Ví dụ, hãy xem xét phương pháp Hình thang ngầm

h
wj+1 = wj + [f (tj+1, wj+1) + f (tj, wj)].
2

Sau khi tính tj, tj+1 và wj, chúng ta cần xác định wj+1, nghiệm của

h
F(w) = w wj [f (tj+1, w) + f (tj, wj)] = 0. 2 (5,69)

Để tính gần đúng nghiệm này, hãy chọn w(0)


j+1, thường là wj và tạo w(k)
bằng cách áp dụng
j+1
Phương pháp Newton để (5.69),

1) )
F(w(kj+1
w(k) = w(k 1)
j+1 j+1
F (w(k 1) )
j+1

h
w(k 1) wj )]
j+1 2 [f (tj, wj) + f (tj+1, w(k
j+1 1)
= w(k 1)
j+1 h
1 )
2fy(tj+1, w(k
j+1 1)

w(k 1) | là đủ nhỏ. Đây là thủ tục được sử dụng trong Thuật toán
cho đến khi |w(k)
j+1
j+1
5.8. Thông thường chỉ cần ba hoặc bốn lần lặp cho mỗi bước vì phương trình bậc hai
sự hội tụ của phương pháp Newton.
Phương pháp Secant có thể được sử dụng thay thế cho phương pháp Newton trong biểu thức. (5.69),

nhưng sau đó cần có hai phép tính gần đúng ban đầu riêng biệt với wj+1 . Để sử dụng Secant

từ một số bước rõ ràng


j+1 = wj và thu được w(1)
phương pháp, cách thực hành thông thường là cho w(0)
j+1
phương pháp. Khi có một hệ phương trình cứng, cần có sự khái quát hóa cho một trong hai
Phương pháp Newton hoặc phương pháp Secant. Những chủ đề này được xem xét trong Chương 10.

Thuật toán Hình thang với phép lặp Newton


5,8
Để tính gần đúng lời giải của bài toán giá trị ban đầu

y = f (t, y), với a ≤ t ≤ b, với y(a) = α

tại (N + 1) các số cách đều nhau trong khoảng [a, b]:

INPUT điểm cuối a, b; số nguyên N; điều kiện ban đầu α; dung sai TOL; Số lớn nhất
số lần lặp M tại một bước bất kỳ.

XUẤT XỨ xấp xỉ w đến y tại các giá trị (N + 1) của t hoặc một thông báo lỗi.

Bước 1 Đặt h = (b a)/N;


t = a;
w = α;
ĐẦU RA (t, w).

Bước 2 Với i = 1, 2, ... , N thực hiện Bước 3–7.

h
Bước 3 Đặt k1 = w + w0 = 2f (t, w);
k1;

j = 1;
CỜ = 0.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.11 Phương trình vi phân cứng 353

Bước 4 Khi FLAG = 0, hãy thực hiện Bước 5–6.

h
w0 f (t + h, w0) k1
2
Bước 5 Đặt w = w0 .
h
1 fy(t + h, w0)
2

Bước 6 Nếu |w w0| < TOL thì đặt FLAG = 1


ngược lại đặt j = j + 1;

w0 = w;

nếu j > M thì


OUTPUT ('Số lượng tối đa của
số lần lặp vượt quá');
DỪNG LẠI.

Bước 7 Đặt t = a + ih;


ĐẦU RA (t, w).

Bước 8 DỪNG.

Minh họa Bài toán giá trị ban đầu cứng nhắc

2
y = 5e5t (y t) + 1, 0 ≤ t ≤ 1, y(0) = 1

có nghiệm y(t) = t e 5t . Để chỉ ra ảnh hưởng của độ cứng, phương pháp Hình thang ngầm
và phương pháp bậc 4 Runge-Kutta được áp dụng cả với N = 4, cho h = 0,25,
và với N = 5 thì h = 0,20.

Phương pháp hình thang thực hiện tốt trong cả hai trường hợp sử dụng M = 10 và TOL = 10 6,
Runge-Kutta cũng vậy với h = 0,2. Tuy nhiên h = 0,25 nằm ngoài vùng tuyệt đối
tính ổn định của phương pháp Runge-Kutta, thể hiện rõ qua kết quả ở Bảng 5.24.

Bảng 5.24
Phương pháp Runge–Kutta Phương pháp hình thang

h = 0,2 h = 0,2

tôi Wi |y(ti) wi| Wi |y(ti) wi|

0,0 1,0000000 1,0000000 0

0,2 0,1488521 0 1,9027 × 10 2 0,1414969 2,6383 × 10 2

0,4 0,2684884 3,8237 × 10 3 0,2748614 1,0197 × 10 2

0,6 0,5519927 1,7798 × 10 3 0,5539828 3,7700 × 10 3

0,8 0,7822857 6,0131 × 10 4 0,7830720 1,3876 × 10 3

1.0 0.9934905 2,2845 × 10 4 0,9937726 5,1050 × 10 4

h = 0,25 h = 0,25

tôi Wi |y(ti) wi| Wi |y(ti) wi|

0,0 1,0000000 1,0000000 0

0,25 0.4014315 0 4,37936 × 10 1 0,0054557 4,1961 × 10 2

0,5 3.4374753 3,01956 × 100 0.4267572 8,8422 × 10 3

0,75 1.44639 × 1023 1,44639 × 1023 0.7291528 2,6706 × 10 3

1.0 Tràn ra 0.9940199 7,5790 × 10 4

Ở đây chúng tôi chỉ trình bày phần giới thiệu ngắn gọn về những điều mà người đọc thường xuyên

gặp phải các phương trình vi phân cứng cần biết. Để biết thêm chi tiết, hãy tham khảo [Ge2], [Lam] hoặc
[SGe].

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

354 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

BÀI TẬP 5.11

1. Giải các bài toán về giá trị ban đầu cứng sau đây bằng phương pháp Euler và so sánh kết quả với
giải pháp thực tế.

Một. y = 9y, 0 ≤ t ≤ 1, y(0) = e, với h = 0,1; nghiệm thực tế y(t) = e1 9t . b. y = 20(y t


1
2)+2t, 0 ≤ t ≤ 1, y(0) = với h = 0,1; nghiệm thực tế y(t) = 1 t3 ,2+ c. y = 20y + 20 sin t + chi phí, 0 ≤ t 2, e 20t .
3

y(0) = 1, với h = 0,25; nghiệm thực tế y(t) = sin t + e 20t d. y = 50/y 50y, 0 ≤ t ≤ 1, y(0) = √2, với h = 0,1;

nghiệm thực y(t) = .

(1+e 100t )1/2.

2. Giải các bài toán về giá trị ban đầu cứng sau đây bằng phương pháp Euler và so sánh kết quả với
giải pháp thực tế.

+ 6et b. y = 10y+10t+1,, 0 t 1, y(0) = 2, với h = 0,1; nghiệm thực tế y(t) = e 5t + et . Một. y = 5y

0 ≤ t ≤ 1, y(0) = e, với h = 0,1; nghiệm thực tế y(t) = e 10t+1 +t. c. y = 15(y t 3) 3/t 4, 1 ≤ t ≤ 3, y(1)

= 0, với h = 0,25; nghiệm thực tế y(t) = e 15t + t 3. d. y = 20y + 20 cost sin t, 0 ≤ t 2, y(0) = 0, với h

= 0,25; giải pháp thực

tế

y(t) = e 20t + chi phí.

3. Lặp lại Bài tập 1 bằng phương pháp bậc 4 Runge-Kutta.

4. Lặp lại Bài tập 2 bằng phương pháp bậc 4 Runge-Kutta.

5. Lặp lại Bài tập 1 bằng phương pháp dự đoán-sửa lỗi bậc bốn của Adams.

6. Lặp lại Bài tập 2 bằng phương pháp dự đoán-sửa lỗi bậc bốn của Adams.

7. Lặp lại Bài tập 1 sử dụng Thuật toán hình thang với TOL = 10 5.

8. Lặp lại Bài tập 2 sử dụng Thuật toán hình thang với TOL = 10 5.

9. Giải bài toán giá trị ban đầu cứng sau đây bằng phương pháp bậc 4 Runge-Kutta với (a) h = 0,1 và (b) h = 0,025.

2 2 =
bạn
1
32u1 + 66u2 + t + 3 3 , 0 t 0,5, u1(0) = 1 ;

1 1
bạn 2 = 66u1 133u2 1 t , 0 t 0,5, u2(0) = 3 .
3 3

So sánh kết quả với giải pháp thực tế,

2 2 e t 1 1 2 e 100t
t + 3 3
1 e t + t .
u1(t) = e 100t và u2(t) = 3 3 3
3

10. Chứng minh rằng phương pháp Runge-Kutta bậc bốn,

k1 = hf (ti, wi),

k2 = hf (ti + h/2, wi + k1/2),

k3 = hf (ti + h/2, wi + k2/2),

k4 = hf (ti + h, wi + k3),

wi+1 = wi + 6 1 (k1 + 2k2 + 2k3 + k4),

khi áp dụng vào phương trình vi phân y = λy có thể viết dưới dạng

wi+1 = 1 + hλ + 6 1 (hλ)2 + 1 (hλ)3 + 1 (hλ)4 wi.


2 24

11. Thảo luận về tính nhất quán, ổn định và hội tụ của phương pháp Hình thang ngầm

wi+1 = wi + N h1,(f2 (ti+1, wi+1) + f (ti, wi)), với i = 0, 1, ... ,

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

5.12 Khảo sát phương pháp và phần mềm 355

với w0 = α áp dụng cho phương trình vi phân

y = f (t, y), a ≤ t ≤ b, y(a) = α.

12. Phương pháp một bước Euler lùi được xác định bởi

wi+1 = wi + hf (ti+1, wi+1), với i = 0, ... , N 1.

Chứng minh rằng Q(hλ) = 1/(1 hλ) đối với phương pháp Euler lùi.

13. Áp dụng phương pháp Euler ngược cho các phương trình vi phân ở Bài tập 1. Sử dụng phương pháp Newton để
giải tìm wi+1.

14. Áp dụng phương pháp Euler ngược cho các phương trình vi phân ở Bài tập 2. Sử dụng phương pháp Newton để
giải tìm wi+1.

15. a. Chứng tỏ rằng phương pháp Hình thang ngầm là A-ổn định.
b. Chứng minh rằng phương pháp Euler lùi được mô tả trong Bài tập 12 là ổn định A.

5.12 Khảo sát phương pháp và phần mềm

Trong chương này, chúng ta đã xem xét các phương pháp tính gần đúng nghiệm của các bài toán có giá
trị ban đầu đối với các phương trình vi phân thông thường. Chúng ta bắt đầu thảo luận về kỹ thuật
số cơ bản nhất, phương pháp Euler. Quy trình này không đủ chính xác để sử dụng trong các ứng dụng,
nhưng nó minh họa hoạt động chung của các kỹ thuật mạnh hơn mà không gặp khó khăn về đại số đi kèm.
Các phương pháp Taylor sau đó được coi là sự khái quát hóa của phương pháp Euler. Chúng được cho là
chính xác nhưng phức tạp vì cần phải xác định đạo hàm riêng mở rộng của hàm xác định của phương
trình vi phân. Công thức Runge-Kutta đã đơn giản hóa các phương pháp Taylor mà không làm tăng bậc
sai số. Đến thời điểm này chúng ta mới chỉ xem xét các phương pháp một bước, các kỹ thuật chỉ sử
dụng dữ liệu tại thời điểm được tính toán gần đây nhất.

Các phương pháp nhiều bước được thảo luận trong Phần 5.6, trong đó các phương pháp rõ ràng
thuộc loại Adams-Bashforth và các phương pháp ẩn thuộc loại Adams-Moulton đã được xem xét. Những
phương pháp này đạt đến đỉnh cao trong các phương pháp dự đoán-hiệu chỉnh, sử dụng một phương pháp
rõ ràng, chẳng hạn như Adams-Bashforth, để dự đoán giải pháp và sau đó áp dụng một phương pháp ngầm
tương ứng, như Adams-Moulton, để sửa phép tính gần đúng.
Phần 5.9 minh họa cách sử dụng các kỹ thuật này để giải các bài toán có giá trị ban đầu bậc
cao hơn và các hệ bài toán có giá trị ban đầu bậc cao.
Các phương pháp thích ứng chính xác hơn dựa trên các kỹ thuật một bước và nhiều bước tương đối
không phức tạp. Cụ thể, chúng ta đã thấy trong Phần 5.5 rằng phương pháp Runge-Kutta-Fehlberg là
quy trình một bước nhằm tìm cách chọn khoảng cách giữa các mắt lưới để kiểm soát sai số cục bộ của
phép tính gần đúng. Phương pháp Dự đoán-Hiệu chỉnh Kích thước Bước Thay đổi được trình bày trong
Phần 5.7 dựa trên phương pháp Adams-Bashforth bốn bước và phương pháp Adams-Moulton ba bước. Nó cũng
thay đổi kích thước bước để giữ lỗi cục bộ trong phạm vi dung sai nhất định. Phương pháp ngoại suy
được thảo luận trong Phần 5.8 dựa trên sự sửa đổi của phương pháp Trung điểm và kết hợp phép ngoại
suy để duy trì độ chính xác gần đúng mong muốn.

Chủ đề cuối cùng trong chương liên quan đến khó khăn cố hữu trong việc tính gần đúng nghiệm
của một phương trình cứng, một phương trình vi phân mà nghiệm chính xác của nó chứa một phần có
dạng e λt trong đó λ là hằng ,số dương. Phải đặc biệt thận trọng với những vấn đề thuộc loại này,
nếu không kết quả có thể bị lấn át bởi lỗi làm tròn.
Các phương pháp thuộc loại Runge-Kutta-Fehlberg nói chung là đủ cho các bài toán không cứng
khi yêu cầu độ chính xác vừa phải. Các thủ tục ngoại suy được khuyến nghị

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.
Machine Translated by Google

356 CHƯƠNG 5 Các bài toán giá trị ban đầu cho phương trình vi phân thông thường

cho những bài toán không khó đòi hỏi độ chính xác cao. Các phần mở rộng của phương pháp Hình thang tiềm ẩn

cho các phương pháp ẩn kiểu Adams có bậc thay đổi và kích thước bước thay đổi là

được sử dụng cho các bài toán giá trị ban đầu cứng.

Thư viện IMSL bao gồm hai chương trình con để tính gần đúng nghiệm của các bài toán có giá trị ban

đầu. Mỗi phương pháp giải một hệ gồm m phương trình bậc nhất với m biến. Các phương trình có dạng

dui
= fi(t, u1, u2, ... , um), với i = 1, 2, ... , m,
dt

trong đó ui(t0) được đưa ra cho mỗi i. Một chương trình con có kích thước bước thay đổi dựa trên các phương
pháp bậc năm và bậc sáu Runge-Kutta-Verner được mô tả trong Bài tập 4 của Phần 5.5. Một chương trình con của

Loại Adams cũng có sẵn để sử dụng cho các phương trình cứng dựa trên phương pháp của C. William

Bánh răng. Phương pháp này sử dụng các phương pháp ẩn nhiều bước có bậc lên tới 12 và các công thức vi

phân ngược có bậc lên đến 5.

Các thủ tục kiểu Runge-Kutta có trong Thư viện NAG dựa trên Merson

dạng phương pháp Runge-Kutta. Phương pháp Adams có thứ tự thay đổi và kích thước bước thay đổi

cũng có trong thư viện, cũng như một sai phân lùi có kích thước bước thay đổi, có thứ tự thay đổi

phương pháp cho hệ thống cứng. Các quy trình khác kết hợp các phương pháp tương tự nhưng lặp lại cho đến khi

thành phần của lời giải đạt được một giá trị cho trước hoặc cho đến khi hàm số của lời giải bằng 0.

Thư viện netlib bao gồm một số chương trình con để tính gần đúng lời giải của các bài toán có giá trị

ban đầu trong gói ODE. Một chương trình con dựa trên Runge-Kutta-Verner

phương pháp bậc năm và bậc sáu, một phương pháp khác trên bậc bốn và năm của Runge-Kutta-Fehlberg

các phương pháp như được mô tả ở trang 297 của Phần 5.5. Một chương trình con cho vi phân thường cứng

các bài toán về phương trình giá trị ban đầu, dựa trên phép vi phân ngược hệ số biến đổi
công thức.

Nhiều cuốn sách chuyên về giải số cho các bài toán có giá trị ban đầu. Hai tác phẩm kinh điển

là của Henrici [He1] và Gear [Ge1]. Những cuốn sách khác khảo sát lĩnh vực này là của Botha

và Pinder [BP], Ortega và Poole [OP], Golub và Ortega [GO], Shampine [Sh], và

Dormand [Làm].

Hai cuốn sách của Hairer, Nörsett và Warner cung cấp các thảo luận toàn diện về các vấn đề không cứng

[HNW1] và cứng [HNW2]. Cuốn sách của Burrage [Bur] mô tả song song

và các phương pháp tuần tự để giải hệ các bài toán có giá trị ban đầu.

Bản quyền 2010 Cengage Learning. Đã đăng ký Bản quyền. Không được sao chép, quét hoặc sao chép toàn bộ hoặc một phần. Do quyền điện tử, một số nội dung của bên thứ ba có thể bị loại bỏ khỏi Sách điện tử và/hoặc (các) Chương điện tử.

Quá trình đánh giá biên tập đã cho rằng bất kỳ nội dung nào bị chặn đều không ảnh hưởng nghiêm trọng đến trải nghiệm học tập tổng thể. Cengage Learning có quyền xóa nội dung bổ sung bất cứ lúc nào nếu các hạn chế về quyền tiếp theo yêu cầu.

You might also like