Professional Documents
Culture Documents
05 Lecture Notes
05 Lecture Notes
1 Đặt vấn đề
Rất nhiều vấn đề của Toán học đều xuất phát từ các nhu cầu thực tế. Hãy thử xét một số
ví dụ sau:
(i) Khi tiến hành đo đạc nhiệt độ và áp suất cho một lò hơi không chứa khí lý tưởng. Sử
dụng các cảm biến nhiệt độ và áp suất rất chính xác, ta đo được 𝑛 + 1 cặp giá trị (nhiệt
độ, áp suất) = (𝑡𝑘 , 𝑝𝑘 ), 𝑘 = 1, … , 𝑛 + 1. Làm thế nào để biết các giá trị (𝑡𝑖 , 𝑝𝑖 ) nằm giữa
các điểm mà ta đã đo được mà không cần phải tiến hành đo đạc lại (vì số điểm nằm giữa
hai điểm phân biệt là vô số điểm)?
(ii) Khi thiết kế một font chữ mới trên máy tính. Có một số ký tự được viết bằng những
đường cong. Ví dụ như chữ 𝒟. Ta chưa viết hoàn chỉnh chữ 𝒟 này nhưng ta cần đường
cong của chữ đi qua một số điểm nào đó. Làm thế nào để tìm ra đường cong này?
𝑦 𝑝
(a) Đường cong đi qua một số điểm cho trước (b) Quan hệ giữa nhiệt độ và áp suất trong
trong chữ 𝒟 một lò hơi
Nội suy (interpolation) là bài toán dựa trên một số điểm dữ liệu rời rạc cho trước, ta xác
định một hàm số sao cho ta có thể tìm được các điểm dữ liệu nằm giữa các điểm giữ
liệu rời rạc này. Về mặt hình học, nội suy là tìm một hàm số sao cho đồ thị của hàm số
này đi qua một số điểm dữ liệu cho trước. Chúng ta có thể nội suy trong không gian hai
chiều (mặt phẳng) hoặc không gian 𝑛-chiều.
1
Bài giảng Phương pháp tính ThS. Trần Quang Khải
(i) Nội suy tuyến tính (linear interpolation): nối các điểm dữ liệu liền kề nhau bằng các
đường thẳng. Đây là dạng nội suy đơn giản nhất.
(ii) Nội suy đa thức (polynomial interpolation): tìm một hàm đa thức có đồ thị đi qua tất cả
các điểm dữ liệu cho trước.
(iii) Nội suy spline (spline interpolation): thay vì nối giữa hai điểm dữ liệu là một đường thẳng
như nội suy tuyến tính, ta tìm một đường cong bậc ba để nối giữa hai điểm này. Tiến
hành nối liên tiếp các điểm dữ liệu cho đến hết.
Trong nội dung chương trình học, ta chỉ xét qua nội suy đa thức trong không gian hai
chiều.
Định lý 1 (Bậc của đa thức nội suy). Cho 𝑛 + 1 điểm dữ liệu (𝑥𝑘 , 𝑦𝑘 ), 𝑘 = 1, … , 𝑛 + 1
trong đó không có điểm dữ liệu nào trùng nhau. Khi đó tồn tại duy nhất một hàm đa thức có
bậc nhỏ hơn hoặc bằng 𝑛 có đồ thị đi qua tất cả các điểm dữ liệu cho trước này. Hàm đa thức
này được gọi là hàm nội suy hoặc đa thức nội suy.
Ghi chú về mặt thuật ngữ: Thông thường khi nói đến đa thức và hàm đa thức, ta hiểu
như sau
• Khi ta nói đến hàm đa thức là ta đang nói đến hàm số ở dạng đa thức. Ví dụ
𝑓(𝑥) = 𝒫(𝑥) = 𝑥3 + 4𝑥2 + 3𝑥 − 2. Ta thường ký hiệu bằng chữ cái in hoa kèm theo
(𝑥) để chỉ hàm đa thức: 𝒫(𝑥), ℒ(𝑥), ℱ(𝑥).
• Khi ta nói đến đa thức (không có từ hàm ở trước) thì ta đang nhắc đến biểu thức.
Ví dụ 𝒫 = 𝑥3 + 4𝑥2 + 3𝑥 − 2 chỉ là một biểu thức, không phải hàm. Ta ký hiệu đa
thức bằng các chữ cái in hoa 𝒫, ℒ, ℱ.
Tuy nhiên trong phần đa thức nội suy, ta sử dụng hai khái niệm đa thức và hàm đa thức
thay thế lẫn nhau. Ví dụ khi ta nói đa thức nội suy thì ta ngầm hiểu đang nói đến hàm
đa thức nội suy.
Thông thường, ta sẽ cố gắng tìm hàm đa thức với bậc càng nhỏ càng tốt (đa thức bậc nhỏ
sẽ dễ khảo sát, dễ vẽ đồ thị hơn). Định lý 1 chỉ ra rằng tổng quát với 𝑛 + 1 điểm dữ liệu cho
trước ta chỉ tìm được duy nhất một đa thức có bậc nhỏ hơn hoặc bằng 𝑛 đi qua tất cả các
điểm dữ liệu này. Ví dụ, ta có bốn điểm dữ liệu, giả sử ta tìm được một hàm đa thức bậc ba
đi qua cả bốn điểm dữ liệu này thì ta không thể tìm thêm được một đa thức bậc nhỏ hơn ba
đi qua cả bốn điểm đó.
Vậy theo định lý 1, ta sẽ cố gắng đi tìm một đa thức nội suy bậc 𝑛 cho 𝑛 + 1 điểm dữ liệu
không trùng nhau. Nếu đa thức nội suy bậc 𝑛 này tồn tại thì nó là duy nhất trong số các đa
thức nội suy bậc nhỏ hơn hoặc bằng 𝑛.
Ý tưởng để xây dựng đa thức bậc 𝑛 này như sau:
(i) Xét 𝑛 + 1 điểm dữ liệu không trùng nhau. Ta thường sắp xếp các điểm này theo chiều
tăng dần của 𝑥𝑘 .
Trang 2
Bài giảng Phương pháp tính ThS. Trần Quang Khải
(ii) Nếu ta tìm được 𝑛 + 1 đa thức nhỏ (gọi là đa thức cơ sở) bậc 𝑛 thỏa mãn:
(𝑘) 1, 𝑗 = 𝑘
𝑝𝑛 (𝑥𝑗 ) = { , 𝑗 = 1, … , 𝑛 + 1 (1)
0, 𝑗 ≠ 𝑘
(𝑘)
(iii) Bài toán bây giờ trở thành làm thế nào để tìm ra các đa thức cơ sở 𝑝𝑛 . Ta nhận thấy là
(𝑘) (𝑘)
đa thức 𝑝𝑛 là một đa thức bậc 𝑛 nên nó có tối đa 𝑛 nghiệm. Từ (1) ta thấy 𝑝𝑛 đã có
𝑛 nghiệm nên nó có thể được viết dưới dạng:
(𝑘)
𝑝𝑛 = 𝐶𝑘 (𝑥 − 𝑥1 )(𝑥 − 𝑥2 ) … (𝑥 − 𝑥𝑘−1 )(𝑥 − 𝑥𝑘+1 ) … (𝑥 − 𝑥𝑛+1 ) (3)
(𝑘)
với 𝐶𝑘 là một hằng số nào đó. Vì 𝑝𝑛 (𝑥𝑘 ) = 1 theo (1) nên
Vậy
1
𝐶𝑘 = (5)
(𝑥𝑘 − 𝑥1 )(𝑥𝑘 − 𝑥2 ) … (𝑥𝑘 − 𝑥𝑘−1 )(𝑥𝑘 − 𝑥𝑘+1 ) … (𝑥𝑘 − 𝑥𝑛+1 )
(𝑘)
(iv) Vậy đa thức cơ sở 𝑝𝑛 có dạng
𝑛+1
(𝑘)
Đa thức ℒ𝑛 (𝑥) = ∑ 𝑝𝑛 𝑦𝑘 với các đa thức cơ sở
𝑘=1
𝑘 1 2 3
𝑥𝑘 0 1 3
𝑦𝑘 1 -1 2
Ta thấy có tổng cộng ba điểm dữ liệu nên ta sẽ đi tìm một đa thức nội suy bậc hai cho
bảng số liệu này. Để tìm đa thức nội suy Lagrange thì ta phải đi tìm các đa thức cơ sở.
Trang 3
Bài giảng Phương pháp tính ThS. Trần Quang Khải
3 𝑦
𝑥
−1 1 2 3 4
−1
−2
Ngoài cách sử dụng công thức lý thuyết, ta có thể tìm đa thức nội suy Lagrange bằng cách
sử dụng bảng tính như sau:
𝑥 𝑥1 𝑥2 … 𝑥𝑛+1
𝑥1 𝑥 − 𝑥1 𝑥1 − 𝑥 2 ⋮ 𝑥1 − 𝑥𝑛+1 𝐷1
𝑥2 𝑥2 − 𝑥1 𝑥 − 𝑥2 ⋮ 𝑥2 − 𝑥𝑛+1 𝐷2
⋮ ⋮ ⋮ ⋱ ⋮ ⋮
𝑥𝑛+1 𝑥𝑛+1 − 𝑥1 𝑥𝑛+1 − 𝑥2 … 𝑥 − 𝑥𝑛+1 𝐷𝑛+1
𝑛+1
𝑦𝑘
ℒ𝑛 (𝑥) = 𝑊 ∑ 𝑊
𝑘=1
𝐷𝑘
Trang 4
Bài giảng Phương pháp tính ThS. Trần Quang Khải
Ví dụ: tìm đa thức nội suy Lagrange đi qua ba điểm sau bằng cách sử dụng bảng tính
𝑘 1 2 3
𝑥𝑘 0 1 3
𝑦𝑘 1 -1 2
𝑥 𝑥1 = 0 𝑥2 = 1 𝑥3 = 3
𝑥1 = 0 𝑥−0 0−1 0−3 𝐷1 = 3𝑥
𝑥2 = 1 1 𝑥−1 −2 𝐷2 = −2(𝑥 − 1)
𝑥3 = 3 3 2 𝑥−3 𝐷3 = 6(𝑥 − 3)
𝑊 = 𝑥(𝑥 − 1)(𝑥 − 3)
Bảng 4
1 1 2
ℒ2 (𝑥) =𝑥(𝑥 − 1)(𝑥 − 3) [ + + ]
3𝑥 2(𝑥 − 1) 6(𝑥 − 3)
𝑥2 − 4𝑥 + 3 𝑥2 − 3𝑥 𝑥2 − 𝑥
= + +
3 2 3
2𝑥2 − 8𝑥 + 6 + 3𝑥2 − 9𝑥 + 2𝑥2 − 2𝑥
=
6
2
7𝑥 − 19𝑥 + 6
=
6
7 2 19
= 𝑥 − 𝑥+1
6 6
Việc thiết lập đa thức nội suy Lagrange cho một bảng số liệu cho trước là tương đối đơn
giản. Ta không cần phải sắp xếp các điểm dữ liệu theo thứ tự tăng dần của 𝑥𝑘 cũng có thể
tính toán ra được kết quả cuối cùng (nhưng trong thực tế thì nên sắp xếp trước rồi mới bắt
đầu tính toán). Nếu không có điểm dữ liệu nào trùng nhau thì đa thức nội suy Lagrange cho
mỗi bảng dữ liệu là duy nhất.
Đa thức nội suy Lagrange không hiệu quả khi dùng trong trường hợp ta cần cập nhật bảng
số liệu. Vì khi ta thêm vào một điểm dữ liệu mới vào ngay sau điểm dữ liệu cuối cùng, ví dụ
như ta thêm một điểm (𝑥𝑛+2 , 𝑦𝑛+2 ) thì ta bắt buộc phải tính lại toàn bộ các đa thức cơ sở
hoặc bảng tính.
Định nghĩa 1 (Sai phân và tỷ sai phân). Cho hàm số 𝑦 = 𝑓(𝑥), sai phân (difference) hữu
hạn cấp một của đối số 𝑥 và hàm số 𝑦 tại hai điểm phân biệt 𝑥𝑘 và 𝑥𝑘+1 được tính bằng công
Trang 5
Bài giảng Phương pháp tính ThS. Trần Quang Khải
thức:
Δ𝑥𝑘 = 𝑥𝑘+1 − 𝑥𝑘
(7)
Δ𝑦𝑘 = 𝑓(𝑥𝑘+1 ) − 𝑓(𝑥𝑘 )
Δ𝑦𝑘
Tỷ số được gọi là tỷ sai phân (difference quotient) cấp một và được ký hiệu là 𝑓[𝑥𝑘 , 𝑥𝑘+1 ].
Δ𝑥𝑘
Khi đó, ta có tỷ sai phân cấp 𝑝 được định nghĩa bằng công thức:
Sai phân hữu hạn cấp một và tỷ sai phân cấp một tương đối đơn giản. Ta thử xét một ví
dụ để hiểu tỷ sai phân cấp 𝑝. Lấy 𝑘 = 1 và 𝑝 = 3, ta có
𝑓[𝑥2 , 𝑥3 , 𝑥4 ] − 𝑓[𝑥1 , 𝑥2 , 𝑥3 ]
𝑓[𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ] =
𝑥4 − 𝑥1
𝑓[𝑥2 , 𝑥3 ] − 𝑓[𝑥1 , 𝑥2 ]
𝑓[𝑥1 , 𝑥2 , 𝑥3 ] =
𝑥3 − 𝑥1
𝑓[𝑥3 , 𝑥4 ] − 𝑓[𝑥2 , 𝑥3 ]
𝑓[𝑥2 , 𝑥3 , 𝑥4 ] =
𝑥4 − 𝑥2
Với 𝑓[𝑥1 , 𝑥2 ], 𝑓[𝑥2 , 𝑥3 ], 𝑓[𝑥3 , 𝑥4 ] thì ta dễ dàng tính được sử dụng định nghĩa 1.
Cho 𝑛 + 1 điểm dữ liệu (𝑥𝑘 , 𝑦𝑘 ) không trùng nhau và đã được sắp xếp theo chiều tăng
dần của 𝑥𝑘 . Ta thừa nhận công thức của đa thức nội suy Newton như sau
Ví dụ: Tìm đa thức nội suy Newton cho bảng số liệu sau
𝑘 1 2 3
𝑥𝑘 0 1 3
𝑦𝑘 1 -1 2
Với đa thức nội suy Newton thì ta nên lập bảng để tính toán như sau (ta ký hiệu các tỷ
sai phân cấp 𝑝 là Δ𝑝𝑓 )
Trang 6
Bài giảng Phương pháp tính ThS. Trần Quang Khải
𝑘 𝑥𝑘 𝑦𝑘 Δ1𝑓 Δ2𝑓
1 0 1
2 1 −1 -2
3 7
3 3 2
2 6
Việc tính các tỷ sai phân cấp 𝑝 của đa thức nội suy Newton có thể gặp khó khăn. Nhưng
đa thức nội suy Newton rất hiệu quả trong trường hợp ta cần cập nhật thêm điểm dữ liệu. Vì
khi đó ta không cần tính lại từ đầu mà chỉ cần thêm vào thành phần tỷ sai phân từ 𝑥1 đến
điểm dữ liệu mới.
Vì đa thức nội suy có bậc nhỏ hơn hoặc bằng 𝑛 là duy nhất với 𝑛 + 1 điểm dữ liệu cho
trước nên đa thức nội suy Newton và đa thức nội suy Lagrange là giống nhau cho cùng một
bảng tính.
𝑘 1 2 3 4
𝑥𝑘 0 1 2 3
𝑦𝑘 0 0,5 2 1,5
Khi đó ta có thể lập hàm spline 𝑆(𝑥) đi qua bốn điểm trên như sau
Trang 7
Bài giảng Phương pháp tính ThS. Trần Quang Khải
3 𝑦
𝑥
−1 1 2 3 4
−1
5 Bài tập ví dụ
Cho bảng số liệu
𝑘 1 2 3 4
𝑥𝑘 0 1 3 4
𝑦𝑘 1 1 2 -1
Hãy tìm đa thức nội suy cho bảng số liệu trên. Sử dụng
1. Đa thức nội suy Lagrange (công thức lý thuyết);
2. Đa thức nội suy Lagrange (bảng tính);
3. Đa thức nội suy Newton.
Số điểm dữ liệu là bốn nên ta sẽ tìm đa thức nội suy bậc ba.
Trang 8
Bài giảng Phương pháp tính ThS. Trần Quang Khải
𝑥 𝑥1 = 0 𝑥2 = 1 𝑥3 = 3 𝑥4 = 4
𝑥1 = 0 𝑥 −1 −3 −4 𝐷1 = −12𝑥
𝑥2 = 1 1 𝑥−1 −2 −3 𝐷2 = 6(𝑥 − 1)
𝑥3 = 3 3 2 𝑥−3 −1 𝐷3 = −6(𝑥 − 3)
𝑥4 = 4 4 3 1 𝑥−4 𝐷4 = 12(𝑥 − 4)
𝑊 = 𝑥(𝑥 − 1)(𝑥 − 3)(𝑥 − 4)
1 1 2 1
ℒ3 (𝑥) = 𝑥(𝑥 − 1)(𝑥 − 3)(𝑥 − 4) [− + − − ]
12𝑥 6(𝑥 − 1) 6(𝑥 − 3) 12(𝑥 − 4)
−𝑥3 + 8𝑥2 − 19𝑥 + 12 𝑥3 − 7𝑥2 + 12𝑥 𝑥3 − 5𝑥2 + 4𝑥 𝑥3 − 4𝑥2 + 3𝑥
= + − −
12 6 3 12
−2𝑥3 + 12𝑥2 − 22𝑥 + 12 2𝑥3 − 14𝑥2 + 24𝑥 4𝑥3 − 20𝑥2 + 16𝑥
= + −
12 12 12
1 3 3 2 7
=− 𝑥 + 𝑥 − 𝑥+1
3 2 6
Có tổng cộng bốn điểm dữ liệu nên ta dùng đến tỷ sai phân cấp 3.
𝑘 𝑥𝑘 𝑦𝑘 1
𝑓Δ 2
𝑓Δ 3
𝑓Δ
1 0 1
2 1 1 0
1 1
3 3 2
2 6
7 1
4 4 −1 −3 − −
6 3
Trang 9
Bài giảng Phương pháp tính ThS. Trần Quang Khải
3 𝑦
𝑥
−1 1 2 3 4
−1
Trang 10