Professional Documents
Culture Documents
Để làm được điều này họ đã tiến hành xây dựng một hàm số phù hợp với dữ liệu
đã cho. Quá trình này chính là “nội suy” và là chủ đề của chương này
3 PHƯƠNG PHÁP NỘI SUY
Nội suy đa thức
Vấn đề: Đa thức nội suy được xây dựng ở đây là đa thức bậc cao.
Nhược điểm của đa thức bậc cao là độ dao động lớn khi có biến động nhỏ nói
cách khác là sai số lớn. Vậy làm sao để giảm được sai số này nhưng vẫn giữ
nguyên số mốc nội suy n?
Ý TƯỞNG
Chia [a;b] thành nhiều đoạn con
Trên từng đoạn con ta xây dựng các đa thức khác nhau xấp xỉ với f(x)
PHƯƠNG PHÁP XÂY DỰNG SPLINE BẬC 3
RÀNG BUỘC
Dạng của spline bậc
3
Trong đó:
h: là khoảng cách giữa 2 x gần nhau nhất
a,b,c,d lần lượt là hệ số của spline bậc 3
Các hệ số c được tìm từ hệ phương trình Ax=b,
trong đó
ỨNG DỤNG
1 Được sử dụng nhiều trong thiết kế đồ họa (khử nhiễu hình ảnh)
2 Hỗ trợ trong công nghệ nhận dạng
3 Hỗ trợ trong việc vẽ các mô hình 2D, 3D
4 Hỗ trợ trong công nghệ dự đoán trong kinh tế, dân số.
CÁC DẠNG BÀI TẬP
Dạng 1: Xây dựng spline bậc 3 trên điều kiện cho trước (BÀI 32, BÀI 2, BÀI 7, BÀI 8)
Dạng 2: Tìm các hệ số a,b,c,d để thỏa mãn spline bậc 3 ràng buộc(BÀI 12)
Dạng 3: Tìm f’(điểm đầu) và f’(điểm cuối) và tích phân của hàm spline bậc 3
ràng buộc( BÀI 14, BÀI 17)
Bài 32
Ở dạng 1 này, chúng mình xin được trình bày câu 32 trước tiên vì câu này khá dài và trong khi làm có xảy ra
một số lỗi mà mình nghĩ rằng các bạn khi mới tập code trên Maple như mình có thể mắc phải nên mình chọn
bài này trước để nhắc nhở và lưu ý các bạn về những lỗi đó.
Đề bài
1. Code maple
Đường cong 1
Lặp các dòng code trên để lập và vẽ spline bậc 3 cho đường cong 2 và 3
nhưng các bạn nhớ đổi biến của các điểm lúc đưa vào nha
Đường cong 2
Đường cong 3
Lưu ý khi code các bài dạng 1
- Khi sử dụng câu lệnh CubicSpline thì phải đảm bào đủ ít nhất 3 giá trị của x và y( tức cần tối thiểu
3 điểm) thì câu lệnh CubicSpline mới có thể sử dụng được
- Khi ta bắt đầu code thì nhớ nạp thư viện vào đầu tiên trước khi bắt đầu sử dụng các câu lệnh và nạp
thông tin, nếu ta không làm việc đó thì khi ta sử dụng các câu lệnh và nhập thông tin đầu vào, maple sẽ
không giải cho ta, dẫn đến thông tin đầu vào sẽ không được xử lí.
-Để có thể gộp 3 đồ thị của 3 đường cong thành 1,các bạn dùng dòng lệnh sau
nha
Display(Draw(P1, objects= Interpolant), Draw(P2, objects=Interpolant), Draw(P3, ob-
jects= Interpolant))
Bài 12
Đề bài:
Code maple
Lí giải code
a=4
S0’(1)=S1’(3)
3=b+2c+3d
Vì nội suy bậc 3 ràng buộc nên:
S0’(2)=S1’(2) => b=4
S0’’(2)=S1’’(2) => -2=2c
*Dòng cuối: Giải hệ phương trình sys bằng lệnh solve, ta được:
a=4, b=4, c=-1, d=1/3
Lưu ý khi code các bài dạng 2
Đây là một dạng bài khó, để có thể làm được bài này, các bạn phải nhớ các điều kiện để thỏa mãn một
spline bậc ba .
Đề bài:
Code maple
Lưu ý khi code các bài dạng 3
*Ở bài này, đề hỏi tính đạo hàm cấp 1 và cấp 2 tại điểm 0.5. trước khi bắt đầu dùng câu
lệnh diff và eval trong maple, các bạn nhớ mình phải chọn đúng hàm để tính đạo hàm nha,
tránh để bị sai kết quả
*Để tính tích phân của spline bậc 3 vừa xây dựng từ 0 đến 1, mình tính tích phân
của từng hàm trên khoảng phân hoạch của nó rồi cộng lại , ta sẽ có kết quả gần như
bằng với kết quả theo giả thiết, sai số rất ít. Điều này chứng tỏ rằng spline bậc 3
biên ràng buộc có tính chính xác rất cao.
Thank you
Chúc các bạn và thầy sức khỏe