1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÀI tập lớn PHƯƠNG PHÁP TÍNH đề tài SPLINE bậc BA

28 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA - BÀI TẬP LỚN PHƯƠNG PHÁP TÍNH ĐỀ TÀI: SPLINE BẬC BA Giáo viên hướng dẫn: TS.Nguyễn Đình Dương Tieu luan ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA Lớp: L11 Nhóm: H Danh sách thành viên: STT 10 11 12 HỌ VÀ TÊN Ngô Quang An Lê Gia Bảo Nguyễn Nhật Hào Lý Vĩnh Hưng Huỳnh Du Kiến Hùng Nguyễn Minh Khoa Huỳnh Nguyễn Hiếu Nghĩa Trần Văn Pháp Lưu Sinh Nhật Sư Bùi Việt Trung Nguyễn Lương Thế Vĩ Trương Cơng Hồng Vũ MSSV 2012552 1912665 2013051 2011326 2011308 2011427 2011674 1914578 2014390 2014871 2012435 2015097 PHÂN CÔNG Giải 15 Soạn powerpoint Giải Giải Chịu trách nhiệm code Soạn spline tự nhiên Giải 11 Giải Soạn spline ràng buộc Người thuyết trình Tổng hợp báo cáo Soạn khái niệm Tieu luan BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA MỤC LỤC: I Cơ sở lý thuyết Spline bậc ba: 1) Các khái niệm bản: a Định nghĩa 1: .4 b Định nghĩa 2: .5 Spline bậc ba tự nhiên: Spline bậc ba ràng buộc: II/Phần tập: BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA I Cơ sở lý thuyết Spline bậc ba: Việc xây dựng đa thức qua điểm nội suy cho trước trường hợp n lớn khó khăn Biện pháp khắc phục đoạn liên tiếp cặp điểm nút nội suy ta nối chúng đường cong đơn giản đoạn thẳng Tuy nhiên, điểm nút hàm tính khả vi Do đó, phải xây dựng đường cong cách nối đoạn cong nhỏ lại với cho bảo tồn tính khả vi hàm Đường cong gọi đường spline (đường ghép trơn) Các hàm đoạn nhỏ thường đa thức bậc cao đa thức gọi bậc spline 1) Các khái niệm bản: a Định nghĩa 1: Cho f (x) xác định đoạn [a,b] phép phân hoạch nó: a = x0 < x1 < x2 = b Đặt y0 = f(x0), y1 = f(x1), y2 = f(x2) Một spline bậc ba nội suy hàm f(x) [a,b] hàm g (x) thỏa điều kiện sau: - g(x) có đạo hàm đến cấp liên tục [a,b] { - g(x) = g (x) x ∈[ x , x ] g0(x), g1(x) đa thức bậc ba g1 (x) x ∈[ x , x 2] - g(x0) = f(x0) = y0, g(x1) = f(x1) = y1, g(x2) = f(x2) = y2 Xét đoạn [x0,x1] Đặt h0 = x1 −x0 Vì g0(x) đa thức bậc ba nên g0(x) = a0 +b0(x − x0) +c0(x − x0)2 +d0(x − x0)3 Do g(x0) = g0(x0) = y0 ⇒ y0 = a0 g (x1) = g0(x1) = y1 ⇔ a0 +b0(x1 −x0) +c0(x1 −x0)2 +d0(x1 −x0)3 = y1 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA ⇔ a0 +b0h0 +c0h02 +d0h03= y1 Từ đó, ta có b0 = (y1 − y0)/h0 −c0h0 −d0h02 Xét đoạn [x1,x2] Đặt h1 = x2 −x1 Vì g1(x) đa thức bậc ba nên g1(x) = a1 +b1(x − x1) +c1(x − x1)2 +d1(x − x1)3 Do g (x1) = g1(x1) = y1 ⇒ y1 = a1 g (x2) = g1(x2) = y2 ⇔ a1 +b1(x2 −x1) +c1(x2 −x1)2 +d1(x2 −x1)3 = y2 ⇔ a1 +b1h1 +c1h12 +d1h13= y2 Từ đó, ta có b1 = (y2 − y1)/h1 −c1h1 −d1h12 Do tính khả vi hàm g(x) đến cấp x1 nên g0’(x1) = g1’(x1) g0’’(x1) = g1’’(x1) Từ điều kiện g0’’(x1) = g1’’ (x1) ta 2c0 +6d0(x1 − x0) = 2c1 +6d1(x1 − x1) ⇒ d0 = c1 −c0 3h0 ⇒ b0 = (y1 − y0)/h0 −c0h0 −d0h02 = (y1 − y0)/h0 −c0h0 – ((c1 −c0)/(3h0)).h02 = (y1 − y0)/h0 – (h0/3).(c1 +2c0) Do tính khả vi hàm g(x) đến cấp x2 nên g1’’(x2) = g2’’(x2) ⇒ 2c1 +6d1(x2 − x1) = 2c2 +6d2(x2 − x2) ⇒ d1 = (c2 −c1)/(3h1) ⇒ b1 = (y2 − y1)/h1 −c1h1 −d1h12 = (y2 − y1)/ h1 −c1h1 – ((c2 −c1)/3h1).h12 = (y2 − y1)/h1 – (h1/3).(c2 +2c1) Từ điều kiện g0’(x1) = g1’(x1) ta b0 +2c0(x1 − x0) +3d0(x1 − x0)2 = b1 +2c1(x1 − x1)+3d1(x1 − x1)2 ⇒ b1 = b0 +2c0h0 +3d0h02 Thay b1 = (y2 − y1)/h1 – (h1/3).(c2 +2c1), b0 = (y1 − y0)/h0 – (h0 /3).(c1 +2c0), d0 = (c1 −c0)/(3h0) ta h0c0 +2(h0 +h1)c1 +h1c2 = 3(y2 − y1)/h1 −3(y1 − y0)/h0 Hệ có vơ số nghiệm b Định nghĩa 2: Cho f(x) xác định đoạn [a,b] phép phân hoạch nó: a = x0 < x1 < x2 < < xn = b Đặt yk = f(xk),k = n Một spline bậc ba nội suy hàm f(x) [a,b] hàm g(x) thỏa điều kiện sau: - g(x) có đạo hàm đến cấp liên tục [a,b] - Trên đoạn [xk,xk+1], k = n −1, g(x) = gk(x) đa thức bậc ba - g(xk) = f(xk) = yk, ∀k = n Xét đoạn [xk,xk+1], k = n −1 Đặt hk = xk+1 − xk Vì gk(x) đa thức bậc ba nên gk(x) = ak +bk(x − xk)+ck(x − xk)2 +dk(x − xk)3 Do g (xk) = gk(xk) = yk ⇒ yk = ak ak+bkhk+ckhk2+dkhk3 = g(xk+1) = gk(xk+1) = yk+1 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA { y k +1− y k −c k hk −d k hk , ∀ k =0 n−1 hk Từ đó, ta có hệ y − y k−1 bk−1= k −c k−1 hk−1−d k−1 h 2k−1 , ∀ k=1 n h k−1 bk = Xét điểm xk, k = n−1 Do tính khả vi hàm g (x) đến cấp xk nên g’k−1 (xk) = g’k (xk) g’’k−1 (xk) = g’’k (xk) Từ điều kiện g’’k−1 (xk) = g’’k (xk) ta { { c k −c k−1 y k+1 − y k h k , ∀ k =1 n−1 b k= − ( c k+1 +2 c k ) , ∀ k=1 n−1 hk−1 hk ⇒ c k+ 1−c k y k − y k−1 h k−1 d k= , ∀ k=1 n−1 bk−1= − (c k +2 c k−1), ∀ k=1 n hk h k−1 d k−1= Từ điều kiện g’k−1(xk) = g’k(xk) ta bk = bk−1+2ck−1hk−1 +3dk−1hk−12 { ⇒ hk−1 c k−1+2(hk−1 +hk )c k + hk c k+1=3 ∀ k=1 n−1 y k+1− y k y − y k−1 −3 k hk h k−1 Hệ có vơ số nghiệm nên để có tính nhất, ta phải bổ sung thêm điều kiện biên Spline bậc ba tự nhiên: Điều kiện để xác định spline bậc ba tự nhiên g’’(a) = g’’(b) = g’’(a) = g0’’(x0) = ⇔ 2c0 + 6d0(x0 − x0) = ⇒ c0 = g’’(b) = gn’’(xn) = ⇔ 2cn + 6dn(xn − xn) = ⇒ cn = Giải hệ AC = B tìm C với C = (c0,c1, ,cn−1,cn)T ( 0 h0 2(h 0+ h1) h … … A= … 0 0 0 ( … 0 … 0 … … … … 2(h n−2+ hn−1) hn−1 … ( y 2− y ) ( y 1− y ) −3 h1 h0 … B= ( y n − y n−1) ( y n−1− y n−2 ) −3 hn−1 h n−2 ) ) Sau tìm c0,c1, ,cn−1,cn hệ số gk(x) xác định BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA { ak = y k y −y h bk = k +1 k − k (c k+1 +2 c k ) hk ck +1−c k dk = , ∀ k =0 .n−1 hk Spline bậc ba ràng buộc: Điều kiện để xác định spline bậc ba ràng buộc g’(a) = α, g’(b) = β Khi ta có thêm phương trình { y 1− y −3 α h0 y −y hn−1 c n−1 +2 hn−1 c n=3 β−3 n n−1 hn−1 h0 c +h c 1=3 thuật toán xác định spline bậc ba ràng buộc sau: giải hệ AC = B tìm C với C = (c0,c1, ,cn−1,cn)T ( h0 h0 h 2(h0 +h 1) h1 … … A= … 0 0 0 … 0 … 0 … … … … 2(hn−2 +h n−1 ) hn−1 … hn−1 hn−1 ( ) ) ( y − y 0) −3 α h0 ( y 2− y ) ( y 1− y ) −3 h1 h0 … B= ( y − y n−1) ( y n−1− y n−2 ) n −3 hn−1 h n−2 ( y n− y n−1 ) β−3 hn−1 Sau tìm c0,c1, ,cn−1,cn hệ số gk(x) xác định { ak = y k y k +1− y k hk bk = − (c k+1 +2 c k ) hk ck +1−c k dk = , ∀ k =0 .n−1 hk BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA II/Phần tập: Bài 3: construct the natural cubic spline for the following data a) I xi yi 8.3 17.56492 8.6 18.50515 Giải Ta có : S(x) = Si(x) = + bi(x-xi) n = 1, h = 0.3, Với i = 0, từ thuật toán ta được : a0 = y0=17.56492 b0¿ y 1− y 18.50515−17.56492 ¿ = 3.1341 h 0.3 spline tự nhiên có dạng : S(x)= 17.56492+3.1341(x-8,3) b) I xi yi 0.8 0.22363362 1.0 0.658909197 Giải Ta có : S(x) = Si(x) = + bi(x-xi) n = 1, h = 0.2 Với i = 0, từ thuật toán ta được : a0= y0=0.22363362 b0¿ y 1− y 0.658909197−0.22363362 ¿ = 2.17229175 h 0.2 spline tự nhiên có dạng : S(x)= 0.22363362+2.17229175 (x-0.8) BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA c) I xi yi -0.5 -0.0247500 -0.25 0.3349375 1.1010000 Giải Ta có: S(x)=Si(x)= + bi(x-xi) + ci(x –xi)2 + di(x-xi)3 n=2 , h1=h2=0.25, spline tự nhiên nên c0=c2=0, c1=( y 2− y y 1− y −3 )/ 2(h1+h0) = 4.8765 h1 h0 Với i=0 : a0= y0=-0.02475 b0 = y 1− y h - ( c1+2c0 )=1.032375 h0 d0 = c 1−c = 6.502 3h0 Tương tự i=1: a1=0.3349375, b1=2,2515 , d1= -6.502 spline cần tìm có dạng : i S(x)=Si(x)= + bi(x-xi) + ci(x –xi)2 + di(x-xi)3 bi ci -0.02475 1.032375 0.3349375 2,2515 4.8765 di 6.502 -6.502 d) i xi 0.1 0.2 0.3 yi -0.62049958 -0.28398668 0.00660095 Ta có: S(x)=Si(x)= + bi(x-xi) + ci(x –xi)2 + di(x-xi)3 0.4 0.2484244 n=3 , h1=h2=h3=0.1, spline tự nhiên nên c0=c3=0, c1=( y 2− y y 1− y −3 )/ 2(h1+h0) = -2.698738 h1 h0 c2==( y 3− y y 2− y −3 )/ 2(h1+h2) = -2.982629 h2 h1 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 10 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA f’(0.25)= 2.907061 S1’(0.25)= 2.908242 Sai số thực tế ∆’=1.18057×10-3 CODE MAPLE 2019: x1 := 8.4; x2 := 0.9; x3 := -1/3; x4 := 0.25; y1 := x*ln(x); y2 := sin(exp(x) - 2); y3 := x^3 + 4.001*x^2 + 4.002*x + 1.101; y4 := x*cos(x) - 2*x^2 + 3*x - 1; a1_giatritaix0 := eval(a, x = x1); b1_giatritaix0 := eval(b, x = x2); c1_giatritaix0 := eval(c, x = x3); d1_giatritaix0 := eval(d, x = x4); a2_giatrichinhxactaix0 := eval(y1, x = x1); b2_giatrichinhxactaix0 := eval(y2, x = x2); c2_giatrichinhxactaix0 := eval(y3, x = x3); d2_giatrichinhxactaix0 := eval(y4, x = x4); a3_daohamtaix0 := eval(diff(a, x), x = x1); b3_daohamtaix0 := eval(diff(b, x), x = x2); c3_daohamtaix0 := eval(diff(c, x), x = x3); d3_daohamtaix0 := eval(diff(d, x), x = x4); a4_daohamchinhxactaix0 := eval(diff(y1, x), x = x1); BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 14 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA b4_daohamchinhxactaix0 := eval(diff(y2, x), x = x2); c4_daohamchinhxactaix0 := eval(diff(y3, x), x = x3); d4_daohamchinhxactaix0 := eval(diff(y4, x), x = x4); saiso_caua := abs(a1_giatritaix0 - a2_giatrichinhxactaix0); saiso_caub := abs(b1_giatritaix0 - b2_giatrichinhxactaix0); saiso_cauc := abs(c1_giatritaix0 - c2_giatrichinhxactaix0); saiso_caud := abs(d1_giatritaix0 - d2_giatrichinhxactaix0); saisodaoham_caua := abs(a3_daohamtaix0 - a4_daohamchinhxactaix0); saisodaoham_caub := abs(b3_daohamtaix0 - b4_daohamchinhxactaix0); saisodaoham_cauc := abs(c3_daohamtaix0 - c4_daohamchinhxactaix0); saisodaoham_caud := abs(d3_daohamtaix0 - d4_daohamchinhxactaix0); A := Matrix(5, 5, 1); A[1, 1] := ''; A[1, 2] := 'x'; A[1, 3] := 'f'; A[1, 4] := 'f*chinh*xac'; A[1, 5] := 'sai*so'; A[2, 1] := 'a'; A[3, 1] := 'b'; A[4, 1] := 'c'; A[5, 1] := 'd'; A[2, 2] := eval(x1); A[3, 2] := eval(x2); A[4, 2] := eval(x3); A[5, 2] := eval(x4); A[2, 3] := eval(a1_giatritaix0); A[2, 4] := eval(a2_giatrichinhxactaix0); A[2, 5] := eval(saiso_caua); BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 15 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA A[3, 3] := eval(b1_giatritaix0); A[3, 4] := eval(b2_giatrichinhxactaix0); A[3, 5] := eval(saiso_caub); A[4, 3] := eval(c1_giatritaix0); A[4, 4] := eval(c2_giatrichinhxactaix0); A[4, 5] := eval(saiso_cauc); A[5, 3] := eval(d1_giatritaix0); A[5, 4] := eval(d2_giatrichinhxactaix0); A[5, 5] := eval(saiso_caud); A; B := Matrix(5, 5, 1); B[1, 1] := ''; B[1, 2] := 'x'; B[1, 3] := 'dao*ham'; B[1, 4] := 'dao*ham*chinh*xac'; B[1, 5] := 'sai*so'; B[2, 1] := 'a'; B[3, 1] := 'b'; B[4, 1] := 'c'; B[5, 1] := 'd'; B[2, 2] := eval(x1); B[3, 2] := eval(x2); B[4, 2] := eval(x3); B[5, 2] := eval(x4); B[2, 3] := eval(a3_daohamtaix0); B[2, 4] := eval(a4_daohamchinhxactaix0); B[2, 5] := eval(saisodaoham_caua); B[3, 3] := eval(b3_daohamtaix0); B[3, 4] := eval(b4_daohamchinhxactaix0); BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 16 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA B[3, 5] := eval(saisodaoham_caub); B[4, 3] := eval(c3_daohamtaix0); B[4, 4] := eval(c4_daohamchinhxactaix0); B[4, 5] := eval(saisodaoham_cauc); B[5, 3] := eval(d3_daohamtaix0); B[5, 4] := eval(d4_daohamchinhxactaix0); B[5, 5] := eval(saisodaoham_caud); B; Bài 6: The data in Exercise were generated using the following functions Use the cubic splines constructed in Exercise for the given value of x to approximate f (x) and f’(x), and calculate the actual error a f (x) = e2x ; approximate f (0.43) and f’(0.43) b f (x) = x4 − x3 + x2 − x + 1; approximate f (0) and f’(0) c f (x) = x2 cos x − 3x; approximate f (0.18) and f’(0.18) d f (x) = ln(ex + 2); approximate f (0.25) and f’(0.25) a Từ Exercise 4, ta có: S(x)= + 3,4365x - Hàm số: f(x0)=f(0,43)=e2x0=e2x0,43=2,3632 S(x0)=S(0,43)=3,43656x0 +1 = 2,4777 Sai số: Ef = S(x0) – f(x0) = 2,4777- 2,3632= 0,1146 - Đạo hàm f’(x0) = 2.e2x0 = 2.e2x0,43 = 4,7263 S’(x0) = 3,43656 Sai số: Edf = S’(x0) – f’(x0) = -1,2898 b Tương tự, từ Exercise ta có: S(x)= 1,33203-1,0625(x+0,25) - Hàm số f(x0) = f(0) = x04 – x03 + x02 – x0 + = S(x0) = S(0) = 1,33203-1,0625(x0+0,25) = 1,066406 Sai số: Ef = S(x0) – f(x0) = 1,066406 – = 0,066406 - Đạo hàm BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 17 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA f’(x0) = f(0) = 4x03 – 3x02 + 2x0 -1 = -1 S’(x0) = S’(0) = -1,0625 Sai số: Edf = S’(x0) – f’(x0) = -1,0625 + = -0,0625 c Tương tự, từ Exercise 4, ta có: S(x) = ¿ Theo đề xo = 0,18 ∈¿ ] suy S(x) = 4,4813(x-0,3)3 – 2,7513(x-0,1) 0,29004996 - Hàm số f(x0) = f(0,18) = x02 cos x0 − 3x = - 0,50812 S(x0) = S(0,18) = 4,38125(x0-0,1)3 – 2,75128(x0-0,1) -0,29004996 = -0,50791 Sai số: Ef = S(x0) – f(x0) = -0,50791+ 0,50812 = 2,13800x10-4 - Đạo hàm f’(x0) = f(0,18) = 2x0cos(x0) – x02sin(x0) – = -2,65161 S’(x0) = S’(0,18) = 13,14375(x0-0,1)2 – 2,75128 = -2,66716 Sai số: Edf = S’(x0) – f’(x0) = -266716 + 2,65161 = -0,015549 d Từ Exercise 4, ta có: { 0.86199480+0.1756(x +1)+ 0,06565 ( x +1 )3 x ∈[−1;−0,5] S(x)= 0,95802009+0,2248 ( x+ 0,5 )+ 0,09847(x +0,5)2+ 0,02828( x+ 0,5)3 x ∈[−0,5 ; 0] 1,0986123+0,3445 x +0,14089 x 2−0,09393 x x ∈[0 ;0,5] Ta có xo = 0,25 x ∈[0 ; 0,5] suy S(x) = 1,09861+0,3445 x+ 0,14089 x 2−0,09393 x - Hàm số f(x0) = f(0,25) = ln(exo + 2) = 1,18907 S(x0) = S(x0) = 1,09861+0,3445 xo+0,14089 xo 2−0,09393 xo = 1,19209 Sai số: : Ef = S(x0) – f(x0) = 1,19209 – 1,18907 = 0,0030215 - Đạo hàm f’(x0) = f’(0,25) = e xo = 0,39099 e xo +2 S’(x0) = S’(0,25) = -0,28179x2 + 0,28179x + 0,34456 = 0,39739 Sai số: Edf = S’(x0) – f’(x0) = 0,39739 – 0,39099 = 0,006408 CODE MAPLE 2019: BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 18 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA readlib(spline); a := spline([0., 0.5], [100000, 2.71828], x, cubic); b := spline([-0.25, 0.25], [1.33203, 0.800781], x, cubic); c := spline([0.1, 0.2, 0.3], [-0.29004996, -0.56079734, -0.81401972], x, cubic); d := spline([-1, -0.5, 0, 0.5], [0.86199480, 0.95802009, 1.0986123, 1.2943767], x, cubic); x1 := 0.43; x2 := 0; x3 := 0.18; x4 := 0.25; y1 := exp(2*x); y2 := x^4 - x^3 + x^2 - x + 1; y3 := x^2*cos(x) - 3*x; y4 := ln(exp(x) + 2); a1_giatritaix0 := eval(a, x = x1); b1_giatritaix0 := eval(b, x = x2); c1_giatritaix0 := eval(c, x = x3); d1_giatritaix0 := eval(d, x = x4); a2_giatrichinhxactaix0 := eval(y1, x = x1); b2_giatrichinhxactaix0 := eval(y2, x = x2); c2_giatrichinhxactaix0 := eval(y3, x = x3); d2_giatrichinhxactaix0 := eval(y4, x = x4); a3_daohamtaix0 := eval(diff(a, x), x = x1); b3_daohamtaix0 := eval(diff(b, x), x = x2); c3_daohamtaix0 := eval(diff(c, x), x = x3); d3_daohamtaix0 := eval(diff(d, x), x = x4); a4_daohamchinhxactaix0 := eval(diff(y1, x), x = x1); b4_daohamchinhxactaix0 := eval(diff(y2, x), x = x2); c4_daohamchinhxactaix0 := eval(diff(y3, x), x = x3); BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 19 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA d4_daohamchinhxactaix0 := eval(diff(y4, x), x = x4); saiso_caua := abs(a1_giatritaix0 - a2_giatrichinhxactaix0); saiso_caub := abs(b1_giatritaix0 - b2_giatrichinhxactaix0); saiso_cauc := abs(c1_giatritaix0 - c2_giatrichinhxactaix0); saiso_caud := abs(d1_giatritaix0 - d2_giatrichinhxactaix0); saisodaoham_caua := abs(a3_daohamtaix0 - a4_daohamchinhxactaix0); saisodaoham_caub := abs(b3_daohamtaix0 - b4_daohamchinhxactaix0); saisodaoham_cauc := abs(c3_daohamtaix0 - c4_daohamchinhxactaix0); saisodaoham_caud := abs(d3_daohamtaix0 - d4_daohamchinhxactaix0); A := Matrix(5, 5, 1); A[1, 1] := ''; A[1, 2] := 'x'; A[1, 3] := 'f'; A[1, 4] := 'f*chinh*xac'; A[1, 5] := 'sai*so'; A[2, 1] := 'a'; A[3, 1] := 'b'; A[4, 1] := 'c'; A[5, 1] := 'd'; A[2, 2] := eval(x1); A[3, 2] := eval(x2); A[4, 2] := eval(x3); A[5, 2] := eval(x4); A[2, 3] := eval(a1_giatritaix0); A[2, 4] := eval(a2_giatrichinhxactaix0); A[2, 5] := eval(saiso_caua); A[3, 3] := eval(b1_giatritaix0); A[3, 4] := eval(b2_giatrichinhxactaix0); A[3, 5] := eval(saiso_caub); BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 20 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA A[4, 3] := eval(c1_giatritaix0); A[4, 4] := eval(c2_giatrichinhxactaix0); A[4, 5] := eval(saiso_cauc); A[5, 3] := eval(d1_giatritaix0); A[5, 4] := eval(d2_giatrichinhxactaix0); A[5, 5] := eval(saiso_caud); A; B := Matrix(5, 5, 1); B[1, 1] := ''; B[1, 2] := 'x'; B[1, 3] := 'dao*ham'; B[1, 4] := 'dao*ham*chinh*xac'; B[1, 5] := 'sai*so'; B[2, 1] := 'a'; B[3, 1] := 'b'; B[4, 1] := 'c'; B[5, 1] := 'd'; B[2, 2] := eval(x1); B[3, 2] := eval(x2); B[4, 2] := eval(x3); B[5, 2] := eval(x4); B[2, 3] := eval(a3_daohamtaix0); B[2, 4] := eval(a4_daohamchinhxactaix0); B[2, 5] := eval(saisodaoham_caua); B[3, 3] := eval(b3_daohamtaix0); B[3, 4] := eval(b4_daohamchinhxactaix0); B[3, 5] := eval(saisodaoham_caub); B[4, 3] := eval(c3_daohamtaix0); B[4, 4] := eval(c4_daohamchinhxactaix0); BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 21 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA B[4, 5] := eval(saisodaoham_cauc); B[5, 3] := eval(d3_daohamtaix0); B[5, 4] := eval(d4_daohamchinhxactaix0); B[5, 5] := eval(saisodaoham_caud); B; Bài 11: S(x) = { S ( x )=1+2 x−x ; if ≤ x ≤ S ( x )=2+b ( x−1 )+ c( x−1) +d (x−1) ;if 1< x ≤ Ta có: n=2; h 0=h1=1 Vì spline bậc ba tự nhiên nên c 0=c 2=0 Ta có : d = c 1−c =¿ c1 =c=−3 h0 d=d 1= c 2−c =1 h1 S(x) có đạo hàm đoạn [ 0,2]  S’(1−¿ ¿= S’(1¿)  b= -1 Vậy b=-1 , c=-3 , d= CODE MAPLE 2019: S0 := -x^3 + 2*x + 1; S1 := + b*(x - 1) + c*(x - 1)^2 + d*(x - 1)^3; daohamcap1_S0 := diff(S0, x); daohamcap2_S0 := diff(S0, x, x); daohamcap1_S1 := diff(S1, x); daohamcap2_S1 := diff(S1, x, x); solve({eval(S0, x = 1) = eval(S1, x = 1), eval(daohamcap1_S0, x = 1) = eval(daohamcap1_S1, x = 1), eval(daohamcap2_S0, x = 1) = eval(daohamcap2_S1, x = 1), eval(daohamcap2_S1, x = 2) = 0}, [b, c, d]); BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 22 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Bài 13: { S0 ( x ) =1+B ( x−1 ) −D ( x−1 )3 , if 1≤ x D= -d = => d= 4 Ta có S(3)=0 0=1+b  b= −3 + 4 −1 S(x) có đạo hàm đoạn [1,3] S’(2−¿ ¿)=S’(2+¿¿ )  B= Vậy b= −1 1 ,B= , d= ,D= 4 CODE MAPLE 2019: S0 := + B*(x - 1) - D*(x - 1)^3; S1 := + b*(x - 2) - 3/4*(x - 2)^2 + d*(x - 2)^3; daohamcap1_S0 := diff(S0, x); daohamcap2_S0 := diff(S0, x, x); daohamcap1_S1 := diff(S1, x); daohamcap2_S1 := diff(S1, x, x); BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 23 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA solve({eval(S0, x = 2) = eval(S1, x = 2), eval(daohamcap1_S0, x = 2) = eval(daohamcap1_S1, x = 2), eval(daohamcap2_S0, x = 2) = eval(daohamcap2_S1, x = 2), eval(daohamcap2_S1, x = 3) = 0}, [B, D, b, d]); Bài 15: Construct a natural cubic spline to approximate f (x) = cos πx by using the values given by f (x) at x = 0, 0.25, 0.5, 0.75, and 1.0 Integrate the spline over [0, 1], ∫ cos π x dx = Use the derivatives of the spline to and compare the result to approximate f (0.5) and f (0.5) Compare these approximations to the actual values i xi yi 0 1 0.25 0.7071068 0.5 0.75 -0.7071068 1.0 -1 S(x) = Si(x) = + bi(x - xi) + ci(x - xi)2 + di(x - xi)3 Spline tự nhiên: c0 = c4 = h0 = h1 = h2 = h3 = 0.25 [ ][ 2(h0 +h 1) h1 0.25 = 0.25 h1 2(h1+ h2) h2 0.25 A= 0.25 h2 2(h2 +h3 ) [ ] y2 − y1 y −y −3 h1 h0 −4.970563 y3 − y y 2− y = −3 B= h2 h1 4.970563 y4 − y3 y3 − y2 −3 h3 h2 [ ] ] BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 24 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA [][ c −4.970563 Từ AC = B → C = c = 4.970563 c3 ] { a i= y i y i+1 − y i hi bi= − (c i+1 +2 c i) hi ci +1−c i d i= hi Với i = : a0 = 1, b0 = -0.7573593, d0 = -6.627417 Với i = : a1 = 0.7071068, b1 = -2, d1 = 6.627417 Với i = : a2 = 0, b2 = -3.242641, d2 = 6.627417 Với i = : a3 = -0.7071068, b3 = -2, d3 = -6.627417 { 1−0.7573593 x−6.627417 x x ∈ [ , 0.25 ] 0.7071068−2(x−0.25)−4.970563(x −0.25)2 +6.627417 ( x−0.25)3 x ∈ [ 0.25 , 0.5 ] S(x) = 0−3.242641( x−0.5)+6.627417 ( x−0.5) x ∈ [ 0.5 , 0.75 ] −0.7071068−2( x−0.75)+ 4.970563( x−0.75) −6.627417( x−0.75) x ∈ [ 0.75 , ] ∫ S( x)dx = 0.000000, S’(0.5) = −3.24264, and S”(0.5) = 0.0 CODE MAPLE 2019: readlib(spline); S := spline([0, 0.25, 0.5, 0.75, 1], [cos(Pi*0), cos(Pi*0.25), cos(Pi*0.5), cos(Pi*0.75), cos(Pi)], x, cubic); int(S, x = 1); -11 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 25 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA -4.770444512 10 x0 := 0.5; y := cos(Pi*x); daohamtaix0 := eval(diff(1.62132034309490 - 3.24264068660000*x + 6.85714335683466*10^(-9)*(x - 0.5)^2 + 6.62741698057143*(x - 0.5)^3, x), x = x0); daohamchinhxactaix0 := eval(diff(y, x), x = x0); daohamcap2 := eval(diff(1.62132034309490 - 3.24264068660000*x + 6.85714335683466*10^(-9)*(x - 0.5)^2 + 6.62741698057143*(x - 0.5)^3, x, x), x = x0); daohamcap2chinhxac := eval(diff(y, x, x), x = x0) Bài 33: Repeat Exercise 32, constructing three natural splines using Algorithm 3.4 Exercise 32: The upper portion of this noble beast is to be approximated using clamped cubic spline interpolants The curve is drawn on a grid from which the table is constructed Use Algorithm 3.5 to construct the three clamped cubic splines BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 26 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA CODE MAPLE 2019: readlib(spline); Spline1 := spline([1, 2, 5, 6, 7, 8, 10, 13, 17], [3, 3.7, 3.9, 4.2, 5.7, 6.6, 7.1, 6.7, 4.5], x, cubic); Spline2 := spline([17, 20, 23, 24, 25, 27, 27.7], [4.5, 7, 6.1, 5.6, 5.8, 5.2, 4.1], x, cubic); Spline3 := spline([27.7, 28, 29, 30], [4.1, 4.3, 4.1, 3], x, cubic); TÀI LIỆU THAM KHẢO: - Slide giảng thầy Nguyễn Đình Dương Giáo trình phương pháp tính Lê Thái Thanh BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA Tieu luan 27 BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA BAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BABAI.tap.lon.PHUONG.PHAP.TINH.de.tai.SPLINE.bac.BA

Ngày đăng: 24/12/2023, 16:07

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w