Tài liệu tham khảo giáo trình Phương pháp tính với C++ - Chương 5 | CHƯƠNG 5 NỘI SUY VÀ XẤP XỈ HÀM 1. NỘI SUY LAGRANGE Trong thực tế nhiều khi phải phục hồi một hàm y f x tại mọi giá trị x trong một đoạn a b nào đó mà chỉ biết một số nhất định các giá trị của hàm tại một sôô điểm cho trước. Các giá trị này được cung cấp qua thực nghiệm hay tính toán. Vì vậy nảy sinh vấn đề toán học là trên đoạn a x b cho một loạt các điểm xi i 0 1 2. và tại các điểm xi này giá trị của hàm là yi f xi đã biết. Bây giờ ta cần tìm đa thức Pn x aoxn cUx11 1 . cln 1x an sao cho Pn xi f xi yi. Đa thức Pn x được gọi là đa thức nội suy của hàm y f x . Ta chọn đa thức để nội suy hàm y f x vì đa thức là loại hàm đơn giản luôn có đạo hàm và nguyên hàm. Việc tính giá trị của nó theo thuật toán Horner cũng đơn giản. Bây giờ ta xây dựng đa thức nội suy kiểu Lagrange. Gọi Li là đa thức L x - x0 . x - xi-1 x - xi 1 . x - xJ 1 xi - x0 . xi - xi-1 xi - xi 1 . xi - xn Rõ ràng là Li x là một đa thức bậc n và 1 0 I i j i Li xj Ta gọi đa thức này là đa thức Lagrange cơ bản. Bây giờ ta xét biểu thức n P x t f x L x i 0 Ta thấy Pn x là một đa thức bậc n vì các Li x là các đa thức bậc n và thoả mãn điều kiện Pn xi f xi yi. Ta gọi nó là đa thức nội suy Lagrange. Với n 1 ta có bảng x xơ x1 y y0 y1 Đa thức nội suy sẽ là P1 x yoL0 x y1L1 x1 T _ x - x1 T _ x - x0 L0 . . L1 . . . . x0 - x1 x1 - x0 x - x1 x - x0 nên P1 x y0 x - x Ỵ1 x - x0 Như vậy P1 x là một đa thức bậc nhất đôì với x Với n 2 ta có bảng 128 x X0 X1 X2 y y0 y1 y2 Đa thức nội suy sẽ là P2 x yoLo x yiLi xi y2L2 x2 L X - x1 x - x2 0 x0 - x1 x0 - x2 L x - x0 x - x2 1 x1 - x0 x1 - x2 L x - x0 x - x1 2 x2 - x0 x2 - x1 Như vậy P1 x là một đa thức bậc hai đôi với x Trên cơ sở thuật toán trên ta có chương trình tìm đa thức nội suy của một hàm khi cho trước các điểm và sau đó tính trị sô của nó tại một giá trị nào đó như sau Chương trình 5-1 include include include define max 21 int maxkq n float x max y max a max xx max yy max float x0 p0 void main int i k char ok void vaosolieu void float lagrange