Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
1,26 MB
Nội dung
ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC BÁO CÁO GIỮA KỲ MÔN HỌC Phương Pháp Số Tên đề tài : Nội suy trung tâm với thuật tốn Bessel Nhóm 12 Họ tên SV : Mã số SV : Dương Đức Toàn 20173592 Hoàng Hải Nam 20173559 Hà Nội – Tháng - 2021 Bài toán chung:Hàm số y= f(x) xác định đoạn [a;b] đó, ta chưa biết biểu thức cụ thể f(x) Nhưng cách ta thu bảng số có gồm điểm xi thuộc đoạn [a;b] tương ứng với giá trị yi hàm số điểm đó, làm để từ điểm ta tính giá trị điểm x xi Hoặc ta xác định việc biên đổi quy luật hàm y=f(x) quy luật q phức tạp nên ta khơng thể tính giá trị x cách dễ dàng Do vậy, ta tìm cách xây dựng hàm F(x) đơn giản f(x) mà tính giá trị F(x) f(x) sai lệch khơng lớn Hàm F(x) tìm thỏa mãn điều thường đa thức gọi đa thức nội suy Ta làm quen với đa thức nội suy tiến, lùi Đa thức nội suy tiến lùi có tính chất phía Vậy ta khơng đưa đa thức sử dụng tiến lùi để hiệu đạt cao Đa thức mà khai thác vấn đề tiến lùi gọi đa thức nội suy trung tâm (công thức nội suy trung tâm) I – Công thức nội suy trung tâm xây dựng II – Những vấn đề khởi đầu - Các công thức nội suy trung tâm nêu dùng cho việc mốc nội suy cách với bước h>0 - Công thức nội suy trung tâm xây dựng dựa cơng thức nội suy Newton có mốc cách - Về chất công thức nội suy trung tâm xây dựng dựa khai triển Taylor – Maclaurin - Từ n+1 mốc ban đầu đa thức nội suy F(x) tìm nhất!!! – Sai phân Cho hàm số f(x) xác định đoạn [a;b] x số gia đối số , x = h : bước nhảy x = xi+1 − xi Biểu thức y = y( x+h) − y gọi sai phân cấp hàm y=f(x) x Sai phân sai phân cấp sai phân cấp hai , Sai phân sai phân cấp m-1 gọi sai phân cấp m , - Nhắc lại số tính chất sai phân • • • • Delta tốn tử tuyến tính Giá trị hàm f(x) biểu diễn qua sai phân cấp Sai phân cấp m hàm f(x) biểu diễn qua giá trị liên tiếp Nếu f(x) có đạo hàm liên tục đến cấp m đoạn [x,x+mh] ta có: m f (x) = hm f (m) (x +mh) với – Bảng sai phân III – Lý thuyết xây dựng công thức nội suy trung tâm Bessel ưu điểm Ý tưởng xây dựng công thức lý thuyết Xuất phát từ hai công thức Gauss I Gauss II : - Gauss I : Khi , Gauss I kết nạp mốc nội suy theo quy tắc tiến trước lùi sau, tức : x0 -> x1 -> x(-1) - > x2 -> x(-2) - Và Gauss II : Còn Gauss II kết nạp mốc nội suy theo quy tắc lùi trước tiến sau, tức : x0 -> x(-1) -> x1 - > x(-2) -> x2 Kết hợp cơng thức lại lấy trung bình ta công thức nội suy trung tâm Bessel Trước tiên, ta có : Cho 2n + mốc nội suy sau: x−n , x−(n−1) , , x−1, x0 , x1, , xn−1, xn , xn+1 Xuất phát từ mốc x0 sử dụng công thức nội suy Gauss II vừa ghi : y− 2 y 3 y t + −1 (t +1)t + −2 (t +1)t (t −1) p(x) = p(x0 + ht) = y0 + 1! 2! 3! (2n−1) −2 y + (t + )( t +1)t (t −1) + + −n (t + ny −1) (t − n +1) 4! (2n −1)! + (1) 2n y− n (2n )! (t + n)(t + n −1) (t − n +1) Xuất phát từ mốc x1 , với x − x0 = ht x − x1 = ( x − x0 ) + ( x0 − x1 ) = h ( t −1) Viết lại công thức (1) với mốc x1 , nghĩa thay t t −1 công thức (1) ta được: y 2 y 3 y p(x) = p(x0 + ht) = y1 + 0 (t −1) + 0 t (t −1) + −1 t (t −1)(t − 2) 1! 2! 3! 4 y (2n−1() ty + n − ) (t − n ) + −1 (t +1 )t (t −1)(t − 2) + + −(n−1) 4! (2n −1)! 2n(n−1 y) + − (t + n −1) (t − n ) ( 2n )! (2) Trung bình cộng cơng thức (2) cơng thức nội suy Gauss thứ I ghi ta được: t (t −1) 2 y + 2 y y + y 1 = −1 p(x) p(x0 + ht) = + t − y0 + 2! 2 2 1 t− t (t −1) t +1)t (t −1)(t − 2) 4 y−2 + 4 y−1 ( 2 y−1 + + 4! 3! 1 t− ( t +1) t (t −1 )( t − 2) + 5 y−2 + + 5! (t + n −1)(t + n − 2) (t + )( t +1)t (t −1)(t − 2) (t − n ) 2n y−n + 2n y−n+1 + (2n) ! + t− 1 ( t + n −1) (t + )( t +1) t (t −1)( t − 2)(t − n ) 2 Trong đó: (12) (2n +1)! 2n+1 y− n x = x0 + ht Gọi hệ số , i = 0, n+1 hệ số p(x) tức ta viết lại p(x) sau: p(x) = p(x + ht) = a + a (t − ) + a t(t −1) 0 2 1 +a (t − )t(t −1) + a (t +1)t(t −1)(t − 2) + a (t − )(t +1)t(t −1)(t − 2) 2 + +2n (t + n −1)(t + n − 2) (t + )( t +1)t (t −1)(t − 2) (t − n ) 1 +a t − ( t + n −1) (t + )( t +1)t (t −1)(t − 2) (t − n ) 2n+1 2 Như vậy, hệ số tính theo cơng thức tổng qt sau: a0 = y0 + y1 2i 2i y + y a2i+1 = a2i = −i −i+1 (2i +1)! 2(2i)! 2i+1 y− n i = 1, n Có thể nói: cơng thức nội suy Bessel trung bình cộng “hình thức” “tính tốn” cơng thức Gauss I Gauss II Ưu điểm công thức nội suy trung tâm Bessel - Công thức nội suy Bessel cần tính sai phân cấp chẵn Và sai phân cấp “chẵn” biến đổi sai phân cấp “chẵn” thấp cách “hệ thống” Do đó, việc tính tốn hệ số đa thức nội suy thì: “Ta cần tính sai phân cấp chẵn hàm số f(x) ” ta tính tồn hệ số đa thức nội suy xây dựng đa thức Và từ ý tưởng xây dựng cơng thức nội suy Sterling ta thấy, cơng thức tích hợp lại công thức Gauss I Gauss II vào bên Từ đó, ta thấy sử dụng cơng thức nội suy Bessel việc tính tốn giá trị không cần phải xem sét việc điểm cần tính nằm phía bên so với mốc nằm trung tâm x0 III Lưu đồ thuật tốn lập trình cơng thức Bessel , Input , Output - Input: + Nhập hàm f(x) cần xây dựng đa thức nội suy để có bảng giá trị ban đầu + Nhập điểm xuất phát x + Nhập bước nhảy giá trị x (cách đều) + Nhập giá trị cần tính x* để tính giá trị đa thức x* + Nhập số mốc nội suy mong muốn trích xuất từ bảng giá trị ban đầu để tính x* - Output: + hàm F(x) sau rút gọn + Giá trị hàm điểm x* - Lưu Đồ Thuật Toán: Em co gửi kèm file PDF lưu đồ thuật toán - Lưu đồ thuật toán Bessel theo ý tưởng xây dựng thuật toán Bessel phần II : Lưu đồ lập bảng sai phân : Lưu đồ thuật tốn trích xuất mong nội suy từ bảng giá trị ban đầu: - Với I giá trị trung tâm cần xác định, từ sang phía bảng giá trị Với N số mốc lấy bảng giá trị tổng số mốc 2N+2 mốc theo I lệch bên trái hay bên phải bảng giá trị IV Lập trình Phần lập trình em có gửi file Code file PDF hướng dẫn sử dụng Với phần code nhập số hàm, số liệu file PhuongPhap phần code lập bảng sai phân file MocCachDeu Dưới em xin gửi lại phần code thuật toán Bessel file Bessel : class Bessel : MocCachDeu { public static void bessel() { //nhap(); NhapTuDong(); LapBangSaiPhan(); double h = x[1] - x[0]; int I = (int)((a - x[0]) / h); int N; // 2N+2 mốc nội suy if (I >= && n - I - >= 10) N = 5; else if (I < n / 2) N = I; else N = n - I - 1; DaThuc T = new DaThuc(); T += 1; // T = (t+n-1) (t+2)(t+1)t(t-1)(t-2) (t-n) DaThuc p = new DaThuc(); DaThuc t = new DaThuc(1);t.Heso[1] = / h; t.Heso[0] = -x[I] / h; p += saiphan[1, I] * (t - 0.5) + (y[I] + y[I + 1]) / 2; for (int m = 1; m 0 - Công thức. .. thức? ?? ? ?tính tốn” cơng thức Gauss I Gauss II Ưu điểm công thức nội suy trung tâm Bessel - Công thức nội suy Bessel cần tính sai phân cấp chẵn Và sai phân cấp “chẵn” biến đổi sai phân cấp “chẵn” thấp... thức nội suy trung tâm xây dựng dựa cơng thức nội suy Newton có mốc cách - Về chất công thức nội suy trung tâm xây dựng dựa khai triển Taylor – Maclaurin - Từ n+1 mốc ban đầu đa thức nội suy F(x)