Đặt vấn đề và ý tưởng phương pháp1.. Đặt vấn đề Các phương pháp tính nội suy đa thức đã biết ở các chủ đề trước, công thức tính khá thuận lợi, nhưng khi số lượng mốc nội suy tăng thêm th
Trang 1VIỆN TOÁN NG D NG VÀ TIN HỨ Ụ ỌC
Trang 22
1 ĐẶT VẤN ĐỀ 3
2 Ý TƯỞNG PHƯƠNG PHÁP 3
II NỘI DUNG LÍ THUYẾT 4
1 S PLINE B C Ậ 1 4
2 S PLINE B C Ậ 2 4
3 S PLINE B C Ậ 3 6
4 L ƯU Ý KHI CHỌN CÁC ĐIỀU KIỆN BIÊN : 10
III SAI S VÀ NG D NG 10Ố Ứ Ụ 1 S AI SỐ: 10
2 ỨNG DỤNG: 10
3. ƯU NHƯỢC ĐIỂM : 11
IV THU ẬT TOÁN, CHƯƠNG TRÌNH VÀ VÍ DỤ 12
1 T HUẬT TOÁN 12
2 CHƯƠNG TRÌNH 13
3 MỘT SỐ VÍ DỤ MINH HỌA 16
4 Đ ÁNH GIÁ PHƯƠNG PHÁP 22
Trang 3
I Đặt v ấn đề và ý tưở ng phương pháp
1 Đặt vấn đề
Các phương pháp tính nội suy đa thức đã biết ở các chủ đề trước, công thức tính khá thuận lợi, nhưng khi số lượng mốc nội suy tăng thêm thì bậc của đa thức nội suy cũng tăng lên Khi nội suy v i b d li u lớ ộ ữ ệ ớn thì đa thức thu được s có b c r t cao, khi n vi c tính toán và s dẽ ậ ấ ế ệ ử ụng đa thức thu được trở nên phức tạp hơn Và phương pháp nội suy bằng hàm ghép trơn đã khắc phục được như c điểm đó ợ
2 Ý tưởng phương pháp
Từ n+1 m c n i suy, ta xây d ng các ố ộ ự đa thức b c thậ ấp hơn n trên từng khúc, nhưng khi nối chúng l i vạ ẫn đạt độ trơn cao (ghép trơn từng khúc) Các đa thức này có bậc như nhau và bậc chúng không đổi khi ta tăng số mốc nội suy
Trang 44
Trước hết ta cần biết định nghĩa hàm ghép trơn
Xét 1 phân hoạch chia đoạ [a,b] như sau:n
S C − m là l p hàm liên tớ ục và có đạo hàm liên tục đến c p m-ấ 1 trên đoạn [a,b]
- Trên mỗi đoạn nhỏ i= xi− 1,x ii ,=1,nthì S(x) là đa thức bậc m
S(x) được t o bạ ởi n đa thức bậc m, mỗi đa thức bậc m c n m+1 h s ầ ệ ố chưa xác định Như vậy
để có được S(x) thì cần n (m +1)hệ số Theo cách chia đoạn như trên thì ta có n-1 điểm nối xitại các điểm đó thì hàm S(x) có đạo hàm liên tục đến cấp m-1, nghĩa là đã có m n −( )1 điều kiện, thêm n+1 điều ki n t b ng s nên còn thi u m-ệ ừ ả ố ế 1 điều kiện Điều ki n thi u sệ ế ẽ được b sung nh ổ ờcác nút biên x x = =0 a x x , = n= b
Trang 5S(x) là đa thức bậc 2 nên S’(x) là đa thức bậc nhất
Trang 9i i
i
i id+
Trang 104 Lưu ý khi chọn các điều kiện biên:
Trong ph n lý thuy t trên, chúng ta ch n ầ ế ở ọ đượ điềc u ki n t i biên nh v y khi có hàm ệ ạ ư ậ đã( )
y=f x Nh ng trong th c t , bài toán ư ự ế đặt ra th ng ch cho d ng d ng b ườ ỉ ướ ạ ộ điểm (x, y) mà không cho bi t hàm sế ố Trong trường h p này, ta ch n o hàm c p 1 tợ ọ đạ ấ ại 2 biên như sau:
a Trong tính toán:
- Sử d ng hàm SPLINE ụ để tính g n ầ đúng giá tr hàm s ị ố
- Sử d ng hàm SPLINE ụ để tính g n ầ đúng đạo hàm
Trang 13with open ( 'test.txt' 'r+' , ) as f :
for line in f readlines ():
x append ( float ( line split ( )[ ' ' 0 ]))
y append ( float ( line split ( )[ ' ' 1 ]))
Trang 14anpha i [ + ]= 1 lamda i [ ]/(- - 2 anpha i muy i [ ]* [ ])
beta i [ + 1 ]=( muy i [ ]* beta i d i [ ]- [ ])/(- - 2 anpha [ ]* muy [ ])
Trang 15a = float ( input ( "Nhập giá trị cần tính: " ))
print ( 'Giá trị xấp xỉ đa thức theo spline bậc 3 tại ' + ( str a )+ ' là:
' + ( str spline3 ( , 0 a )))
print ( 'Giá trị xấp xỉ đa thức theo spline bậc 2 tại ' + ( str a )+ ' là: ' + str ( spline2 ( 0 , a )))
print ( 'Giá trị xấp xỉ đa thức theo spline bậc 1 tại ' + ( str a )+ ' là: ' + str ( spline1 ( 0 , a )))
x0 = np linspace ( [ x ], x n [ ], 1000 )
y3 =[]
Trang 16plt title ( "Spline Curve" )
plt plot ( , , x0 y1 color = 'blue' , label = 'Spline bậc 1' )
plt plot ( , , x0 y2 color = 'green' , label = 'Spline bậc 2' )
plt plot ( , , x0 y3 color = 'red' , label = 'Spline bậc 3' )
Trang 17=============================================================== Các đa thức spline bậc 1:
Trang 1818
• So sánh hàm Spline bậc 3 so với hàm gốc y=sin( )x
VD2: Ta có bảng giá trị mực nước biển trung bình theo nhiệt độ trung bình của trái đất và bảng giá trị đo nhiệt độ trung bình của trái đất theo thời gian:
Trang 19Bảng 1: Nhiệt độ trung bình của trái đất theo
Trang 2020
Bảng 2: Giá trị mực nước biển trung bình theo
nhiệt độ trung bình của trái đất
• Ta sẽ tính dự đoán mực nước biển tại năm 1933
Đầu tiên, ta sẽ có giá trị nhiệt độ trung bình được dự đoán từ Bảng 1
Trang 21Giá trị xấp xỉ đa thức theo spline bậc 3 tại 1933.0 là: -0.21402750614459728
Giá trị xấp xỉ đa thức theo spline bậc 2 tại 1933.0 là: -0.323
Giá trị xấp xỉ đa thức theo spline bậc 1 tại 1933.0 là: -0.1826
Ta lấy nhiệt độ trung bình tại năm 1933 được dự đoán −0.214
Từ đây, ta sẽ dự đoán được mực nước biển trung bình năm 1933 theo Bảng 2
Trang 2222
Giá trị xấp xỉ đa thức theo spline bậc 3 tại -0.214 là: -123.99956009027183
Giá trị xấp xỉ đa thức theo spline bậc 2 tại -0.214 là: -214.01167726064983
Giá trị xấp xỉ đa thức theo spline bậc 1 tại -0.214 là: -130.0996946551724
Vậy ta đã có được dự đoán mực nước biển trung bình tại năm 1933
4 Đánh giá phương pháp
• Đây là một phương pháp nội suy khá là mạnh và đã khắc phục được nhược điểm khi có quá nhiều mốc nội suy thì bậc của đa thức sẽ tăng theo của có phương pháp nội suy đã
nêu trước
• Độ phức tạp thuật toán chỉ có O(n), được giảm nhiều so với các phương pháp khác, do
đó phương pháp này sẽ là lựa chọn tối ưu khi chạy được với bộ dữ liệu lớn