Professional Documents
Culture Documents
Bai Giang Phuong Phap Tinh
Bai Giang Phuong Phap Tinh
Phương pháp tính (Trường Đại học Bách khoa - Đại học Quốc gia Thành phố Hồ Chí
Minh)
LÊ THÁI THANH
BÀI GIẢNG
PHƯƠNG PHÁP TÍNH
Dùng cho sinh viên trường Đại Học Bách Khoa TP.HCM
51
89/176-05 Mã số: 8I092M5
GD-05
Tập bài giảng Phương Pháp Tính này được biên soạn theo chương
trình của Bộ Giáo dục và Đào tạo dành cho sinh viên trường Đại học
Bách Khoa TP. HCM với tổng số giờ lí thuyết và bài tập là 42 tiết được
phân bố trong 14 tuần. Mục tiêu của giáo trình là cung cấp cho sinh
viên các thuật toán cơ bản để giải quyết một số bài toán trong kĩ
thuật.
Bài giảng bao gồm 6 chương: Số gần đúng và sai số, Phương trình
phi tuyến, Hệ phương trình đại số tuyến tính, Nội suy và xấp xỉ hàm,
Đạo hàm và tích phân, Phương trình vi phân. Để thể hiện các thuật
toán chúng tôi chọn phần mềm MATLAB vì hiện nay đây là phần mềm
Mọi ý kiến đóng góp của bạn đọc xin gửi về:
Bộ môn Toán ứng dụng, Trường Đại học Bách khoa TP. HCM,
104 Nhà B4, 268 Lý Thường Kiệt, P.14, Q.10, TP. HCM.
E-mail: tlethai@hcmut.edu.vn
Tác giả
Mục lục
Mục lục . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1 Sai số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
MỤC LỤC 5
6 MỤC LỤC
CHƯƠNG MỘT
Mục lục
1.1 Sai số . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Biểu diễn số thập phân . . . . . . . . . . . . . . . . . 10
Bài tập chương 1 . . . . . . . . . . . . . . . . . . . . . . . 12
§1.1 SAI SỐ
Trong hầu hếtcác bài toán kĩ thuật chúng ta thường không thể xác
định được giá trị chính xác của một đại lượng mà chỉ làm việc với giá
trị gần đúng của nó. Do đó việc tìm hiểu sự sai lệch giữa giá trị chính
xác và giá trị gần đúng là yêu cầu bắt buộc trước khi sử dụng các giá
trị gần đúng trong các phép toán tiếp theo. Độ sai lệch giữa giá trị
gần đúng và giá trị chính xác được gọi là sai số.
(đọc là a xấp xỉ A), nếu a khác A không đáng kể và được dùng thay
cho A trong tính toán. Đại lượng ∆ “ |a ´ A| được gọi là sai số tuyệt
đối của số gần đúng a so với A. Trong thực tế, do không biết A, ta ước
lượng một đại lượng dương ∆a càng bé càng tốt thoả điều kiện
|A ´ a| ď ∆a (1.1)
được gọi là sai số tuyệt đối giới hạn của số gần đúng a so với A. Từ
a ´ ∆a ď A ď a ` ∆a
Tuy nhiên ta thường viết bất đẳng thức trên dưới dạng A “ a ˘ ∆a .
Sai số tương đối giới hạn của số gần đúng a so với A là đại lượng
|A ´ a|
δa “ pa “ 0q
|a|
Chú ý rằng sai số tuyệt đối giới hạn là đại lượng có thứ nguyên trùng
với thứ nguyên của đại lượng cần đo hoặc cần tính toán, trong khi sai
số tương đối giới hạn là đại lượng không có thứ nguyên. Do đó trong
thực hành, ta thường nhân sai số tương đối giới hạn với một trăm để
Ví dụ 1.1. Vận tốc của một vật thể đo được là v “ 2.8m{s với sai số 0.5%. Khi đó sai
0.5
số tuyệt đối là: ∆v “ ¨ 2.8m{s “ 0.014m{s.
100
Ví dụ 1.2. Đo độ dài hai đoạn thẳng ta được a “ 10cm và b “ 1cm với ∆a “ ∆b “
0.01 0.01
0.01cm. Khi đó ta có δa “ “ 0.1% trong khi δb “ “ 1% hay δb “ 10δa .
10 1
Như vậy độ chính xác của một phép đo thể hiện qua sai số tương đối.
Bây giờ ta tìm công thức tổng quát của sai số. Giả sử phải tìm đại
y “ f px1 , x2 , . . . , xn q
Gọi x̄i , ȳ và xi , y, i “ 1, 2, . . . , n, là các giá trị chính xác và giá trị gần
đúng của đối số và hàm số. Nếu f là hàm khả vi liên tục thì
ÿn ˇˇ ˇ
ˇ Bf ˇˇ
|y ´ ȳ| “ |f px1 , x2 , . . . , xn q ´ f px̄1 , x̄2 , . . . , x̄n q| « ˇ Bxi ˇ |xi ´ x̄i |
i“1
Bf
trong đó các đạo hàm riêng được tính tại các điểm trung gian. Do
Bxi
Bf
liên tục và ∆xi khá bé ta có thể xem
Bxi
n ˇˇ
ÿ ˇ
ˇ
Bf
∆y “ ˇ ˇ
ˇ Bxi px1 , x2 , . . . , xn qˇ ∆xi (1.2)
i“1
là sai số tuyệt đối cần tìm của hàm số và do đó ta có công thức tính
Ví dụ 1.3. Diện tích của hình tròn được tính theo công thức S “ πR2 với π “ 3.14 ˘
Từ các công thức sai số tổng quát (1.2) và (1.3), ta thu được đánh
ˇ ˇ
ˇ Bf ˇ
Trường hợp 1: Xét hàm y “ f px1 , . . . , xn q “ x1 ˘ ¨ ¨ ¨ ˘ xn . Khi đó ˇ
ˇ ˇ“
Bxi ˇ
1, @i “ 1, n. Do đó từ công thức (1.2) ta được ∆y “ ∆x1 ` ∆x2 `
¨ ¨ ¨ ` ∆xn . Nói cách khác, sai số tuyệt đối của một tổng bằng tổng
ˇ ˇ
ˇ B ln f ˇ
Trường hợp 2: Xét hàm y “ f px1 , . . . , xn q “ x1 x2 . . . xn . Khi đó ˇ
ˇ ˇ“
Bxi ˇ
1
. Do đó từ công thức (1.3) ta được δy “ δx1 ` δx2 ` ¨ ¨ ¨ ` δxn .
|xi |
Nói cách khác, sai số tương đối của một tích bằng tổng các sai
số tương đối.
Bất kì một số thập phân a nào cũng có thể viết dưới dạng
$
& a“α α ř
m
m m´1 . . . α1 α0 ¨ α´1 α´2 . . . α´n “ αk 10k
k“´n (1.4)
%
m, n P N, m ě 0, n ě 1, αm ‰ 0, αk P t0, 1, 2 . . . , 9u
Làm tròn một số thập phân a theo cách viết (1.4) là bỏ một số các
chữ số bên phải a sau dấu chấm thập phân để được một số r
a ngắn
gọn hơn và gần đúng nhất so với a. Giả sử ta muốn làm tròn đến chữ
thứ k ` 1 là α´pk`1q . Nếu α´pk`1q ě 5, ta tăng αk lên một đơn vị; còn
tròn
θar “ |a ´ r
a|
|r
a ´ A| ď |r
a ´ a| ` |a ´ A| ď θar ` ∆a “ ∆ar
Vì θar ě 0 nên ∆ā ě ∆a , nên sau khi làm tròn sai số tăng lên. Do đó
trong thực tế tính toán ta tránh làm tròn các phép toán trung gian,
Trường hợp làm tròn số trong bất đẳng thức, ta sử dụng các khái
niệm làm tròn lên và làm tròn xuống. Làm tròn lên r
a “ a` hay
a ă 13.9236 khi làm tròn lên được a ă 13.93 và b ą 78.6789 khi làm tròn
Cho a « A với sai số tuyệt đối ∆a . Trong cách viết thập phân (1.4)
1
∆a ď 10k
2
Trong cách viết thập phân (1.4) của số a, chữ số có nghĩa là tất
cả các chữ số bắt đầu từ một chữ số khác không tính từ trái sang.
Chúng ta trình bày số gần đúng a của số chính xác A với sai số
Cách thứ nhất: Viết số gần đúng a kèm theo sai số tuyệt đối ∆a dưới
dạng: a ˘ ∆a . Cách này thường dùng để biểu diễn các kết quả
đơn lẻ.
Cách thứ hai: Viết số gần đúng theo quy ước: mọi chữ số có nghĩa
đều đáng tin. Điều đó có nghĩa là sai số tuyệt đối ∆a không lớn
hơn một nửa đơn vị của chữ số cuối cùng bên phải. Ví dụ, nếu
viết a “ 0.5 thì sai số tuyệt đối được hiểu là ∆a ď p1{2q10´1 “ 0.05,
BÀI TẬP
Câu 1. Cho a “ 1.85 với sai số tương đối δa “ 0.12%. Tính sai số tuyệt
đối của a.
Câu 2. Làm tròn đến hai chữ số lẻ sau dấu chấm thập phân của các
Câu 3. Xác định số các chữ số đáng tin trong cách viết thập phân
0.002. Tính sai số tuyệt đối của thể tích hình cầu.
Câu 5. Cho a “ 1.5 ˘ 0.02, b “ 0.123 ˘ 0.001, c “ 3.7 ˘ 0.05. Hãy tính sai
(a) A “ a ` b ` c
(b) B “ 2a ´ 5b ` 3c
(c) C “ a2 ` b2 c
CHƯƠNG HAI
Mục lục
2.1 Đặt bài toán . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Phương pháp chia đôi . . . . . . . . . . . . . . . . . 15
2.3 Phương pháp lặp đơn . . . . . . . . . . . . . . . . . . 16
2.4 Phương pháp Newton . . . . . . . . . . . . . . . . . . 19
Bài tập chương 2 . . . . . . . . . . . . . . . . . . . . . . . 22
Mục đích của chương này là tìm nghiệm gần đúng của phương
trình
f pxq “ 0 (2.1)
với f pxq là hàm liên tục trên một khoảng đóng hay mở nào đó.
Nghiệm của phương trình (2.1) là giá trị p sao cho f ppq “ 0. Trong
giáo trình này ta chỉ xét những nghiệm đơn cô lập. Về mặt hình học,
nghiệm của phương trình (2.1) là hoành độ giao điểm của đường cong
y “ f pxq với trục hoành. Khoảng đóng ra, bs (đôi khi ta cũng xét khoảng
mở pa, bq) mà trên đó tồn tại duy nhất nghiệm của phương trình (2.1)
Thông thường, để tìm nghiệm của phương trình (2.1) chúng ta tiến
Bước 1: Tìm tất cả các khoảng cách li nghiệm của phương trình (2.1).
Bước 2: Trong từng khoảng cách li nghiệm, tìm nghiệm gần đúng của
phương trình bằng một phương pháp nào đó với sai số cho trước.
Định lý 2.1. Nếu hàm f pxq liên tục trên đoạn ra, bs và giá trị của hàm
trái dấu tại hai đầu mút thì phương trình (2.1) có nghiệm trên ra, bs.
Thêm vào đó, nếu hàm f pxq đơn điệu thì nghiệm là duy nhất.
Chúng ta có thể tìm các khoảng cách li nghiệm của một phương trình
bằng nhiều cách và định li 2.1 là một công cụ hữu ích cho mục đích
này.
Ví dụ 2.1. Tìm các khoảng cách li nghiệm của phương trình f pxq “ x3 ´ 3x ` 1 “ 0.
Chúng ta tính giá trị của hàm tại một số điểm đặc biệt và lập bảng giá trị như sau:
x ´2 ´1 0 1 2
f pxq ´1 3 1 ´1 3
Từ bảng trên ta thấy phương trình có nghiệm nằm trong các khoảng không giao nhau
p´2, ´1q, p0, 1q, p1, 2q. Vì phương trình bậc ba có tối đa ba nghiệm, nên mỗi đoạn trên
chứa duy nhất một nghiệm. Vậy chúng là các khoảng cách li nghiệm của phương trình đã
cho.
Cho nên f là hàm đơn điệu tăng. Ta cũng có f p1q ă 0 và f p2q ą 0, nên phương trình
Công thức đánh giá sai số tổng quát của nghiệm gần đúng của
Định lý 2.2. Giả sử hàm f pxq liên tục trên ra, bs, khả vi trong pa, bq.
Nếu x˚ là nghiệm gần đúng của nghiệm chính xác p trong ra, bs và @x P
ra, bs, |f 1 pxq| ě m ą 0. Thế thì ta có công thức đánh giá sai số tổng quát
sau đây
|f px˚ q|
|x˚ ´ p| ď (2.2)
m
Ví dụ 2.3. Xét phương trình f pxq “ x3 ´ 5x2 ` 12 “ 0 trong r´2, ´1s có nghiệm
ˇ ˇ
gần đúng x˚ “ ´1.37. Khi đó |f 1 pxq| “ ˇ3x2 ´ 10xˇ ě 13 “ m, @x P r´2, ´1s.
|f p´1.37q|
Do đó: |p ´ x˚ | ď « 0.0034.
13
Xét phương trình (2.1) có nghiệm chính xác p trong khoảng cách
và x0 là điểm giữa của đoạn ra0 , b0 s. Tính giá trị f px0 q. Nếu f px0 q “ 0
thì x0 chính là nghiệm và quá trình dừng lại. Ngược lại ta xét dấu
b´a
|p ´ xn | ď (2.5)
2n`1
Ví dụ 2.4. Cho phương trình f pxq “ 5x3 ´ cos 3x “ 0 trong khoảng cách li nghiệm
r0, 1s. Bằng phương pháp chia đôi, hãy tìm nghiệm gần đúng x5 và đánh giá sai số của
n 0 1 2 3 4 5
an p´q 0 0 1{4 3{8 7{16 15{32
bn p`q 1 1{2 1{2 1{2 1{2 1{2
xn 1{2 1{4 3{8 7{16 15{32 31{64
signf pxn q ` ´ ´ ´ ´
31 1´0 1 31 1
Như vậy x5 “ và ∆x5 “ 6
“ . Do đó p “ ˘ .
64 2 64 64 64
Phương pháp chia đôi là phương pháp đơn giản nhất để tìm
nghiệm gần đúng của phương trình (2.1), tuy nhiên độ chính xác
không cao. Thông thường phương pháp chia đôi được sử dụng nếu
không thể sử dụng các phương pháp khác hoặc với mục đích thu hẹp
khoảng cách li nghiệm. Thuật toán của phương pháp chia đôi được
Đây là phương pháp phổ biến để giải phương trình (2.1) trong
khoảng cách li nghiệm ra, bs. Trước tiên ta chuyển từ phương trình
x “ gpxq. (2.6)
Khi đó nghiệm của phương trình (2.6) còn được gọi là điểm bất động
của hàm gpxq. Về mặt hình học nó là hoành độ giao điểm của đường
thẳng y “ x và đường cong y “ gpxq. Chọn một giá trị ban đầu x0 P ra, bs
xn “ gpxn´1 q @n “ 1, 2, 3, . . . (2.7)
Bài toán của chúng ta là khảo sát sự hội tụ của dãy txn u8
n“1 ; dãy có
hội tụ về nghiệm của phương trình (2.6) hay không; sự hội tụ và giới
hạn của dãy phụ thuộc như thế nào vào giá trị lặp ban đầu x0 ; và
Định nghĩa 2.1. Hàm gpxq được gọi là hàm co trong đoạn ra, bs nếu tồn
?
Ví dụ 2.5. Xét hàm gpxq “ x trong đoạn r1, 2s. Ta có @x1 , x2 P r1, 2s,
? ? 1 1
| x1 ´ x 2 | “ ? ? |x1 ´ x2 | ď |x1 ´ x2 |
x1 ` x 2 2
?
Do đó hàm gpxq “ x là hàm co trong đoạn r1, 2s với hệ số co là q “ 0.5.
Định lý 2.3. Nếu gpxq là hàm co trên ra, bs, thì nó liên tục trên đó.
Định lý 2.4. Nếu hàm gpxq liên tục trên ra, bs, khả vi trong pa, bq và
Dq : 0 ď q ă 1 sao cho @x P pa, bq, |g 1 pxq| ď q, thì gpxq là hàm co trên ra, bs
với hệ số co là q.
?
Ví ˇ dụ 2.6. Xét ˇ hàm gpxq “ 3
10 ´ x trên đoạn r0, 1s. Ta có |g 1 pxq| “
ˇ ˇ
ˇ a ´1 ˇ 1
ˇ 3 ˇ ď ? « 0.078 “ q ă 1. Do đó nó là hàm co trên r0, 1s.
ˇ 3 p10 ´ xq2 ˇ 3 3 92
x2 ´ ex `2
Ví dụ 2.7. Bây giờ xét hàm gpxq “ trên đoạn r0, 1s. Ta có g 1 pxq “
3
2x ´ ex
. Khảo sát hàm g 1 pxq trên đoạn r0, 1s cho ta
3
2 ln 2 ´ 2 1
max g 1 pxq “ « ´0.2046 và min g 1 pxq “ ´
xPr0,1s 3 xPr0,1s 3
1
Từ đây ta được @x P r0, 1s, |g 1 pxq| ď “ q ă 1. Do đó nó là hàm co trên r0, 1s.
3
Sau đây là một định lý quan trọng và thường được gọi là nguyên
Định lý 2.5 (Nguyên li ánh xạ co). Giả sử gpxq là hàm co trên đoạn
ra, bs với hệ số co là q. Đồng thời, @x P ra, bs, gpxq P ra, bs. Khi đó với mọi
(2.7) sẽ hội tụ về nghiệm duy nhất p của phương trình (2.6) và ta có công
qn
|xn ´ p| ď |x1 ´ x0 | (2.8)
1´q
hoặc
q
|xn ´ p| ď |xn ´ xn´1 | (2.9)
1´q
Ví dụ 2.8. Xét phương trình x3 ` x ´ 1000 “ 0 trong khoảng cách li nghiệm r9, 10s.
?
Chuyển phương trình đã cho về dạng: x “ gpxq “ 3 1000 ´ x. Khi đó @x P r9, 10s,
1
|g 1 pxq| ď ? 3
“ q ă 1. Do đó gpxq là hàm co trên r9, 10s. Ta cũng dễ dàng kiểm
3 9902
tra rằng @x P r9, 10s, gpxq P r9, 10s. Do đó phương pháp lặp hội tụ. Chọn x0 “ 10, xây
?
dựng dãy lặp theo công thức xn`1 “ 3 1000 ´ xn , @n “ 0, 1, 2, . . . . Từ công thức
q
(2.9) ta có sai số của nghiệm gần đúng xn là |xn ´ x| ď |xn ´ xn´1 | “ ∆xn .
1´q
Ta có bảng sau:
n xn ∆xn
0 10
1 9.966554934 0.1127 ˆ 10´3
2 9.966667166 0.3779 ˆ 10´6
3 9.966666789 0.1270 ˆ 10´8
4 9.966666791 0.6735 ˆ 10´11
Ví dụ 2.9. Bây giờ ta xét phương trình x “ gpxq “ cos x có nghiệm duy nhất trong
đoạn r0, 1s. Dễ thấy gpxq là hàm co trong r0, 1s với hệ số co q “ sin 1 ă 1, và
@x P r0, 1s, gpxq “ cos x P r0, 1s. Chọn x0 “ 1, phương pháp lặp cho ta bảng sau:
n xn ∆xn
0 1
1 0.5403023059 2.6049536001
2 0.8575532158 1.7977551565
3 0.6542897905 1.1518260770
... ...... ......
32 0.7390859996 0.0000121985
33 0.7390845496 0.0000082171
34 0.7390855264 0.0000055351
Qua hai ví dụ vừa nêu, ta nhận thấy rằng tốc độ hội tụ (thể hiện
qua số lần lặp) của phương pháp lặp phụ thuộc vào giá trị của hệ số
co q. Nếu hệ số co càng bé (gần với 0), thì phương pháp lặp hội tụ càng
nhanh. Ngược lại, nếu hệ số co là lớn (gần với 1), thì phương pháp lặp
hội tụ rất chậm. Ví dụ 2.8 cho thấy đến lần lặp thứ 4, ta đã có nghiệm
gần đúng với 9 chữ số lẻ đáng tin sau dấu phẩy thập phân. Còn trong
ví dụ 2.9, để đạt được 4 chữ số lẻ đáng tin, ta phải cần đến khoảng
hơn 30 lần lặp. Thuật toán của phương pháp lặp đơn được thể hiện
Xét phương trình (2.1) trong khoảng cách ly nghiệm ra, bs chứa duy
nhất nghiệm chính xác p. Giả sử hàm f pxq có đạo hàm trong ra, bs. Ta
xây dựng phương pháp Newton1 bằng hình học như sau: từ điểm có
hoành độ xn´1 trên đồ thị của đường cong y “ f pxq, ta kẻ tiếp tuyến
với đường cong. Hoành độ giao điểm của tiếp tuyến với trục hoành sẽ
cho y “ 0, x “ xn ta thu được công thức xác định xn cũng là công thức
f pxn´1 q
xn “ xn´1 ´ @n “ 1, 2, 3, . . . (2.10)
f 1 pxn´1 q
Do cách xây dựng bằng hình học như vậy nên phương pháp Newton
cũng còn được gọi là phương pháp tiếp tuyến. Nói chung, sự hội tụ
của dãy lặp Newton phụ thuộc vào cách chọn giá trị lặp ban đầu x0 .
Ta có định lý sau.
Định lý 2.6. Giả sử hàm f pxq có đạo hàm đến cấp hai liên tục và các
đạo hàm f 1 pxq và f 2 pxq không đổi dấu trên đoạn ra, bs. Khi đó nếu chọn
x0 thoả điều kiện Fourier f px0 qf 2 px0 q ą 0, thì dãy lặp txn u8
n“1 xác định
theo công thức (2.10) sẽ hội tụ về nghiệm p của phương trình (2.1).
Chú ý:
: Điều kiện Fourier chỉ là điều kiện đủ, không phải là điều kiện
cần. Từ điều kiện Fourier, ta có thể đưa ra quy tắc chọn giá trị
ban đầu x0 như sau: Nếu đạo hàm cấp một và đạo hàm cấp hai
cho f 1 pcq “ 0 thì phương pháp thường dùng là chia đôi để loại bỏ
Newton có dạng
ˆ ˙
f pxn´1 q x2 ´ A 1 A
xn “ xn´1 ´ 1 “ xn´1 ´ n´1 “ xn´1 `
f pxn´1 q 2xn´1 2 xn´1
n xn ∆xn
0 1.0000000000
1 1.5000000000 1.25 ˆ 10´1
2 1.4166666667 3.48 ˆ 10´3
3 1.4142156863 3.01 ˆ 10´6
4 1.4142135624 2.26 ˆ 10´12
Ví dụ 2.11. Bây giờ xét phương trình f pxq “ x3 ´ 3x ` 1 “ 0 trong khoảng cách li
n xn ∆x n
0 0.0000000000
1 0.3333333333 1.65 ˆ 10´2
2 0.3472222222 8.70 ˆ 10´5
3 0.3472963532 2.55 ˆ 10´9
Thuật toán của phương pháp Newton được thể hiện trong Chương
trình 7.3.
BÀI TẬP
Câu 1. Tìm khoảng cách li nghiệm của các phương trình sau:
(a) x4 ´ 4x ` 1 “ 0 (e) 1 ´ x ´ e´2x “ 0
(b) ex ´x2 ` 3x ´ 2 “ 0 (f ) x4 ´ 4x3 ` 2x2 ´ 8 “ 0
(c) x cos x ´ 2x2 ` 3x ´ 1 “ 0 (g) ex ´x2 ` x “ 0
(d) 4 sin x ` 1 ´ x “ 0 (h) 3x2 ` ln x “ 0
Câu 2. Tìm sai số của nghiệm gần đúng x˚ theo công thức đánh giá
Câu 3. Sử dụng phương pháp chia đôi tìm nghiệm gần đúng x5 của
công thức đánh giá sai số tổng quát, tính sai số của nó và so sánh với
sai số tính công thức đánh giá sai số của phương pháp chia đôi.
Câu 4. Mỗi một hàm sau đây đều có cùng chung điểm bất động p “
Hãy thực hiện bốn lần lặp cho mỗi hàm gk pxq, k “ 1, 2, 3, 4 với cùng giá
trị lặp ban đầu x0 “ 1 và so sánh các kết quả với nhau. Hàm nào cho
Câu 5. Sử dụng phương pháp lặp, tìm nghiệm gần đúng với sai số
x2 ´ ex `2
(c) x “ trong đoạn r0, 1s, chọn x0 “ 0.5.
3
Câu 6. Với các phương trình dưới đây, hãy xác định khoảng cách ly
nghiệm ra, bs mà trong đó phương pháp lặp hội tụ. Đánh giá số lần lặp
cần thiết để tìm nghiệm gần đúng với sai số nhỏ hơn 10´4 . Chọn x0 là
Câu 7. Sử dụng phương pháp Newton tìm nghiệm gần đúng của các
Câu 8. Vận tốc rơi của một vật được tính theo công thức:
gm ´ c
¯
v“ 1 ´ e´ m t
c
với g “ 9.8m{s2 . Biết c “ 13.5kg{s, hãy xác định khối lượng m để cho
v “ 36m{s tại thời điểm t “ 6s. Tính đến ba chữ số đáng tin sau dấu
Câu 9. Phương trình Van der Waals đối với chất khí có dạng
´ a¯
p` pν ´ bq “ RT
ν2
với R “ 0.082054L ¨ atm{pmol ¨ Kq, a, b là các hằng số phụ thuộc vào chất
ν “ V {n là thể tích mole. Hãy xác định thể tích mole ν của hai chất
atm ở nhiệt độ 300K, 500K và 700K. Biết rằng đối với carbon dioxide ta
CHƯƠNG BA
Mục lục
3.1 Phương pháp Gauss . . . . . . . . . . . . . . . . . . . 26
3.2 Phương pháp nhân tử LU . . . . . . . . . . . . . . . 31
3.3 Phương pháp Choleski . . . . . . . . . . . . . . . . . 32
3.4 Chuẩn vectơ và chuẩn ma trận . . . . . . . . . . . . 34
3.5 Phương pháp lặp . . . . . . . . . . . . . . . . . . . . . 36
Bài tập chương 3 . . . . . . . . . . . . . . . . . . . . . . . 42
Trong chương này chúng ta nêu lên một số phương pháp dùng để
Ax “ b (3.1)
rất thường gặp trong các bài toán khoa học kĩ thuật. Ta chỉ xét hệ
giờ hệ cũng có nghiệm duy nhất x “ A´1 b. Tuy nhiên việc tìm ma trận
nghịch đảo A´1 đôi khi còn khó khăn gấp nhiều lần so với việc giải
trực tiếp hệ phương trình xuất phát. Dưới đây chúng ta sẽ xét một số
Trước khi trình bày phương pháp Gauss, chúng ta xét một số
trường hợp đơn giản khi ma trận hệ số A của hệ phương trình (3.1)
bi
xi “ , i “ 1, 2, 3, ¨ ¨ ¨ , n
aii
Trường hợp thứ hai khi ma trận hệ số A có dạng tam giác trên:
¨ ˛
a11 a12 ¨ ¨ ¨ a1n
˚ 0 a22 ¨ ¨ ¨ a2n ‹
A“˚ ˝ ¨¨¨
‹
¨¨¨ ¨¨¨ ¨¨¨ ‚
0 0 ¨ ¨ ¨ ann
Thuật toán giải hệ phương trình với ma trận tam giác được thể hiện
trong Chương trình 7.4 và 7.5. Bây giờ chúng ta sẽ trình bày phương
pháp Gauss để giải hệ phương trình tổng quát dạng (3.1). Nội dung
của phương pháp là sử dụng các phép biến đổi sơ cấp theo hàng để
chuyển về một hệ phương trình mới tương đương với hệ phương trình
: Cộng một hàng cho một hàng khác đã nhân với một số khác
không.
Do định thức của ma trận hệ số A khác không nên một trong các số
a11 , a21 , . . . , an1 phải khác không. Giả sử a11 “ 0. Lấy phương trình thứ
ak1
k với k “ 2, n trừ cho phương trình thứ nhất đã nhân với , ta được
a11
một hệ mới có dạng như sau:
$
’
’ a11 x1 ` a12 x2 ` . . . ` a1n xn “ b1
’
& p1q p1q p1q
a22 x2 ` . . . ` a2n xn “ b2
’
’ ... ... ...
’
% p1q p1q p1q
an2 x2 ` . . . ` ann xn “ bn
p1q p1q
Trong các số a22 , . . . , an2 phải có một số khác không, vì nếu ngược lại
p1q p1q
thì det A “ 0, trái với giả thiết. Giả sử a22 “ 0. Còn nếu chỉ có ap2 “ 0
p1q
và a22 “ 0 thì ta thực hiện phép hoán chuyển hai phương trình thứ 2
và thứ p. Tiếp tục biến đổi cho n ´ 2 phương trình cuối. Và cứ tiếp tục
Cuối cùng lấy hàng thứ tư cộng cho hai lần hàng thứ ba ta được:
¨ ˛
1 ´1 2 ´1 : ´8
˚ 0 2 ´1 1 : 6 ‹
Ap3q “˚
˝ 0
‹
0 ´1 ´1 : ´4 ‚
0 0 0 2 : 4
Và sử dụng công thức (3.2) ta có thể dễ dàng tìm được x “ r´7, 3, 2, 2sT .
Thuật toán giải hệ phương trình bằng phương pháp Gauss được
thể hiện trong Chương trình 7.6. Trong ví dụ 3.1 ở phần trên, ở bước
p1q
thứ hai, do a22 “ 0 nên ta phải hoán chuyển hai hàng thứ hai và thứ
ba. Để tránh trường hợp này, ta có thể cải tiến phương pháp Gauss
theo hướng như sau. Tại mỗi bước, khi chọn phần tử để biến đổi, ta
sẽ chọn phần tử có trị tuyệt đối lớn nhất, sao cho không cùng hàng và
cột với những phần tử đã chọn trước. Phần tử như vậy thường được
gọi là phần tử chính hay phần tử trội. Sau đó ta sẽ biến đổi để cho
tất cả các phần tử trên cùng cột của phần tử trội bằng không. Qua n
bước như vậy ta sẽ tìm được nghiệm dễ dàng 1 . Ta minh hoạ phương
p0q
Đầu tiên ta sẽ chọn phần tử chính là phần tử a43 “ 4 và thực hiện các phép biến đổi
Bước tiếp theo, phần tử chính được chọn không được nằm trên hàng thứ tư và cột thứ ba.
p1q
Đó là phần tử a24 “ ´21. Tiếp tục thực hiện các phép biến đổi p21h1 ´ 5h2 q, p7h3 ´
Tiếp theo phần tử chính được chọn không được nằm trên hàng thứ hai, thứ tư và cột thứ
p2q
ba, thứ tư và do đó phần tử chính sẽ là phần tử a32 “ 40. Thực hiện phép biến đổi
Cuối cùng phần tử chính không cùng nằm trên hàng và cột của những phần tử chính đã
p3q
được chọn trước là phần tử a11 “ ´56. Thực hiện các phép biến đổi ph2 ` h1 q, p7h3 `
Thuật toán giải hệ phương trình bằng phương pháp phần tử trội
được thể hiện trong Chương trình 7.7. Các phương pháp có sử dụng
các phép biến đổi sơ cấp cơ bản có ưu điểm là đơn giản, dễ lập
trình. Tuy nhiên nếu phần tử được chọn để biến đổi gần với không thì
phương pháp Gauss có thể cho kết quả không chính xác. Hơn nữa,
nếu các phép toán cộng, trừ, nhân, chia được làm đúng hoàn toàn,
thì các phương pháp trên cho chúng ta nghiệm đúng của hệ phương
trình. Tuy nhiên, khi thực hiện trên các công cụ tính toán, ta vẫn gặp
phải sai số làm tròn. Cho nên các phương pháp Gauss vẫn được xem
dưới và U là ma trận tam giác trên. Khi đó việc giải hệ phương trình
trận hệ số là các ma trận tam giác và nghiệm thu được từ các công
Định lý 3.1. Nếu A là ma trận không suy biến, thì bao giờ cũng tồn
tại một ma trận P không suy biến sao cho ma trận P A phân tích được
thành tích của ma trận tam giác dưới L và ma trận tam giác trên U ,
nghĩa là P A “ LU .
xét trường hợp ma trận L có đường chéo chính bằng 1 và gọi là phương
¨ ˛ ¨ ˛
1 0 ¨¨¨ 0 u11 u12 ¨¨¨ u1n
˚ l21 1 ¨¨¨ 0 ‹ ˚ 0 u22 ¨¨¨ u2n ‹
L“˚ ‹ và U “˚ ‹
˝ ¨¨¨ ¨¨¨ ¨¨¨ ¨¨¨ ‚ ˝ ¨¨¨ ¨¨¨ ¨¨¨ ¨¨¨ ‚
ln1 ln2 ¨¨¨ 1 0 0 ¨¨¨ unn
Các phần tử của hai ma trận L và U được xác định theo công thức
sau:
$
’
’ u1j “ a1j p1 ď j ď nq
’
’ ai1
’
’ li1 “ p2 ď i ď nq
’
& u11
ř
i´1
(3.4)
’ uij “ aij ´ lik ukj p1 ă i ď jq
’
’
’
’ ´ k“1
ř ¯
’
’ 1
% lij “ aij ´ j´1 k“1 lik ukj p1 ă j ă iq
ujj
với u11 “ 2; u12 “ 2; u13 “ ´3; l21 “ ´2; l31 “ 1; u22 “ 1; u23 “ ´2;
Do đó: ¨ ˛ ¨ ˛ ¨ ˛
1 0 0 9 9
Ly “ b ðñ ˝ ´2 1 0 ‚y “ ˝ ´15 ‚ ùñ y “ ˝ 3 ‚
1 ´1 1 3 ´3
¨ ˛ ¨ ˛ ¨ ˛
2 2 ´3 9 2
U x “ y ðñ ˝ 0 1 ´2 ‚x “ ˝ 3 ‚ ùñ x “ ˝ 1 ‚
0 0 3 ´3 ´1
Thuật toán phân rã LU được thể hiện trong Chương trình 7.8.
Đây là trường hợp đặt biệt của phương pháp nhân tử LU, và được
dùng cho trường hợp ma trận hệ số A đối xứng và xác định dương. Ma
trận vuông A được gọi là đối xứng nếu AT “ A. Nghĩa là các phần tử
của nó đối xứng với nhau qua đường chéo chính, aij “ aji , @i, j “ 1, n.
kiểm tra tính xác định dương của một ma trận, ta thường dùng định
lí sau đây.
Định lý 3.2. Một ma trận là xác định dương khi và chỉ khi tất cả các
thức con thu được từ k hàng và k cột đầu tiên của ma trận đó.
¨ ˛
1 1 ´1
Ví dụ 3.4. Xét ma trận A “ ˝ 1 2 0 ‚ có ∆1 “ |1| “ 1 ą 0, ∆2 “
´1 0 4
ˇ ˇ
ˇ ˇ ˇ 1 1 ´1 ˇ
ˇ 1 1 ˇ ˇ ˇ
ˇ ˇ ˇ 0 ˇˇ “ 2 ą 0. Do đó A là xác định dương.
ˇ 1 2 ˇ “ 1 ą 0 và ∆3 “ ˇ 1 2
ˇ ´1 0 4 ˇ
Ta có định lí Choleski:
Định lý 3.3. Ma trận A là đối xứng và xác định dương khi và chỉ khi
tồn tại một ma trận B tam giác dưới, khả đảo sao cho A “ BB T .
Khi đó ma trận tam giác dưới B có thể tìm được theo công thức
sau:
$ ? ai1
’
’ b11 “ a11 ; bi1 “ p2 ď i ď nq
’
’ d b11
’
’
& ř 2
i´1
bii “ aii ´ bik p1 ă i ď nq (3.5)
’
’ k“1
’
’ 1 ´ ř ¯
’
’
% bij “ aij ´ j´1k“1 bik bjk p1 ă j ă iq
bjj
Ví dụ 3.5. Xét hệ phương trình
¨ ˛¨ ˛ ¨ ˛
1 1 ´1 x1 1
Ax “ ˝ 1 2 0 ‚˝ x2 ‚ “ ˝ 2 ‚ “ b
´1 0 4 x3 3
¨ ˛
1 1 ´1
Vì ma trận A “ ˝ 1 2 0 ‚ là đối xứng và xác định dương, nên từ công thức
´1 0 4
(3.5) ta có thể xác định các hệ số bij , i ą j của ma trận tam giác dưới B như sau
?
b11 “ 1, b21 “ 1, b31 “ ´1, b22 “ 1, b32 “ 1, b33 “ 2
Thuật toán phân rã Choleski được thể hiện trong Chương trình
7.9. Chú ý rằng các phần tử nằm trên đường chéo chính của ma trận
B và các định thức con chính của ma trận A có mối quan hệ sau:
d
a ∆k
b11 “ ∆1 , bkk “ , pk “ 2, 3, . . . , nq
∆k´1
Xét không gian tuyến tính thực Rn . Chuẩn của vectơ x P Rn là một
(3) @x, y P Rn , }x ` y} ď }x} ` }y}. Điều kiện này thường được gọi là bất
Trong Rn có thể có rất nhiều chuẩn, tuy nhiên chúng ta chỉ xét chủ
Bây giờ chúng ta định nghĩa chuẩn ma trận tương ứng với chuẩn
vectơ.
Định nghĩa 3.1. Chuẩn ma trận tương ứng với chuẩn vectơ được xác
}Ax}
}A} “ max }Ax} “ max (3.8)
}x}“1 }x}
}x}“0
ˆ ˙
1 2
Ví dụ 3.6. Xác định chuẩn của ma trận A “ tương ứng với chuẩn một của
3 4
ˆ ˙
x1
vectơ. Với mọi x “ P R2 , sao cho }x}1 “ |x1 | ` |x2 | “ 1, ta có
x2
Do đó }A}1 “ 6.
Từ công thức (3.8) ta dễ dàng suy ra được rằng: }Ax} ď }A} }x}
Định lý 3.4. Chuẩn ma trận theo công thức (3.8) tương ứng với chuẩn
n
ÿ
}A}8 “ max |aij | (3.10)
1ďiďn
j“1
Định nghĩa 3.2. Xét dãy các vectơ txpmq u8m“0 với x
pmq P Rn . Ta nói dãy
› ›
các vectơ này hội tụ về vectơ x khi m Ñ `8 nếu và chỉ nếu ›xpmq ´ x› Ñ 0
Khi đó ta kí hiệu lim xpmq “ x và chuẩn có thể lấy một chuẩn bất
mÑ8
kì trong các công thức (3.6) hoặc (3.7). Ta cũng có thể nói dãy vectơ
Cho b một số gia ∆b, khi đó nghiệm x tương ứng sẽ có số gia là ∆x, và
và
}∆x} › › }∆b}
ď }A} . ›A´1 ›
}x} }b}
Số
› ›
kpAq “ }A} . ›A´1 › (3.11)
được gọi là số điều kiện của ma trận A. Ta có thể chứng tỏ được rằng
1 ď kpAq ď `8
Số điều kiện của ma trận đặc trưng cho tính ổn định của hệ thống
phương trình đại số tuyến tính. Giá trị của kpAq càng gần với 1 thì hệ
càng ổn định. Số điều kiện càng lớn thì hệ càng mất ổn định.
ˆ ˙ ˆ ˙
1 2 3
Ví dụ 3.7. Xét hệ phương trình Ax “ b với A “ và b “ . Dễ
1 2.01 3.01
ˆ ˙ ˆ ˙
1 3
thấy hệ có nghiệm là x “ . Bây giờ xét hệ Ax̃ “ b̃ với b̃ “ . Nghiệm
1 3.1
ˆ ˙
´17
của hệ bây giờ là x̃ “ . Ta nhận thấy k8 pAq “ 1207.01 " 1. Do đó b « b̃,
10
nhưng x và x̃ khác nhau rất xa.
Kỹ thuật lặp dùng để giải hệ phương trình đại số tuyến tính (3.1)
cũng tương tự như phương pháp lặp đã xét trong chương 2. Muốn
một ma trận vuông cấp n và c là một vectơ đã biết. Xuất phát từ vectơ
lặp
Định lý 3.5. Nếu }T } ă 1 thì dãy lặp các vectơ xác định theo công thức
(3.12) sẽ hội tụ về nghiệm x của hệ với mọi vectơ lặp ban đầu xp0q . Khi
› › }T }m ›› p1q ›
› pmq › p0q ›
›x ´ x › ď ›x ´ x › (3.13)
1 ´ }T }
› › }T } ›› pmq ›
› pmq › ›
›x ´ x› ď ›x ´ xpm´1q › (3.14)
1 ´ }T }
Định nghĩa 3.3. Ma trận A được gọi là ma trận đường chéo trội nghiêm
n
ÿ
|aij | ă |aii | (3.15)
j“1
j“i
trình (3.1) với A là ma trận đường chéo trội nghiêm ngặt. Ta phân tích
Ax “ b ðñ pD ´ L ´ U qx “ b (3.16)
Bây giờ chúng ta sẽ xét một vài phương pháp để chuyển hệ phương
Phương pháp lặp dựa trên công thức lặp (3.17) được gọi là phương
pháp Jacobi. Dạng tường minh của công thức (3.17) như sau:
˜ ¸
i´1
ÿ ÿn
pmq 1 pm´1q pm´1q
xi “ ´ aij xj ´ aij xj ` bi (3.18)
aii j“1 j“i`1
với i “ 1, 2, . . . , n. Ta có
ř
n
|aij |
› › n ˇˇ
ÿ ˇ
ˇ
j“1
}TJ }8 “ ›D´1 pL ` U q›8 “ max ˇ aij ˇ “ max j“i ă1
i“1,n
ˇ aii ˇ i“1,n |aii |
j“1
j“i
phương pháp Jacobi luôn hội tụ với mọi vectơ lặp ban đầu xp0q .
Với vectơ lặp ban đầu xp0q “ p0, 0, 0qT , hãy tính vectơ xp3q và đánh giá sai số của nó.
Ta có » fi » fi
0.0 ´0.1 0.1 0.7
Tj “ – ´0.1 0.0 ´0.1 fl và cj “ – 0.8 fl
0.1 ´0.1 0.0 0.9
Do đó: » fi » fi
0.7 0.71
xp1q “ Tj xp0q ` cj “ – 0.8 fl; xp2q “ Tj xp1q ` cj “ – 0.64 fl;
0.9 0.89
» fi
0.725
xp3q “ Tj xp2q ` cj “ – 0.640 fl. Ta có }Tj }8 “ 0.2. Vì vậy
0.907
› › 0.2 ›› p3q ›
› p3q › ›
›x ´ x› ď ›x ´ xp2q › “ 0.0043
8 1 ´ 0.2 8
m 6 7 8 9 10
pmq
x1 1.0032 0.9981 1.0006 0.9997 1.0001
pmq
x2 1.9922 2.0023 1.9987 2.0004 1.9998
pmq
x3 ´0.9945 ´1.0020 ´0.9990 ´1.0004 ´0.9998
pmq
x4 0.9944 1.0036 0.9989 1.0006 0.9998
Phương pháp lặp Jacobi được thể hiện trong Chương trình
7.10. Trong công thức (3.18), để tính các toạ độ của vectơ lặp
xpmq , chúng ta chỉ sử dụng các toạ độ của xpm´1q . Tuy nhiên với
pmq pmq pmq
i ą 1, x1 , x2 , . . . , xi´1 đã được tính và xấp xỉ nghiệm chính xác
pm´1q pm´1q pm´1q pmq
x1 , x2 , . . . , xi´1 tốt hơn x1 , x2 , . . . , xi´1 . Do đó khi tính xi
pmq pmq pmq
chúng ta nên sử dụng các giá trị vừa tính xong x1 , x2 , . . . , xi´1 .
Ta thu được
˜ ¸
i´1
ÿ n
ÿ
pmq 1 pmq pm´1q
xi “ ´ aij xj ´ aij xj ` bi (3.19)
aii j“1 j“i`1
lặp Gauss-Seidel. Bây giờ ta sẽ viết dạng ma trận của phương pháp
Gauss-Seidel.
xpmq “ Tg xpm´1q ` cg , m “ 1, 2, 3, . . .
Chọn x0 “ r0, 0, 0, 0sT . Bảng sau đây cho chúng ta kết quả tính toán sau 5 lần lặp.
m 1 2 3 4 5
pmq
x1 0.6000 1.0300 1.0065 1.0009 1.0001
pmq
x2 2.3272 2.0370 2.0036 2.0003 2.0000
pmq
x3 ´0.9873 ´1.0140 ´1.0025 ´1.0003 ´1.0000
pmq
x4 0.8789 0.9844 0.9983 0.9999 1.0000
Ta thấy đến lần lặp thứ năm, nghiệm thu được bằng phương pháp
Gauss-Seidel tốt hơn nhiều so với phương pháp Jacobi. Phương pháp
BÀI TẬP
Câu 1. Sử dụng phương pháp phần tử trội giải các hệ phương trình
sau:
$
& x1 ` 2x2 ` 4x3 “ 3
’
(a) 2x1 ` 5x2 ` 3x3 “ 5
’
%
x1 ` 4x2 ` 6x3 “ 6
$
’
’ 3x1 ` 2x2 ` 5x3 ` x4 “ 1
’
’
& 2x ` 6x2 ` 3x3 ` 2x4 “ 2
1
(b)
’
’ x1 ` 4x2 ` x3 ` 3x4 “ 3
’
’
% 5x ` 2x2 ` 2x3 ` x4 “ 4
1
Câu 4. Tính số điều kiện theo chuẩn 1 và chuẩn 8 của các ma trận
sau:
» fi » fi
1 5 7 2 ´2 1
(a) A “ – 3 3 5 fl (b) A “ – 3 ´5 4 fl
2 1 8 4 ´1 3
sau:
#
5x1 ´ 2x2 “ 2.55
(a)
2x1 ` 4x2 “ 3.16
#
12.35x1 ` 4.14x2 “ 11.87
(b)
5.93x1 ` 13.72x2 “ 17.64
$
& 8x1 ` 2x2 ´ x3 “ 4
’
(c) x1 ` 9x2 ´ 2x3 “ 8
’
%
2x1 ` 2x2 ` 11x3 “ 9
$
& 3.47x1 ` 0.55x2 ` 0.21x3
’ “ 1.25
(d) 0.33x1 ` 4.12x2 ` 0.18x3 “ 2.45
’
%
0.45x1 ` 0.16x2 ` 3.98x3 “ 2.06
$
’
’ 15x1 ´ 2x2 ` 3x3 ´ x4 “ 18
’
’
& 2x ` 16x ´ 3x ` 2x4 “ 20
1 2 3
(e)
’
’ ´x1 ` 4x2 ` 17x3 ` 3x4 “ 16
’
’
% 3x ´ 2x ` x3 ` 18x4 “ 24
1 2
Câu 6. Sử dụng phương pháp Gauss-Seidel tìm vectơ lặp xp3q của các
CHƯƠNG BỐN
Mục lục
4.1 Đa thức nội suy Lagrange . . . . . . . . . . . . . . . 45
4.2 Đa thức nội suy Newton . . . . . . . . . . . . . . . . 49
4.3 Spline bậc ba . . . . . . . . . . . . . . . . . . . . . . . 52
4.4 Bài toán xấp xỉ hàm thực nghiệm . . . . . . . . . . 57
Bài tập chương 4 . . . . . . . . . . . . . . . . . . . . . . . 59
Trong chương này chúng ta sẽ xét hàm y “ f pxq cho dưới dạng
bảng số
x x0 x1 x2 ¨ ¨ ¨ xn
(4.1)
y y0 y1 y2 ¨ ¨ ¨ yn
điểm nút (mốc) và được sắp theo thứ tự tăng dần theo chỉ số k, còn
các giá trị yk “ f pxk q, k “ 0, n là giá trị cho trước của hàm tương ứng
tại xk . Bài toán đặt ra là hãy xây dựng một đa thức P pxq thoả điều kiện
P pxk q “ yk , k “ 0, n và được gọi là đa thức nội suy của hàm f pxq. Về mặt
hình học, trong mặt phẳng xOy cho một tập các điểm tMk pxk , yk qunk“0 ,
cần xây dựng một đường cong đa thức đi qua các điểm đã cho. Nói
chung có thể tồn tại nhiều đa thức như vậy. Tuy nhiên nếu bậc của
đa thức P pxq là nhỏ hơn hay bằng n thì ta có thể chứng minh rằng sự
Xét bảng số (4.1) của hàm f pxq với n ě 1. Chúng ta sẽ tìm đa thức
nội suy Ln pxq có bậc nhỏ hơn hay bằng n của hàm f pxq trên rx0 , xn s
gọi là đa thức nội suy Lagrange. Trước tiên ta xây dựng các đa thức
pkq
phụ pn pxq, k “ 0, n có bậc bằng n và thoả điều kiện
"
pkq 1, j“k
pn pxj q “
0, j “ k
pkq
Do các đa thức pn pxq có n nghiệm x0 , . . . , xk´1 , xk`1 , . . . , xn và có bậc
nhỏ hơn hay bằng n nên ta có thể viết chúng dưới dạng:
pkq
với Ck là hằng số. Từ điều kiện pn pxk q “ 1, ta thu được:
1
Ck “
pxk ´ x0 q . . . pxk ´ xk´1 qpxk ´ xk`1 q . . . pxk ´ xn q
Khi đó ta có:
Dễ dàng kiểm tra rằng đa thức xây dựng theo công thức (4.2) thoả tất
Do đó
1 1 1 7 19
L2 pxq “ px2 ´ 4x ` 3q ` px2 ´ 3xq ` px2 ´ xq “ x2 ´ x ` 1
3 2 3 6 6
là đa thức Lagrange cần tìm. Bây giờ để xấp xỉ giá trị của hàm tại một điểm nào đó trong
7 19 2
yp2q « L2 p2q “ 22 ´ 2 ` 1 “ ´
6 6 3
ωpxq “ px ´ x0 qpx ´ x1 q . . . px ´ xn q
pkq
Khi ấy các đa thức phụ pn pxq có dạng
ωpxq
ppkq
n pxq “
ω 1 pxk qpx ´ xk q
Chúng ta có thể sử dụng công thức (4.3) để xây dựng đa thức La-
x x0 x1 ... xn
x0 x ´ x0 x0 ´ x1 ... x 0 ´ xn D0
x1 x 1 ´ x 0 x ´ x1 ... x 1 ´ xn D1
... ... ... ... ... ...
xn x n ´ x 0 x n ´ x1 ... x ´ xn Dn
ωpxq
Ta có thể xem bảng số trên như một ma trận vuông cấp n ` 1 với các
hàng và cột được đánh số bởi x0 , x1 , . . . , xn . Tại các vị trí trên đường
chéo chính ứng với phần tử xi ta điền biểu thức x ´ xi . Còn tại các vị
trí ở hàng xi , cột xj ta điền giá trị xi ´ xj . Khi đó tích các phần tử nằm
trên cùng một hàng tương ứng với mẫu số trong tổng của công thức
nằm trên đường chéo chính là ωpxq. Khi đó đa thức Lagrange sẽ là:
ÿn
yk
Ln pxq “ ωpxq
k“0
Dk
x 0 1 3 4
Ví dụ 4.2. Cho bảng số . Sử dụng đa thức Lagrange, tính gần đúng
y 1 1 2 ´1
giá trị của hàm tại x “ 2. Ta thành lập bảng sau:
x“2 0 1 3 4
0 2 ´1 ´3 ´4 ´24
1 1 1 ´2 ´3 6
3 3 2 ´1 ´1 6
4 4 3 1 ´2 ´24
4
Do đó
ˆ ˙
1 1 1 1
yp2q « L3 p2q “ 4 ´ ` ` ` “2
24 6 3 24
Thuật toán sử dụng đa thức nội suy Lagrange để tính gần đúng
giá trị của hàm được thể hiện trong Chương trình 7.13. Đặc biệt khi
các điểm nút cách đều với bước h “ xk`1 ´ xk “ const , @k. Nghĩa là
x ´ x0
xk “ x0 ` kh. Đặt q “ , ta thu được
h
x ´ xk “ pq ´ kqh, xi ´ xj “ pi ´ jqh
và
ωpxq “ qpq ´ 1q . . . pq ´ nqhn`1
ω 1 pxk q “ p´1qn´k k!pn ´ kq!hn
ÿn
p´1qn´k qpq ´ 1q . . . pq ´ nq
Ln pxq “ yk (4.4)
k“0
k!pn ´ kq!pq ´ kq
Bây giờ ta nêu công thức đánh giá sai số của đa thức nội suy La-
grange. Giả sử hàm f pxq có đạo hàm đến cấp n ` 1 liên tục trên đoạn
ra, bs, được cho dưới dạng bảng số (4.1) với yk “ f pxk q, @k “ 0, n. Lấy
Vì Ln pxq, ωpxq là các đa thức và f pxq có đạo hàm đến cấp n ` 1 liên
tục nên F pxq cũng có đạo hàm đến cấp n ` 1 liên tục. Ta nhận thấy
dụng định lí Rolle n ` 1 lần trên đoạn [a, b] ta sẽ có một điểm ξ P ra, bs
f pn`1q pξq
f px̄q “ Ln px̄q ` ωpx̄q (4.6)
pn ` 1q!
0, n thì công thức (4.6) vẫn đúng, do đó công thức (4.6) là đúng với
mọi x̄ P ra, bs. Trong công thức (4.6), thay x̄ bằng x và đặt Mn`1 “
ˇ ˇ
max ˇf pn`1q pxqˇ. Khi đó sai số giữa hàm f pxq và đa thức Lagrange nội
xPra,bs
suy bảng (4.1) được đánh giá theo công thức sau
Mn`1
|f pxq ´ Ln pxq| ď |ωpxq| (4.7)
pn ` 1q!
Ví dụ 4.3. Xét hàm f pxq “ 2x trong đoạn r0, 1s. Để tính gần đúng giá trị của hàm
tại x “ 0.45, ta sử dụng đa thức Lagrange với các điểm nút nội suy x0 “ 0, x1 “
0.25, x2 “ 0.5, x3 “ 0.75, x4 “ 1. Khi đó sai số mắc phải được xác định như sau. Ta
ˇ ˇ
có n “ 4, f p5q pxq “ pln 2q5 2x cho nên M5 “ max ˇf p5q pxqˇ “ 2pln 2q5 . Như vậy
xPr0,1s
2pln 2q5
|2x ´ L4 p0.45q| ď p0.45qp0.20qp0.05qp0.30qp0.55q « 0.2 ˆ 10´5
5!
Xét bảng số (4.1) của hàm số f pxq trên đoạn ra, bs “ rx0 , xn s. Trên
quy nạp, ta có thể định nghĩa tỉ sai phân cấp p của hàm trên đoạn
f rxk , xk`1 s “ f rxk`1 , xk s. Hơn nữa, tỉ sai phân cấp n của đa thức bậc
n là hằng số và tỉ sai phân cấp lớn hơn n của đa thức cấp n bằng
không. Thông thường, để tính tỉ sai phân của hàm số ta thành lập
bảng được gọi là bảng tỉ sai phân. Để minh họa ta xét ví dụ sau.
Ví dụ, tỉ sai phân cấp hai của hàm trên đoạn r1.0, 1.6s là f r1.0, 1.3, 1.6s “ ´0.17.
Bây giờ ta sẽ xây dựng đa thức Nn pxq bậc không cao hơn n thoả
Nn pxk q “ yk , @k “ 0, n. Theo định nghĩa của tỉ sai phân cấp một của
f pxq ´ y0
hàm f pxq: f rx, x0 s “ . Do đó: f pxq “ y0 ` px ´ x0 qf rx, x0 s. Lại
x ´ x0
dùng định nghĩa của tỉ sai phân cấp hai của hàm f pxq:
f rx, x0 s ´ f rx0 , x1 s
f rx, x0 , x1 s “
x ´ x1
ta được
Tiếp tục quá trình trên đến bước thứ n ta thu được
Đặt
p1q
Nn pxq “ y0 ` f rx0 , x1 spx ´ x0 q ` f rx0 , x1 , x2 spx ´ x0 qpx ´ x1 q`
(4.8)
` ¨ ¨ ¨ ` f rx0 , x1 , . . . , xn spx ´ x0 qpx ´ x1 q . . . px ´ xn´1 q
và
ta được
Công thức (4.8) được gọi là công thức Newton tiến xuất phát từ điểm
nút x0 của hàm số f pxq và Rn pxq là sai số của đa thức nội suy Newton.
Bằng cách làm tương tự, ta có thể xây dựng công thức Newton lùi
Do tính duy nhất của đa thức nội suy, ta có với cùng một bảng số thì
Vì vậy ta có thể sử dụng công thức (4.7) để đánh giá sai số của các
Như vậy giá trị gần đúng của hàm tại x “ 0.12 được tính
p1q
yp0.12q « N3 p0.12q
“ 2.0000 ` 0.8663p0.12q ` 0.2950p0.12qp0.18q`
`0.2786p0.12qp0.18qp0.58q « 2.1138
Tương tự như trường hợp của công thức nội suy Lagrange, chúng
ta xét trường hợp các điểm nút cách đều với bước h. Muốn thế ta đưa
vào khái niệm sau. Đại lượng ∆yk “ yk`1 ´ yk được gọi là sai phân hữu
hạn cấp 1 của hàm tại điểm xk . Tương tự ta có thể định nghĩa sai
phân hữu hạn cấp p của hàm tại điểm xk như sau ∆p yk “ ∆p∆p´1 yk q.
Ta có thể dễ dàng chứng minh bằng quy nạp công thức sau, thể hiện
mối quan hệ giữa khái niệm tỉ sai phân và sai phân hữu hạn:
∆p y k
f rxk , xk`1 , . . . , xk`p s “
p!hp
Khi đó các công thức (4.8) và (4.9) sẽ có dạng
p1q ∆y0 ∆2 y 0
Nn pxq “ y0 ` q` qpq ´ 1q ` ¨ ¨ ¨ `
1! 2! (4.10)
∆n y 0
` qpq ´ 1q . . . pq ´ n ` 1q
n!
x ´ x0
với q “ và
h
p2q ∆yn´1 ∆2 yn´2
Nn pxq “ yn ` p` ppp ` 1q ` ¨ ¨ ¨ `
n 1! 2! (4.11)
∆ y0
` ppp ` 1q . . . pp ` n ´ 1q
n!
x ´ xn
với p “ .
h
Ví dụ 4.6. Sử dụng bảng giá trị của hàm sin lượng giác với bước h “ 5o , tính gần đúng
xk f pxk q ∆ ∆2 ∆3
30o 0.5000 0.0736 ´0.0044 ´0.0005
35o 0.5736 0.0692 ´0.0049
40o 0.6428 0.0643
45o 0.7071
32 ´ 30
và q “ “ 0.4. Khi đó theo công thức (4.10) ta đượcsin 32o « 0.5303.
5
Việc xây dựng một đa thức đi qua các điểm nội suy cho trước trong
trường hợp n lớn là rất khó khăn và khó ứng dụng. Một trong những
cách khắc phục là trên từng đoạn liên tiếp của các cặp điểm nút nội
suy ta nối chúng lại bởi các đường cong đơn giản như đoạn thẳng
chẳng hạn. Tuy nhiên khi đó tại các điểm nút hàm sẽ mất tính khả
vi. Do đó người ta cố gắng xây dựng một đường cong bằng cách nối
các đoạn cong nhỏ lại với nhau sao cho vẫn bảo toàn tính khả vi
của hàm. Đường cong như vậy được gọi là đường spline (đường ghép
trơn). Các hàm trên các đoạn nhỏ thông thường là các đa thức và bậc
cao nhất của các đa thức đó là bậc của spline. Trong phần này chúng
Định nghĩa 4.1. Cho hàm f pxq xác định trên đoạn ra, bs và một phép
0, 1, . . . , n. Một spline bậc ba nội suy hàm f pxq trên ra, bs là hàm gpxq thoả
(a) gpxq có đạo hàm đến cấp hai liên tục trên đoạn ra, bs.
Dựa trên định nghĩa này, ta đi tìm công thức xác định spline bậc
gk pxq “ ak ` bk px ´ xk q ` ck px ´ xk q2 ` dk px ´ xk q3
Từ đây ta được
$
’ y ´ yk
& bk “ k`1 ´ ck hk ´ dk h2k , @k “ 0, 1, . . . , n ´ 1
hk (4.12)
’ y ´ yk´1
% bk´1 “ k ´ ck´1 hk´1 ´ dk´1 h2k´1 , @k “ 1, . . . , n
hk´1
trong đó phương trình thứ hai thu được từ phương trình thứ nhất
kiện gk´1
2 px q “ g 2 px q ta thu được:
k k k
$
’ c ´ ck
& dk “ k`1 ,
3hk (4.13)
’ c ´ ck´1 @k “ 1, 2, . . . , n ´ 1
% dk´1 “ k
3hk´1
Thay các đại lượng đã biết trong (4.13) và (4.14) vào biểu thức trên ta
Khi đó từ các công thức (4.14), (4.13) và ak “ yk ta có thể xác định tất
số điều kiện, và thông thường các điều kiện đó là các điều kiện biên.
4.3.1 SPLINE BẬC BA TỰ NHIÊN
Điều kiện để xác định một spline bậc ba tự nhiên là: g 2 paq “ g 2 pbq “ 0.
toán xác định spline bậc ba tự nhiên như sau: giải hệ AC “ B với A là
Ta có:
¨ ˛
1 0 0 ... 0 0
˚ h0 2ph0 ` h1 q h1 ... 0 0 ‹
˚ ‹
˚ 0 h1 2ph1 ` h2 q ... 0 0 ‹
A“˚
˚
‹
‹
˚ ... ... ... ... ... ... ‹
˝ 0 0 0 ... 2phn´2 ` hn´1 q hn´1 ‚
0 0 0 ... 0 1
và ¨ ˛
0
˚ y2 ´ y1 y1 ´ y0 ‹
˚ 3 ´3 ‹
˚ h1 h0 ‹
˚ ‹
B“˚ ......... ‹
˚ yn ´ yn´1 yn´1 ´ yn´2 ‹
˚ 3 ´3 ‹
˝ hn´1 hn´2 ‚
0
Sau khi tìm được tất cả các giá trị của c0 , c1 , c2 , . . . , cn´1 , cn , các hệ số
x 0 2 5
Ví dụ 4.7. Xây dựng spline bậc ba tự nhiên nội suy bảng số: . Ta có
y 1 1 4
n “ 2, h0 “ 2, h1 “ 3. Do là spline tự nhiên nên c0 “ c2 “ 0. Hệ số c1 còn lại được
y2 ´ y1 y1 ´ y0 3
2ph0 ` h1 qc1 “ 3 ´3 ñ c1 “
h1 h0 10
phương trình:
ˆ ˙ˆ ˙ ˆ ˙
4 1 c1 3 2 7
“ ùñ c1 “ , c2 “
1 4 c2 6 5 5
13 2 19 1
Do đó: a0 “ 1, b0 “ , d0 “ ; a1 “ 2, b1 “ , d1 “ ; a2 “ 4, b2 “
15 15 15 3
46 7
, d2 “ ´ . Và spline cần tìm có dạng:
15 15
$
’ 13 2
’
’ 1 ` x ` x3 , 0ďxď1
’
’ 15 15
&
19 2 1
gpxq “ 2 ` px ´ 1q ` px ´ 1q2 ` px ´ 1q3 , 1 ď x ď 2
’
’ 15 5 3
’
’
’ 46
% 4 ` px ´ 2q ` px ´ 2q2 ´ 7 px ´ 2q3 , 2 ď x ď 3
7
15 5 15
Thuật toán xây dựng spline bậc ba tự nhiên được thể hiện trong
Điều kiện để xác định spline bậc ba ràng buộc là: g 1 paq “ α, g 1 pbq “ β.
Sau khi tìm được các hệ số ck , các hệ số ak ,bk và dk cũng xác định
theo công thức (4.16) tương tự như trường hợp của spline bậc ba tự
nhiên.
x 0 1
Ví dụ 4.9. Xây dựng spline bậc ba ràng buộc nội suy bảng số: , thoả điều kiện
y 1 1
y 1 p0q “ 1, y 1 p1q “ 1. Ta có n “ 1, h0 “ 1. Từ đây ta được c0 “ ´3, c1 “ 3. Do
x P r0, 1s.
x 0 1 2
Ví dụ 4.10. Xây dựng spline bậc ba ràng buộc nội suy bảng số: thoả
y 1 2 1
điều kiện y 1 p0q “ 0, y 1 p2q “ 0. Ta có n “ 2, h0 “ h1 “ 1, α “ β “ 0, do đó hệ
Thuật toán xây dựng spline bậc ba ràng buộc được thể hiện trong
Trong mặt phẳng xOy cho tập các điểm tMk pxk , yk qunk“1 , trong đó có
ít nhất hai điểm nút xi và xj khác nhau với i “ j và n là rất lớn. Khi đó
việc xây dựng một đường cong đi qua tất cả những điểm đã cho không
có ý nghĩa thực tế. Thay vào đó chúng ta sẽ tìm một hàm f pxq đơn giản
sao cho nó thể hiện tốt nhất dáng điệu của tập điểm tMk pxk , yk qunk“1
và không nhất thiết đi ngang qua các điểm đó. Có nhiều phương pháp
để giải quyết vấn đề trên, và một trong những phương pháp như vậy
là phương pháp bình phương bé nhất. Nội dung của phương pháp là
Dạng của hàm cần xác định f pxq phụ thuộc vào nhiều yếu tố. Tuy
nhiên, các dạng đơn giản nhất thường gặp trong thực tế là: f pxq “
f pxq “ AxB , . . . . Nghĩa là để xác định f pxq ta cần xác định các hệ
xét trường hợp thường gặp sau đây với f pxq “ Appxq ` Bqpxq. Khi đó
Bài toán quy về việc tìm cực tiểu của hàm hai biến gpA, Bq. Toạ độ
Sau khi đơn giản, ta thu được hệ hai phương trình với hai ẩn A và B.
$ ˆ n ˙ ˆ n ˙ ˆ n ˙
’ ř 2 ř ř
’
& p pxk q A ` ppxk qqpxk q B “ ppxk qyk
ˆ n k“1 ˙ ˆk“1 ˙ ˆ k“1 ˙ (4.18)
’ ř ř
n ř
n
’
% ppx k qqpx k q A ` q 2 px q B
k “ qpx qy
k k
k“1 k“1 k“1
Theo giả thiết của bài toán và bất đẳng thức Cauchy, ta có định thức
của ma trận hệ số luôn khác không, nên hệ phương trình (4.18) lúc
x 1 1 2 2 2 3 3 4 5 6
y 1 2 2 3 4 4 5 5 6 7
ř
m
Trường hợp cần xấp xỉ bảng số bởi đa thức bậc m: Pm pxq “ Ak xk ,
k“0
ta có hệ phương trình dùng để xác định các hệ số A0 , A1 , . . . , Am như
sau:
$ ˆ n ˙ ˆ n ˙
’ ř ř m ř
n
’
’ mA 0 ` x k A 1 ` ¨ ¨ ¨ ` x Am “ yk
’
’ k
’
’ ˆ n ˙ ˆk“0 ˙ ˆ k“0 ˙ k“0
’
& ř ř
n ř
n ř
n
xk A0 ` x2k A1 ` ¨ ¨ ¨ ` xm`1
k Am “ xk y k
k“0 k“0 k“0 k“0
’
’
’
’
’ ˆ n ˙. . . ˆ n ˙. . . ˆ n .˙
..... ...
’
’ ř ř ř ř
n
’
% xm A0 ` m`1
xk A1 ` ¨ ¨ ¨ ` x2m Am “ xm
k k k yk
k“0 k“0 k“0 k“0
BÀI TẬP
Câu 1. Xây dựng đa thức nội suy Lagrange đối với các bảng số sau:
x 2 3 5 x 0.3 0.5 0.8
(a) (b)
y 3 1 4 y 1.25 1.47 1.88
x 0 1 3 4 x 1.2 1.4 1.6 1.8
(c) (d)
y 3 2 1 5 y 2.25 3.16 3.78 4.55
Câu 2. Sử dụng đa thức nội suy Lagrange hãy xấp xỉ giá trị của hàm
f pxq tại x˚ với các điểm nút đã cho. Lấy 4 chữ số lẻ sau dấu phảy thập
x0 “ 1 f px0 q “?
f rx0 , x1 s “?
x1 “ 3 f px1 q “? f rx0 , x1 , x2 s “ 1
f rx1 , x2 s “ 2
x2 “ 4 f px2 q “ 6
Câu 4. Làm các bài trong câu 1 sử dụng đa thức nội suy Newton tiến.
Câu 5. Xây dựng spline bậc ba tự nhiên nội suy các bảng số:
x 0 2 3 x 1 2 3 4
(a) (b)
y 2 1 1 y 2 2 1 4
Câu 8. Xây dựng spline bậc ba gpxq nội suy các bảng số và thoả các
x 1 2 3 4 5 6 7
y 1.02 3.96 8.55 16.01 25.30 35.87 48.58
CHƯƠNG NĂM
Mục lục
5.1 Tính gần đúng đạo hàm . . . . . . . . . . . . . . . . 62
5.2 Công thức Newton-Cotes . . . . . . . . . . . . . . . . 64
Bài tập chương 5 . . . . . . . . . . . . . . . . . . . . . . . 68
Trong phần này ta đưa ra các công thức xấp xỉ các đạo hàm cấp
một và cấp hai của hàm y “ f pxq dựa vào các giá trị rời rạc yk của hàm
tại các điểm nút xk . Trước tiên ta xây dựng đa thức nội suy Lagrange
Xét trường hợp đơn giản với bảng số có ba điểm nút cách đều:
x x0 ´ h x0 x0 ` h
y f px0 ´ hq f px0 q f px0 ` hq
Đây là trường hợp thường dùng để xấp xỉ các đạo hàm. Đa thức
Lagrange có dạng:
px ´ x0 ` hqpx ´ x0 q px ´ x0 ` hqpx ´ x0 ´ hq
Lpxq “ 2
f px0 ` hq ´ f px0 q `
2h h2
px ´ x0 qpx ´ x0 ´ hq
` f px0 ´ hq
2h2
Khi đó
x ´ x0 ` h x ´ x0
L1 pxq “ pf px0 ` hq ´ 2f px0 q ` pf px0 ` hq ` f px0 ´ hqq `
2h2 2h2
x ´ x0 ´ h
` pf px0 ` hq ´ 2f px0 qq, (5.1)
2h2
Từ (5.1) ta được
$
’
’ ´3f px0 ´ hq ` 4f px0 q ´ f px0 ` hq
’
’ f 1 px0 ´ hq « L1 px0 ´ hq “
’
’ 2h
&
f px0 ` hq ´ f px0 ´ hq
f 1 px0 q « L1 px0 q “
’
’ 2h
’
’
’
’ f px0 ´ hq ´ 4f px0 q ` 3f px0 ` hq
% f 1 px0 ` hq « L1 px0 ` hq “
2h
Công thức thứ nhất và thứ ba được gọi là các công thức sai phân tiến
và lùi, còn công thức thứ hai được gọi là công thức sai phân hướng
tâm. Đối với đạo hàm cấp hai, ta dùng công thức (5.2) để xấp xỉ tại
Ví dụ 5.1. Sử dụng công thức sai phân hướng tâm tính đạo hàm cấp một và cấp hai của
2
hàm f pxq “ x e´x tại x0 “ 1 với những giá trị khác nhau của h cho ta bảng sau:
h f 1 p1q f 2 p1q
0.200 ´0.343802 ´0.740291
0.150 ´0.354226 ´0.738399
0.100 ´0.361776 ´0.736962
0.050 ´0.366348 ´0.736064
0.010 ´0.367818 ´0.735771
0.005 ´0.367864 ´0.735761
0.001 ´0.367878 ´0.735759
Giá trị chính xác viết đến sáu chữ số sau dấu chấm thập phân là f 1 p1q “ ´0.367879 và
f 2 p1q “ ´0.735758.
Trường hợp bảng số có năm điểm nút cách đều, bằng cách làm
tương tự, ta thu được công thức xấp xỉ đạo hàm cấp một như sau:
Mục đích của phần này là tính gần đúng tích phân xác định
żb
I“ f pxq dx, (5.3)
a
với f pxq là hàm xác định và khả tích trên ra, bs. Ý tưởng xuất phát
từ việc xấp xỉ hàm f pxq trên đoạn ra, bs bởi đa thức nội suy Lagrange
Ln pxq và
żb żb
I“ f pxq dx « I “ ˚
Ln pxq dx. (5.4)
a a
b´a
Xét một phép phân hoạch đều của đoạn ra, bs: h “ , x0 “ a,
n
xk “ x0 ` kh, @k “ 0, n. Ta xây dựng đa thức nội suy Lagrange Ln pxq
xấp xỉ hàm f pxq trên đoạn ra, bs xác định theo công thức (4.4) trong
Thay biểu thức (4.4) vào công thức xấp xỉ (5.4) và sử dụng phép
x ´ x0
đổi biến q “ , ta thu được
h
żb n
ÿ
I“ f pxqdx « I “ pb ´ aq ˚
Hk yk , (5.5)
a k“0
ở đây
żn
p´1qn´k qpq ´ 1q . . . pq ´ nq
Hk “ dq, k “ 0, n (5.6)
nk!pn ´ kq! q´k
0
Công thức (5.5) được gọi là công thức Newton-Cotes và các hệ số (5.6)
được gọi là các hệ số Cotes. Hệ số Cotes có các tính chất sau đây.
n
ÿ
Hk “ H0 ` H1 ` ¨ ¨ ¨ ` Hn “ 1 (5.7a)
k“0
Hk “ Hn´k , @k “ 0, n (5.7b)
Đối với công thức đánh giá sai số của công thức Newton-Cotes, ta có
định lí sau.
Bây giờ ta sẽ xét một vài trường hợp thường dùng của công thức
Newton-Cotes.
5.2.1 CÔNG THỨC HÌNH THANG
và được gọi là công thức hình thang. Ý nghĩa hình học của công thức
(5.9) là: tích phân (5.3) biểu diễn diện tích của hình thang cong tạo
(5.9), diện tích này được xấp xỉ bởi diện tích hình thang vuông.
Trong công thức đánh giá sai số (5.8a) của công thức Newton-
Trong thực tế, công thức (5.9) ít được sử dụng trực tiếp. Thông thường
ta chia nhỏ đoạn ra, bs và áp dụng công thức hình thang trên từng
đoạn nhỏ. Cụ thể, chia đoạn [a, b] thành n đoạn bằng nhau với bước
b´a
chia h “ ; các điểm chia x0 “ a, xk “ x0 ` kh, yk “ f pxk q, k “ 0, n
n
và sử dụng công thức (5.9) cho từng đoạn nhỏ, ta thu được:
żb ´y
0 yn ¯
I“ f pxqdx « I ˚ “ h ` y1 ` y2 ` ¨ ¨ ¨ ` yn´1 ` (5.11)
2 2
a
Công thức (5.11) được gọi là công thức hình thang mở rộng. Từ công
thức (5.10) ta thu được công thức đánh giá sai số của công thức
(5.11).
h2 M2
|I ´ I ˚ | ď pb ´ aq (5.12)
12
ş1 dx
Ví dụ 5.2. Xét tích phân I “ . Cần chia đoạn r0, 1s tối thiểu thành bao nhiêu
0 1`x
đoạn, để khi tính theo công thức (5.11), ta có sai số nhỏ hơn 10´4 ? Với số đoạn chia
Thuật toán tính gần đúng tích phân xác định bằng công thức hình
h
I « I˚ “ py0 ` 4y1 ` y2 q (5.13)
3
h5 M4
|I ´ I ˚ | ď
90
ˇ ˇ
với M4 “ max ˇf p4q pxqˇ.
xPra,bs
Tương tự như trong trường hợp công thức hình thang, ta chia đoạn
b´a
ra, bs thành n “ 2m đoạn nhỏ bằng nhau với bước chia h “ và sử
2m
dụng công thức (5.13) cho từng cặp đoạn nhỏ liền nhau, ta thu được
şb h
I “ f pxqdx « I ˚ “ ry0 ` y2m ` 4py1 ` y3 ` ¨ ¨ ¨ ` y2m´1 q`
a 3 (5.14)
`2py2 ` y4 ` ¨ ¨ ¨ ` y2m´2 qs
Công thức (5.14) được gọi là công thức Simpson mở rộng, và sai số
h4 M4
|I ´ I ˚ | ď pb ´ aq (5.15)
180
ş1 dx
Ví dụ 5.3. Xét tích phân I “ . Để so sánh ta cũng xét phương pháp Simpson
0 1`x
với n
“ 10. Khi đó ta có
" ˆ ˙ ˆ ˙*
˚ 1 1 10 10 10 10
I«I “ 1` `4 ` ¨¨¨ ` `2 ` ¨¨¨ ` “
30 2 11 19 12 18
“ 0.69315023
Thuật toán tính gần đúng tích phân xác định bằng công thức
BÀI TẬP
Câu 1. Sử dụng các công thức sai phân hướng tâm, tính gần đúng
đạo hàm cấp một và cấp hai của các hàm sau đây tại điểm x0 với bước
x 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0
y 1.72 1.81 1.87 1.94 2.02 2.13 2.23 2.29 2.33 2.39 3.02
Sử dụng các công thức hình thang và Simpson xấp xỉ các tích phân:
ż2 ż2
I1 “ f pxqdx và I2 “ xf 2 pxqdx
1 1
CHƯƠNG SÁU
Mục lục
6.1 Bài toán Cauchy . . . . . . . . . . . . . . . . . . . . . 70
6.2 Bài toán biên tuyến tính cấp hai . . . . . . . . . . . 79
Bài tập chương 6 . . . . . . . . . . . . . . . . . . . . . . . 82
Trong phần này chúng ta sẽ xét một số phương pháp tìm nghiệm
gần đúng của một dạng bài toán của phương trình vi phân thường có
nhiều ứng dụng trong thực tế . Đó là bài toán Cauchy hay còn gọi là
với y “ yptq là hàm cần tìm, khả vi với t ě t0 , y0 là giá trị ban đầu cho
trước của hàm tại điểm t “ t0 và f pt, yq là hàm hai biến liên tục cùng
Chúng ta chỉ quan tâm đến các phương pháp giải số cho bài toán
(6.1) với giả thiết rằng chúng ta có đủ tất cả các điều kiện để đảm bảo
sự tồn tại và tính duy nhất nghiệm của bài toán. Trước tiên ta đưa ra
các công thức tìm nghiệm gần đúng của hàm tại điểm t1 “ t0 ` h với
bước h ą 0 đủ bé. Ta thường ký hiệu ypt1 q là giá trị chính xác của hàm
tại t1 và y1 là giá trị gần đúng: y1 « ypt1 q. Sau đó nếu xét bài toán trên
một đoạn, ta chia đều đoạn đó với bước h đủ nhỏ và áp dụng liên tiếp
Euler dựa vào ý nghĩa hình học để đưa ra công thức tìm y1 đơn giản
nhất. Tại điểm pt0 , y0 q của đường cong y “ yptq ta kẻ tiếp tuyến có
phương trình:
y ´ y0 “ y 1 pt0 qpt ´ t0 q
ta có:
y “ y0 ` f pt0 , y0 qpt ´ t0 q
Thay t “ t1 trong biểu thức trên ta thu được y “ y1 “ y0 `f pt0 , y0 qpt1 ´t0 q
và được xem là giá trị gần đúng của ypt1 q. Từ đây ta có công thức Euler:
Trong công thức (6.2) vai trò của f pt0 , y0 q chính là hệ số góc của tiếp
tuyến với đường cong tại điểm có hoành độ t0 và hoàn toàn không có
ta thay vai trò của f pt0 , y0 q bởi trung bình cộng của các hệ số góc của
f pt0 , y0 q ` f pt1 , y1 q
y1 “ y0 ` h
2
Ta thấy cả vế phải lẫn vế trái của công thức trên đều có chứa y1 là
ẩn cần tìm. Vì vậy, để đơn giản người ta thay giá trị y1 ở vế phải bởi
giá trị được xác định theo công thức (6.2). Ta thu được:
Ví dụ 6.2. Xét bài toán trong ví dụ 6.1. Sử dung công thức Euler cải tiến với bước h “ 0.1
ta có:
Trong phần này chúng ta sẽ xét một phương pháp khác để đưa ra
công thức giải gần đúng bài toán Cauchy (6.1) có tên gọi là phương
Trong đó các hệ số
A1 , A2 , . . . , An , α2 , α3 , . . . , αn
(6.5)
β21 , β31 , β32 , . . . , βn1 , βn2 , . . . , βn,n´1
như là một hàm phụ thuộc vào bước h. Giá trị tuyệt đối của φphq là
sai số tuyệt đối của giá trị gần đúng tại t0 ` h. Ta có thể giả thiết rằng
nghiệm yptq, và do đó hàm φphq, có đạo hàm đến cấp m. Chú ý rằng
1 1 pmq
φphq “ φ1 p0qh ` φ2 p0qh2 ` ¨ ¨ ¨ ` φ p0qhm ` ophm q
2 m!
Khi đó φphq “ ophm q. Bây giờ chúng ta sẽ xét một số trường hợp
Khi đó
với A1 , A2 , α2 , β21 là các hệ số cần xác định theo điều kiện (6.6):
φphq “ ypt0 ` hq ´ y0 ´ A1 K1 ´ A2 K2
Ta có:
Công thức này chính là công thức Euler cải tiến (6.3).
(c) Trường hợp n = m = 4: Trong trường hợp này ta thường dùng công
Công thức (6.7) được gọi là công thức Runge-Kutta bậc bốn và
Ví dụ 6.3. Cũng xét bài toán trong ví dụ 6.1. Sử dung công thức RK4 với bước h “ 0.1
ta có:
K1 “ h py0 ` t0 q “ 0.1p1 ` 0q “ 0.1
ˆ ˙ ˆ ˙
h K1 0.1 0.1
K2 “ h t0 ` ` y0 ` “ 0.1 0 ` `1` “ 0.11
2 2 2 2
ˆ ˙ ˆ ˙
h K2 0.1 0.11
K3 “ h t0 ` ` y0 ` “ 0.1 0 ` `1` “ 0.1105
2 2 2 2
K4 “ h pt0 ` h ` y0 ` K3 q “ 0.1 p0 ` 0.1 ` 1 ` 0.1105q “ 0.12105
1
yp0.1q « y1 “ 1 ` r0.1 ` 2 ˆ 0.11 ` 2 ˆ 0.1105 ` 0.12105s “ 1.110341667
6
Chú ý rằng giá trị chính xác của hàm tại 0.1 là yp0.1q “ 1.110341836. Nó cho thấy sự
vượt trội của công thức RK4 so với hai công thức còn lại.
Bây giờ để tìm nghiệm gần đúng của bài toán Cauchy trên đoạn
áp dụng liên tiếp công thức Euler, Euler cải tiến và RK4 ta được ba
Các thuật toán của ba công thức Euler, Euler cải tiến và RK4 được
Phần này sẽ xét bài toán Cauchy cho hệ phương trình vi phân cấp
một và phương trình vi phân cấp cao. Phương pháp dùng để giải gần
đúng bài toán Cauchy cũng dựa trên các phương pháp đã xét trong
các mục trước. Ở đây để đơn giản cho cách trình bày, ta sẽ xét hệ gồm
của hàm xptq tại điểm tk là xk « xptk q, còn giá trị gần đúng của hàm
gpt, x, yq “ 2x ` ty ` sin t. Và
trình vi phân cấp một bằng cách đổi biến hàm. Ta cũng xét phương
Ta biến đổi về bài toán Cauchy cho hệ phương trình vi phân cấp một
dạng (6.8) bằng phép đổi biến yptq “ x1 ptq. Khi đó ta có hệ:
$ 1
& x ptq “ f pt, x, yq “ y
y 1 ptq “ gpt, x, yq “ F pt, x, yq
%
xpt0 q “ α, ypt0 q “ β
Ví dụ 6.6. Xét phương trình vi phân cấp hai x2 ´ 2x1 ` 2x “ e2t sin t, 0 ď t ď 1 với
điều kiện ban đầu xp0q “ ´0.4, x1 p0q “ ´0.6. Đặt yptq “ x1 ptq, phương trình được
Phương pháp Runge-Kutta bậc bốn được dùng để xấp xỉ nghiệm gần đúng của hệ với
bước h “ 0.1. Kết quả được cho bởi bảng sau và so sánh với nghiệm chính xác xptq “
0.2 e2t psin t ´ 2 cos tq và yptq “ x1 ptq “ 0.2 e2t p4 sin t ´ 3 cos tq.
tk xptk q xk x1 ptk q yk
0.0 -0.4000000 -0.4000000 -0.6000000 -0.6000000
0.1 -0.4617330 -0.4617333 -0.6316304 -0.6316312
0.2 -0.5255591 -0.5255599 -0.6401478 -0.6401490
0.3 -0.5886001 -0.5886014 -0.6136630 -0.6136638
0.4 -0.6466103 -0.6466123 -0.5365821 -0.5365820
0.5 -0.6935640 -0.6935667 -0.3887395 -0.3887381
0.6 -0.7211485 -0.7211519 -0.1443834 -0.1443809
0.7 -0.7181489 -0.7181530 0.2289917 0.2289970
0.8 -0.6697068 -0.6697113 0.7719815 0.7719918
0.9 -0.5564381 -0.5564429 0.1534764 0.1534782
1.0 -0.3533944 -0.3533989 0.2578741 0.2578766
Các phương pháp tìm nghiệm gần đúng của phương trình vi phân
thường đòi hỏi các điều kiện được cho tại một thời điểm ban đầu nào
đó. Đối với phương trình vi phân bậc hai, ta cần hai giá trị xpt0 q và
x1 pt0 q. Tuy nhiên nhiều bài toán trong thực tế cho thấy điều kiện của
hàm cần tìm được cho tại nhiều thời điểm khác nhau. Vấn đề này dẫn
tới việc tìm nghiệm gần đúng của một dạng bài toán thứ hai được gọi
là bài toán biên. Trong phần này chúng ta chỉ xét bài toán biên của
phương trình vi phân thường tuyến tính cấp hai với điều kiện biên
với phương pháp được chọn là phương pháp sai phân hữu hạn. So với
một số phương pháp khác, phương pháp sai phân hữu hạn cho kết
quả không chính xác bằng, khối lượng tính toán nhiều hơn, nhưng
ổn định hơn và giải quyết được các trường hợp hai chiều, ba chiều
v.v... Ý tưởng của phương pháp là xấp xỉ các đạo hàm y 1 ptq, y 2 ptq trong
(6.13) bằng sai phân hữu hạn tại các điểm chia. Bài toán (6.13) trở
thành bài toán giải hệ phương trình tuyến tính ba đường chéo, và có
dụng các công thức sai phân hướng tâm đã xét trong chương trước:
Các công thức (6.14a) và (6.14b) có sai số là oph2 q. Thay giá trị xấp
xỉ của y 1 ptk q, y 2 ptk q của công thức (6.14a) và (6.14b) vào (6.13) tại các
các điều kiện được suy ra từ các điều kiện biên y0 “ α, yn “ β và sau
Từ các điều kiện biên ta thu được y0 “ 0, y4 “ 1. Cần xác định y1 , y2 , y3 . Mặt khác
Ta có kết quả: y1
“ 0.1021, y2 “ 0.2518, y3 “ 0.5031.
$
& 2 2 1 2 sin pln tq
y ` y ´ 2y “ , t P r1, 2s
Ví dụ 6.8. Xét bài toán biên t t t2 có nghiệm
%
yp1q “ 1, yp2q “ 2
C2 3 1
chính xác y “ C1 t ` 2 ´ sin pln tq ´ cos pln tq với C1 “ 1.13920701 và
t 10 10
C2 “ ´0.03920701. Chọn n “ 10 và do đó h “ 0.1 ta được kết quả như trong bảng
dưới đây
Thuật toán giải bài toán biên tuyến tính cấp hai bằng phương pháp
sai phân hữu hạn được thể hiện trong chương trình 7.21.
BÀI TẬP
Câu 1. Sử dụng lần lượt các công thức Euler, Euler cải tiến (RK2) và
Runge-Kutta cấp bốn (RK4) xấp xỉ nghiệm của các bài toán Cauchy
(b)
Nghiệm chính xác: y “ p2 ` t2 q et
2
$
&y 1 cos t ´ y sin t “ 2t, 0 ď t ď 1, yp0q “ 0, với h “ 0.1
(c) 2
%Nghiệm chính xác: y “ t
cos t
$ 3 3
&y 1 “ t ` 2y , 1 ď t ď 2, yp1q “ 2, với h “ 0.1
(d) 3ty 2 ?
%
Nghiệm chính xác: y “ 3 t3 ` 7t2
$
&y 1 “ 2y ` t2 et , 1 ď t ď 2,
Câu 2. Xét bài toán Cauchy t , có nghiệm
%yp1q “ 0
chính xác x2 pex ´ eq.
(a) Sử dụng công thức Runge-Kutta cấp bốn với h “ 0.1 xấp xỉ hàm
(b) Sử dụng kết quả xấp xỉ của câu (a) và công thức nội suy Newton
tiến bậc ba để xấp xỉ giá trị của hàm tại các điểm sau và so sánh
(c) Cũng sử dụng kết quả xấp xỉ của câu (a) và công thức Simpson
ş2
mở rộng để xấp xỉ tích phân I “ yptqdt và so sánh với giá trị
1
chính xác.
Câu 3. Sử dụng các công thức Euler, Euler cải tiến và Runge-Kutta
cấp bốn hãy xấp xỉ giá trị của hàm tại t1 “ t0 ` h với h “ 0.2 đối với các
Runge-Kutta cấp bốn xấp xỉ nghiệm của hệ phương trình trong r0, 1s
Câu 5. Đối với các bài toán sau, sử dụng công thức Euler cải tiến,
tìm nghiệm gần đúng của xptq tại các điểm t1 và t2 với bước h đã cho.
" 2
x ´ 4x1 ` 3x “ ln t, t ě 1
(a) , h “ 0.1, t1 “ 1.1, t2 “ 1.2.
xp1q “ 0.24, x1 p1q “ 0.15
" 2
x “ tx ` 2x1 ` 1, t ě 0
(b) , h “ 0.2, t1 “ 0.2, t2 “ 0.4.
xp0q “ 0, x1 p1q “ 1
"
3x1 ptqx2 ptq “ 2xptq, 0 ď t ď 1
Câu 6. Xét bài toán có nghiệm chính
xp0q “ x1 p0q “ 1
ˆ ˙
t 3
xác x “ 1 ` . Sử dụng công thức Runge-Kutta cấp bốn xấp xỉ xptq
3
trong r0, 1s với bước h “ 0.1 và so sánh với nghiệm chính xác.
Câu 7. Sử dụng phương pháp sai phân hữu hạn, hãy xấp xỉ nghiệm
INPUT: f là biểu thức của hàm f pxq; a và b là hai điểm biên của khoảng
cách li nghiệm ra, bs; eps là sai số cho trước (giá trị mặc định là 10´6 );
N là số lần lặp tối đa cho phép (giá trị mặc định là 100).
OUTPUT: x là vectơ nghiệm chứa dãy lặp txn u; fx là vectơ chứa giá trị
INPUT: g là biểu thức của hàm lặp gpxq, x0 là giá trị lặp ban đầu, q là
hệ số co, eps là sai số cho trước (giá trị mặc định là 10´6 ) và N là số
lần lặp tối đa cho phép (giá trị mặc định là 100).
OUTPUT: x là vectơ nghiệm chứa dãy lặp txn u, ss là vectơ chứa sai số
INPUT: f và f1 là biểu thức của hàm f pxq và đạo hàm của nó, x0 là giá
trị lặp ban đầu, m là giá trị nhỏ nhất của đạo hàm cấp một, eps là
sai số cho trước (giá trị mặc định là 10´6 ) và N là số lần lặp tối đa cho
OUTPUT: x là vectơ nghiệm chứa dãy lặp txn u, ss là vectơ chứa sai số
[x] = gauss(N, a)
[x] = jordan(N, a)
[l, u] = LUfactor(N, a)
[b] = choleski(N, a)
INPUT: N là cấp của ma trận, a là ma trận đối xứng và xác định dương
cấp N ˆ N .
vectơ lặp ban đầu, eps là sai số (giá trị mặc định là 10´6 ) và maxit là
tế.
vectơ lặp ban đầu, eps là sai số (giá trị mặc định là 10´6 ) và maxit là
tế.
INPUT: N là số các điểm nút nội suy, x và y là các vectơ chứa các giá
trị của đối số và của hàm, xx là giá trị của đối số.
[x] = tridiag(N, a, b, c, d)
thuộc đường chéo chính, a và c là các vectơ chứa các phần tử nằm
[a, b, c, d] = nspline(N, x, y)
INPUT: N là số các điểm nút nội suy, x và y là các vectơ chứa các giá
[a, b, c, d] = cspline(N, x, y)
INPUT: N là số các điểm nút nội suy, x và y là các vectơ chứa các giá
[y] = trapez(f, a, b, n)
INPUT: f là hàm dưới dấu tích phân, a là điểm đầu, b là điểm cuối và
n là số đoạn chia.
[y] = simpson(f, a, b, n)
INPUT: f là hàm dưới dấu tích phân, a là điểm đầu, b là điểm cuối và
n là số đoạn chia.
INPUT: f là hàm theo hai biến, x0 là điểm đầu, y0 là giá trị ban đầu, h
OUTPUT: x và y là hai vectơ chứa giá trị của đối số và của hàm.
INPUT: f là hàm theo hai biến, x0 là điểm đầu, y0 là giá trị ban đầu, h
OUTPUT: x và y là hai vectơ chứa giá trị của đối số và của hàm.
INPUT: f là hàm theo hai biến, x0 là điểm đầu, y0 là giá trị ban đầu, h
OUTPUT: x và y là hai vectơ chứa giá trị của đối số và của hàm.
chia, alpha, beta là các giá trị cho trước của hàm tại hai biên.
Câu 1. Biết A có giá trị gần đúng là a “ 2.6508 với sai số tương đối là
δa “ 0.61%. Ta làm tròn a thành a˚ “ 2.65. Sai số tuyệt đối của a˚ là:
a 0.0170
⃝ b 0.0172
⃝ c 0.0174
⃝ d 0.0176
⃝
a 0.0501
⃝ b 0.0503
⃝ c 0.0505
⃝ d 0.0507
⃝
a r2.0, 2.2s
⃝ b r2.2, 2.4s
⃝ c r2.4, 2.6s
⃝ d r2.6, 2.8s
⃝
nghiệm r0, 1s có nghiệm gần đúng x˚ “ 1.01. Sai số nhỏ nhất theo công
a 0.0211
⃝ b 0.0213
⃝ c 0.0215
⃝ d 0.0217
⃝
Câu 5. Cho phương trình f pxq “ 4x3 ´ 12x2 ` 15x ´ 20 “ 0 trong khoảng
cách li nghiệm r2, 3s. Theo phương pháp chia đôi, nghiệm gần đúng x5
a 2.3281
⃝ b 2.3283
⃝ c 2.3285
⃝ d 2.3287
⃝
q là:
a 0.1762
⃝ b 0.1772
⃝ c 0.1782
⃝ d 0.1792
⃝
?
Câu 7. Cho phương trình x “ 3
4x ` 18 thoả điều kiện lặp đơn trên r3, 4s.
Nếu chọn x0 “ 3.1 thì nghiệm gần đúng x2 theo phương pháp lặp đơn là:
a 3.1219
⃝ b 3.1229
⃝ c 3.1239
⃝ d 3.1249
⃝
?
Câu 8. Cho phương trình x “ 3
4x ` 18 thoả điều kiện lặp đơn trên r3, 4s.
Nếu chọn x0 “ 3.1 thì sai số tuyệt đối nhỏ nhất của nghiệm gần đúng x2
a 0.0001
⃝ b 0.0003
⃝ c 0.0005
⃝ d 0.0007
⃝
Câu 9. Cho phương trình f pxq “ 4x3 ´ 13x2 ` 16x ´ 21 “ 0. Với x0 “ 2.5
a 2.4902
⃝ b 2.4904
⃝ c 2.4906
⃝ d 2.4908
⃝
Câu 10. Cho phương trình f pxq “ 3x3 ` 6x2 ` 10x ` 27 “ 0 trong khoảng
cách ly nghiệm r´2.3, ´2.2s. Trong phương pháp Newton, chọn x0 theo
điều kiện Fourier, sai số của nghiệm gần đúng x1 tính theo công thức
a 0.0001
⃝ b 0.0002
⃝ c 0.0003
⃝ d 0.0004
⃝
¨ ˛
´6 ´5 7
Câu 11. Cho A “ ˝ 3 6 5 ‚. Phân tích A “ LU theo phương
8 ´7 ´7
pháp Doolittle (ma trận L có đường chéo chính bằng 1), phần tử u33 của
ma trận U là:
a 35.51
⃝ b 35.52
⃝ ⃝c 35.53 d 35.54
⃝
¨ ˛
3 5 α
Câu 12. Cho A “ ˝ 5 11 2 ‚. Với những giá trị nguyên nào của α thì
α 2 9
ma trận A là xác định dương:
a α “ ´4
⃝ b α “ ´2
⃝ c α“2
⃝ d α“4
⃝
a 5.2820
⃝ b 5.2830
⃝ c 5.2840
⃝ d 5.2850
⃝
ˆ ˙
´8 ´9
Câu 15. Cho A “ . Số điều kiện tính theo chuẩn một của
5 6
ma trận A là:
a 84
⃝ b 85
⃝ ⃝c 86 d 87
⃝
¨ ˛
´3 ´2 ´8
Câu 16. Cho A “ ˝ 3 ´3 8 ‚. Số điều kiện tính theo chuẩn vô
7 7 7
cùng của ma trận A là:
a 19.06
⃝ b 19.07
⃝ c 19.08
⃝ d 19.09
⃝
"
14x1 ´ 2x2 “ 7
Câu 17. Cho hệ phương trình . Theo phương
´2x1 ` 17x2 “ 5
pháp Jacobi, ma trận lặp Tj là:
ˆ ˙ ˆ ˙ ˆ ˙
0 ´0.14 0 0.14 0 0.14
a
⃝ b
⃝ c
⃝
0.12 0 0.12 0 ´0.12 0
ˆ ˙
0 ´0.14
d
⃝
´0.12 0
"
12x1 ` 2x2 “ 5
Câu 18. Cho hệ phương trình . Với xp0q “
´5x1 ` 9x2 “ 3
r0.2, 1.0sT , vectơ xp3q tính theo phương pháp Jacobi là:
ˆ ˙ ˆ ˙ ˆ ˙ ˆ ˙
0.338 0.338 0.338 0.338
⃝a b
⃝ c
⃝ d
⃝
0.522 0.523 0.524 0.525
"
8x1 ´ 7x2 “ 3
Câu 19. Cho hệ phương trình . Theo phương
´5x1 ` 18x2 “ 7
pháp Gauss-Seidel, ma trận lặp Tg là:
ĐỀ SỐ 2
Câu 1. Biết A có giá trị gần đúng là a “ 0.5090 với sai số tương đối là
δa “ 0.83%. Ta làm tròn a thành a˚ “ 0.51. Sai số tuyệt đối của a˚ là:
a 0.0053
⃝ b 0.0055
⃝ c 0.0057
⃝ d 0.0059
⃝
a 0.0603
⃝ b 0.0605
⃝ c 0.0607
⃝ d 0.0609
⃝
Câu 3. Phương trình f pxq “ e´x `x2 ´ 5 nhận khoảng nào sau đây làm
a r´1.4, ´1.3s ⃝
⃝ b r´1.3, ´1.2s ⃝
c r´1.2, ´1.1s ⃝
d r´1.1, ´1.0s
r0, 1s có nghiệm gần đúng x˚ “ 0.83. Sai số nhỏ nhất theo công thức
a 0.0342
⃝ b 0.0344
⃝ c 0.0346
⃝ d 0.0348
⃝
Câu 5. Cho phương trình f pxq “ 4x3 ´ 14x2 ` 14x ´ 12 “ 0 trong khoảng
cách li nghiệm r2, 3s. Theo phương pháp chia đôi, nghiệm gần đúng x5
a 2.6090
⃝ b 2.6092
⃝ c 2.6094
⃝ d 2.6096
⃝
là:
a 0.1490
⃝ b 0.1492
⃝ c 0.1494
⃝ d 0.1496
⃝
?
Câu 7. Cho phương trình x “ 3
8x ` 7 thoả điều kiện lặp đơn trên r3, 4s.
Nếu chọn x0 “ 3.2 thì nghiệm gần đúng x2 theo phương pháp lặp đơn là:
a 3.1931
⃝ b 3.1933
⃝ c 3.1935
⃝ d 3.1937
⃝
?
Câu 8. Cho phương trình x “ 3
8x ` 7 thoả điều kiện lặp đơn trên r3, 4s.
Nếu chọn x0 “ 3.2 thì sai số tuyệt đối nhỏ nhất của nghiệm gần đúng x2
a 0.0002
⃝ b 0.0004
⃝ c 0.0006
⃝ d 0.0008
⃝
a 2.7872
⃝ b 2.7874
⃝ c 2.7876
⃝ d 2.7878
⃝
Câu 10. Cho phương trình f pxq “ 6x3 ` 11x2 ` 18x ` 4 “ 0 trong khoảng
cách ly nghiệm r´0.3, ´0.2s. Trong phương pháp Newton, chọn x0 theo
điều kiện Fourier, sai số của nghiệm gần đúng x1 tính theo công thức
a 0.0011
⃝ b 0.0013
⃝ c 0.0015
⃝ d 0.0017
⃝
¨ ˛
´8 ´8 ´3
Câu 11. Cho A “ ˝ ´5 9 ´9 ‚. Phân tích A “ LU theo phương
´5 7 ´2
pháp Doolittle (ma trận L có đường chéo chính bằng 1), phần tử u33 của
ma trận U là:
a 5.92
⃝ b 5.94
⃝ c 5.96
⃝ d 5.98
⃝
¨ ˛
4 4 α
Câu 12. Cho A “ ˝ 4 6 2 ‚. Với những giá trị nguyên nào của α thì
α 2 7
ma trận A là xác định dương:
a α “ ´4
⃝ b α “ ´2
⃝ c α“0
⃝ d α“6
⃝
a 5.3182
⃝ b 5.3184
⃝ c 5.3186
⃝ d 5.3188
⃝
ˆ ˙
´6 ´2
Câu 15. Cho A “ . Số điều kiện tính theo chuẩn một của
9 ´7
ma trận A là:
a 4
⃝ b 5
⃝ c 6
⃝ d 7
⃝
¨ ˛
´3 5 9
Câu 16. Cho A “ ˝ ´9 ´6 ´7 ‚. Số điều kiện tính theo chuẩn vô
´8 2 ´8
cùng của ma trận A là:
a 5.4742
⃝ b 5.4744
⃝ c 5.4746
⃝ d 5.4748
⃝
"
16x1 ´ 7x2 “ 5
Câu 17. Cho hệ phương trình . Theo phương
2x1 ` 9x2 “ 6
pháp Jacobi, ma trận lặp Tj là:
ˆ ˙ ˆ ˙ ˆ ˙
0 ´0.44 0 ´0.44 0 0.44
a
⃝ b
⃝ c
⃝
´0.22 0 0.22 0 0.22 0
ˆ ˙
0 0.44
d
⃝
´0.22 0
"
19x1 ` 3x2 “ 7
Câu 18. Cho hệ phương trình . Với xp0q “
3x1 ` 12x2 “ 3
r0.5, 0.3sT , vectơ xp3q tính theo phương pháp Jacobi là:
ˆ ˙ ˆ ˙ ˆ ˙ ˆ ˙
0.342 0.342 0.342 0.342
⃝a b
⃝ c
⃝ d
⃝
0.163 0.165 0.167 0.169
"
19x1 ´ 2x2 “ 4
Câu 19. Cho hệ phương trình . Theo phương
´2x1 ` 9x2 “ 4
pháp Gauss-Seidel, ma trận lặp Tg là:
ĐỀ SỐ 1
nghiệm r0, 1s. Dùng phương pháp Newton, tính nghiệm gần đúng x2
x “ 2.25.
ş
x2 ` 3
1.8
Câu 7. Cho tích phân I “ 3
dx. Hãy xấp xỉ tích phân I
1.2 x ` x ` 7
bằng công thức Simpson mở rộng với n “ 6.
$
&y 1 ptq “ 2y 2 ` 3y ` sin t , t ě 1
Câu 8. Xét bài toán Cauchy: t . Sử dụng
%yp1q “ 1.2
công thức Runge-Kutta cấp 4, hãy xấp xỉ giá trị của hàm tại t “ 1.2
Câu
$ 9. Xét bài toán Cauchy đối với hệ ptvp:
’ x 1 ptq “ 2xy ´ t ` 1, t ě 0.5
&
y 1 ptq “ x2 ´ 3y 2 ` t2 , . Sử dụng công thức Euler, hãy xấp
’
%
xp0.5q “ 0.3, yp0.5q “ 0.7
xỉ các giá trị của hàm tại t “ 1 với bước h “ 0.5.
#
y 2 ptq ` p2t ` 1qy 1 ptq ´ 15yptq “ ´4t2 e´t ,
Câu 10. Cho bài toán biên:
yp0q “ 0.2, yp1q “ 1.3
với 0 ď t ď 1. Sử dụng phương pháp sai phân hữu hạn, xấp xỉ giá trị
ĐỀ SỐ 2
li nghiệm r0.5, 1s. Dùng phương pháp Newton, chọn x0 theo điều kiện
Fourier, tính nghiệm gần đúng x2 và đánh giá sai số ∆x2 theo công
Seidel.
x 22 23 24 25 26 27 28
Câu 5. Cho bảng số . Sử dụng
f pxq 1.2 1.5 1.8 1.7 1.5 1.9 2.0
? B
phương pháp bình phương bé nhất, tìm hàm dạng f pxq “ A x `
x
xấp xỉ tốt nhất bảng số trên.
ş2
Câu 7. Xét tích phân: I “ ln p2x ` 5q dx. Dùng công thức Simpson mở
1
rộng, xác định số đoạn chia tối thiểu (nmin ) để sai số nhỏ hơn 10´5 .
Với giá trị n “ nmin vừa tìm được, hãy xấp xỉ tích phân trên.
" 1
y “ y 2 ` e´t `1.5t, 1 ď t
Câu 8. Xét bài toán Cauchy . Sử dụng
yp1q “ 0.7
công thức Runge-Kutta cấp 4, hãy xấp xỉ giá trị của hàm yptq tại
trị của hàm xptq và đạo hàm x1 ptq tại điểm t “ 1.2 với bước h “ 0.2.
" 2
y ` pt2 ` 1qy 1 ´ 16y “ ´4t2 , 1.4 ď t ď 1.8
Câu 10. Xét bài toán biên: .
yp1.4q “ 2; yp1.8q “ 0.8
Bằng phương pháp sai phân hữu hạn, hãy xấp xỉ giá trị của hàm yptq
4 ∆V “ 0.4276
6 ∆f “ 0.006
91 1
3 (a) x5 “ , ∆x 5 “ “ 0.015625. Sai số theo công thức đánh giá sai số
64 64
tổng quát: m “ 7, ∆x5 “ 0.0117.
0.8
(b) x5 “ 0.4875, ∆x5 “ “ 0.0125. Sai số theo công thức đánh giá sai số
? 64
tổng quát: m “ 2 6, ∆x5 “ 0.0012.
4 Ta có:
(a) x4 “ 1.107821, sai số “ 0.016302 (c) x4 “ 1.123639, sai số “ 0.000484
(b) x4 “ 0.987506, sai số “ 0.136617 (d) x4 “ 1.124123, sai số “ 0.000000
?
5 (a) x “ 3 3x2 ` 5, q “ 0.1984251315, p « x4 “ 3.430986278
?
(b) x “ 3 x ` 1, q “ 0.2099868417, p « x3 “ 1.324939363
x2 ´ ex `2 1
(c) x “ , q “ , p « x4 “ 0.2572656364
3 3
O2 p=1 p = 10 p = 100
T = 300K 24.5928 2.4384 0.2264
T = 500K 41.0257 4.1016 0.4116
T = 700K 57.4460 5.7521 0.5842
(d) ∆1 “»3, ?
∆2 “ 8, ∆3 “ 21, ∆4 “ 124, fi
3 0 0 0
— ? ?
— 2 3 2 6
ffi
0 0
ffi
— ffi
— 3 3
— ? ? ?
ffi
B“—
ffi
3 7 6 42 ffi
—
— 3 0 ffi
— ? 12
? ?4 ?
ffi
ffi
3 6 42 2 651
– fl
´
3 3 21 21
40 91
4 (a) k1 pAq “ , k8 pAq “
3 9
315 324
(b) k1 pAq “ , k8 pAq “
19 19
255
(c) k1 pAq “ , k8 pAq “ 153
2
(d) k1 pAq “ 28375, k8 pAq “ 28375
5
p3q p3q
(a) x1 “ 0.617, x2 “ 0.456
p3q p3q
(b) x1 “ 0.62712, x2 “ 1.01466
p3q p3q p3q
(c) x1 “ 0.31692, x2 “ 0.97236, x3 “ 0.56451
p3q p3q p3q
(d) x1 “ 0.24672, x2 “ 0.55608, x3 “ 0.46922
p3q p3q p3q p3q
(e) x1 “ 1.33283, x2 “ 1.02953, x3 “ 0.53931, x4 “ 1.21863
6
p3q p3q
(a) x1 “ 0.60630, x2 “ 0.48685
p3q p3q
(b) x1 “ 0.66939, x2 “ 1.05658
p3q p3q p3q
(c) x1 “ 0.32771, x2 “ 0.98015, x3 “ 0.58039
p3q p3q p3q
(d) x1 “ 0.23490, x2 “ 0.55469, x3 “ 0.46771
p3q p3q p3q p3q
(e) x1 “ 1.31504, x2 “ 1.03712, x3 “ 0.56097, x4 “ 1.19823
x 30 35 40 45
2 (a) Bảng số: , L3 px˚ q “ 0.529936,
y 0.5000 0.5736 0.6428 0.7071
f px˚ q “ 0.529919
x 0.2 0.4 0.6 0.8
(b) Bảng số: , L3 px˚ q “ 0.53238125,
y 0.8024 0.6174 0.4530 0.3131
f px˚ q “ 0.53228073
x 7 8 9 10
(c) Bảng số: , L3 px˚ q “ 2.22462266,
y 2.0794 2.1972 2.3026 2.3979
f px˚ q “ 2.22462355
2 3
´2
7
4
p1q
(a) 3 1 7{6 ñ N2 pxq “ 3 ´ 2px ´ 2q ` px ´ 2qpx ´ 3q.
6
3{2
5 4
0.3 1.25
1.1000
(b) 0.5 1.47 0.5333 ñ
1.3667
0.8 1.88
p1q
ñ N2 pxq “ 1.25 ` 1.1px ´ 0.3q ` 0.5333px ´ 0.3qpx ´ 0.5q.
0 3
´1
1 2 1{6
(c) ´1{2 1{3 ñ
3 1 9{6
4
4 5
p1q 1 1
ñ N3 pxq “ 3 ´ x ` xpx ´ 1q ` xpx ´ 1qpx ´ 3q.
6 3
1.2 2.25
4.55
1.4 3.16 ´3.625
(d) 3.10 9.1667 ñ
1.6 3.78 1.875
3.85
1.8 4.55
p1q
ñ N3 pxq “ 2.25 ` 4.55px ´ 1.2q ´ 3.625px ´ 1.2qpx ´ 1.4q `
` 9.1667px ´ 1.2qpx ´ 1.4qpx ´ 1.6q.
2 1
$
&2 ´ x ` x3 ,
’ nếu 0 ď x ď 2
5 (a) gpxq “ 3 24
%1 ´ 1 px ´ 2q ` 1 px ´ 2q2 ´ 1 px ´ 2q3 ,
’
nếu 2 ď x ď 3
6 4 12
8 8
$
’ 2` px ´ 1q ´ px ´ 1q3 , nếu 1 ď x ď 2
15 15
’
’
’
’
16 8 5
&
(b) gpxq “ 2 ´ px ´ 2q ´ px ´ 2q2 ` px ´ 2q3 , nếu 2 ď x ď 3
’
’ 15 5 3
11 17 17
’
nếu 3 ď x ď 4
’
%1 ` px ´ 3q ` px ´ 3q ´ px ´ 3q3 ,
2
’
15 5 15
1
6 a “ 2, b “ 1, c “ 3, d “ ´
2
2 4 2 4
7 b0 “ , d0 “ , b 1 “ , d1 “ ´
3 3 3 3
17 11
$
&1 ` px ´ 2q ´ px ´ 2q3 ,
’ nếu 2 ď x ď 3
8 (a) gpxq “ 2 2
%4 ` 1 px ´ 3q ´ 8px ´ 3q2 ` 11 px ´ 3q3 ,
’
nếu 3 ď x ď 4
2 2
25 16
$
’ 1 ` x ´ x 2 ` x3 , nếu 0 ď x ď 1
3 3
’
’
’
’
1 23
&
(b) gpxq “ ´1 ` px ´ 1q ` px ´ 1q2 ´ 5px ´ 1q3 , nếu 1 ď x ď 2
’
’ 3 3
2
%2 ` px ´ 2q ´ px ´ 2q2 ` 14 px ´ 2q3 ,
22
’
nếu 2 ď x ď 3
’
’
3 3 3
10 5 7
10 b0 “ , d0 “ , b1 “ , d1 “ ´1.
3 3 3
12 A “ 2.0050, B “ 0.4867
2 Ta có:
(a) I « 0.372508 (c) I « 0.637197
(b) I « 42.61379 (d) I « 0.384965
3 Ta có:
(a) I « 0.373553 (c) I « 0.636295
(b) I « 43.63994 (d) I « 0.384180
4 Ta có:
(a) I « 0.746670
(b) I « 0.746824
5 Ta có:
M 2 h2
(a) M2 “ maxxPr1,2s |f 2 pxq| “ 1, pb ´ aq ă 10´5 ñ n ą 91.287. Chọn
12
n “ 92 ñ I « 0.38628944
M 4 h4
(b) M4 “ maxxPr1,2s ˇf p4q pxqˇ “ 6, pb ´ aq ă 10´5 ñ n ą 7.598. Chọn
ˇ ˇ
180
n “ 8 ñ I « 0.38629204
(b) Ta có:
(c) Ta có:
(d) Ta có:
2 (a) Ta có:
tk yk yptk q
1.0 0.00000000 0.00000000
1.1 0.34591029 0.34591988
1.2 0.86662169 0.86664254
1.3 1.60718135 1.60721508
1.4 2.62031131 2.62035955
1.5 3.96760190 3.96766629
1.6 5.72087932 5.72096153
1.7 7.96377179 7.96387348
1.8 10.79350178 10.79362466
1.9 14.32293573 14.32308154
2.0 18.68292657 18.68309708
e
(c) I « 5.71717197. Ta có: F ptq “ yptqdt “ pt2 ´ 2t ` 2q et ´ t3 . Giá trị chính
ş
3
xác I “ F p2q ´ F p1q “ 5.71717277. Sai số: ∆ “ 0.00000080.
tk xk xptk q yk yptk q
0.0 1.000000 1.000000 ´2.000000 ´2.000000
0.1 0.795671 0.795670 ´1.880525 ´1.880525
0.2 0.585384 0.585384 ´1.724386 ´1.724386
0.3 0.373216 0.373215 ´1.535417 ´1.535416
0.4 0.163219 0.163218 ´1.317931 ´1.317930
0.5 ´0.040633 ´0.040634 ´1.076662 ´1.076661
0.6 ´0.234507 ´0.234508 ´0.816686 ´0.816684
0.7 ´0.414763 ´0.414765 ´0.543345 ´0.543342
0.8 ´0.578013 ´0.578015 ´0.262166 ´0.262163
0.9 ´0.721164 ´0.721166 0.021220 0.021223
1.0 ´0.841469 ´0.841471 0.301165 0.301169
tk xk xptk q
0.0 1.00000000 1.00000000
0.1 1.10337038 1.10337037
0.2 1.21362964 1.21362963
0.3 1.33100002 1.33100000
0.4 1.45570372 1.45570370
0.5 1.58796298 1.58796296
0.6 1.72800001 1.72800000
0.7 1.87603704 1.87603704
0.8 2.03229630 2.03229630
0.9 2.19699999 2.19700000
1.0 2.37037035 2.37037037
7 Ta có:
Đề số 1:
01. ⃝
a 02. ⃝
b 03. ⃝
b 04. ⃝
d 05. ⃝
a 06. ⃝
d 07. ⃝
c 08. ⃝
c
09. ⃝
b 10. ⃝
d 11. ⃝
b 12. ⃝
c 13. ⃝
a 14. ⃝
d 15. ⃝
b 16. ⃝
c
17. ⃝
b 18. ⃝
c 19. ⃝
a 20. ⃝
d
Đề số 2:
01. ⃝
a 02. ⃝
d 03. ⃝
b 04. ⃝
b 05. ⃝
c 06. ⃝
d 07. ⃝
a 08. ⃝
c
09. ⃝
b 10. ⃝
d 11. ⃝
d 12. ⃝
c 13. ⃝
a 14. ⃝
a 15. ⃝
a 16. ⃝
b
17. ⃝
d 18. ⃝
a 19. ⃝
a 20. ⃝
d
Đề số 1:
6. y 1 p0.5q “ 4.5000
1. x2 “ 0.1896, ∆x2 “ 0.0001
7. I “ 0.2642
2. x3 “ r1.1924, 0.7841, 0.9119sT
8. yp1.2q “ 6.5795
3. yp2.35q « 2.5659
9. xp1q “ 0.7600, yp1q “ 0.1350
4. yp1.25q “ 1.8673, yp2.25q “ 3.6698
10. y “ p0.2, 0.2039, 0.3574, 0.6871, 1.3q
5. A “ 8.0768, B “ ´4.6240
Đề số 2:
6. y 1 p0.5q “ 4.5493
1. x2 “ 0.8535, ∆x2 “ 0.0001
7. n “ 4, I “ 2.0768
2. T “ 6.3412
8. yp1.2q “ 1.2917
3. x3 “ r0.3493, 2.1185, 0.4235sT
9. xp1.2q “ 2.0469, x1 p1.2q “ 0.5745
4. yp1.28q “ 3.5636, yp1.85q “ 5.9591
10. y “ p2, 1.3890, 1.0626, 0.8922, 0.8q
5. A “ 0.5678, B “ ´29.3008
[3] PHẠM KỲ ANH, Giải tích số, NXB Đại Học Quốc Gia, Hà Nội -
2000.
[4] LÊ TRỌNG VINH, Giải tích số, NXB Khoa Học Kỹ Thuật, Hà Nội -
2000.
[5] PHAN VĂN HẠP - LÊ ĐÌNH THỊNH, Phương pháp tính và các thuật