thuật toán xác định công thức tính giá trị của đa thức, ghi ở dạng chính tắc, trên cơ sở dùng công thức nội suy lagrange

16 1.5K 2
thuật toán xác định công thức tính giá trị của đa thức, ghi ở dạng chính tắc, trên cơ sở dùng công thức nội suy lagrange

Đ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

GVHD: TS. TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2 Chủ Đề 4: THUẬT TOÁN XÁC ĐỊNH CÔNG THỨC TÍNH GIÁ TRỊ CỦA ĐA THỨC, GHI Ở DẠNG CHÍNH TẮC, TRÊN CƠ SỞ DÙNG CÔNG THỨC NỘI SUY LAGRANGE Giảng viên hướng dẫn: TS. TRỊNH CÔNG DIỆU Nhóm thực hiện: 1. Ma Xuân Út 2. Lê Thị Diễm Kiều 3. Nguyễn Văn Tùng Tháng 12/2014 Nhóm thực hiện: 1/ Ma Xuân Út, 2/ Lê Thị Diễm Kiều, 3/ Nguyễn Văn Tùng (Chủ Đề: 4) GVHD: TS. TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2 NỘI DUNG TRÌNH BÀY Nhóm thực hiện: 1/ Ma Xuân Út, 2/ Lê Thị Diễm Kiều, 3/ Nguyễn Văn Tùng (Chủ Đề: 4) GVHD: TS. TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2 1. ĐẶT VẤN ĐỀ: Cho P là một hàm đa thức bậc bé hơn hoặc bằng n. Khi P cho ở dạng chính tắc 0 n i i i a x = ∑ , ta đã có thể tính giá trị của đa thức tại α ∈ℜ dễ dàng. Yêu cầu đặt ra: giải quyết bài toán bằng công thức nội suy Lagrane. Tuy nhiên, việc tính giá trị của P(x) tại α ∈ℜ nào đó với công thức dạng Lagrane gặp nhiều khó khăn hơn so với việc tính giá trị khi đa thức ở dạng chính tắc. Một cách tự nhiên, ta tìm hiểu xem có phương pháp nào có thể tính giá trị của P(x), x ∀ ∈ℜ khi biết một số giá trị ( ) , 0,1,2, ,n i P x i = trong đó i x là các giá trị đôi một khác nhau bằng công thức dạng chính tắc hay không. Một trong những cách có thể thực hiện điều này là dựa vào công thức nội suy Lagrane với mục tiêu là tìm thuật toán biến đổi đa thức từ dạng Lagrane về dạng chính tắc. Để thuận lợi trong việc kí hiệu và trình bày thuật toán, nhóm xin chọn cách viết dạng chính tắc của hàm đa thức P ở dạng: ( ) 1 0 1 0 n n i n n i n i P x a x a x a x a − − = = = + + + ∑ với 0 1 , , n a a a ∈ℜ 2. CƠ SỞ LÝ LUẬN: 2.1. Định lí 1: Cho các cặp ( ) , , 0, i i x y i n= với i j x x≠ nếu i j ≠ . Khi đó tồn tại duy nhất P(x) là đa thức bậc nhỏ hơn hoặc bằng n sao cho ( ) , 0, i i y P x i n= = . CM: Điều kiện cần và đủ để tồn tại duy nhất đa thức P(x) bậc nhỏ hơn hoặc bằng n sao cho ( ) , 0, i i y P x i n= = là hệ n+1 phương trình (I): ( ) 0 0, n n i i i i i y a x i n − = = = ∑ theo các ẩn 0 1 , , ,a n a a có nghiệm duy nhất. Gọi A là ma trận hệ số của (I). Ta có: 1 0 0 1 1 1 1 1 1 1 n n n n n n n n x x x x A x x − − −       =         Xét Nhóm thực hiện: 1/ Ma Xuân Út, 2/ Lê Thị Diễm Kiều, 3/ Nguyễn Văn Tùng (Chủ Đề: 4) GVHD: TS. TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2 0 0 1 1 1 1 1 n n n n n x x x x B x x       =         ( ) , 0, detB i j i j n x x = = − ∏ (Định thức Vandermond) , hay detB 0 ≠ Tùy theo giá trị của n, ta có ( ) ( ) det det BA = hoặc ( ) ( ) det det BA = − , do đó . Hệ (I) có (n+1) phương trình, (n+1) ẩn với định thức ma trận các hệ số khác 0 nên là hệ Crame. Hệ này có nghiệm duy nhất Định lí đã được chứng minh. 2.2. Định lý 2: (Định lý Bezout): Cho ( ) [ ] , P x R x α ∈ℜ ∈ là đa thức ở dạng chính tắc ( ) 1 0 n n i i P x a x − = = ∑ . Khi đó dư của phép chia P(x) cho ( ) x α − là ( ) P α CM: Nếu ta chia P(x) cho ( ) x α − dư hoặc bằng 0 hoặc một đa thức bậc 0 vì bậc ( ) x α − bằng 1. Vậy dư là một phần tử r ∈ℜ . Ta có ( ) ( ) ( ) P x x q x r α = − + Thay x bằng α ta được: ( ) ( ) 0.P q x r α = + hay ( ) P r α = 2.3. Định lý 3: Cho P(x) là một đa thức dạng chính tắc 1 0 n n i i a x − = ∑ , α là một số thực bất kỳ. Khi đó, ta có đẳng thức: ( ) ( ) 1 1 0 0 n n n i n i i i n i i P x a x b x x b α − − − − = =   = = − +  ÷   ∑ ∑ Trong đó: 0 0 1 ,i 1, 2, , n i i i b a b a b α − =   = + =  Chứng minh: Theo định lý Bezout thì đẳng thức trên tồn tại. Ta chỉ cần chứng minh đẳng thức truy hồi: ( ) 1 1 1 1 0 0 1 0 0 1 0 1 n n n n n n i n i n n i n i n n i i i n i n i i i i i i i i VP b x b x b b x b x b b x b x b b x α α α − − − − − − − − − − = = = = =   = − + = + + − = + −  ÷   ∑ ∑ ∑ ∑ ∑ Đồng nhất hệ số của hai vế, ta có: 0 0 1 ,i 1,2, ,n i i i b a b a b α − =   = + =  Hệ quả: Nhóm thực hiện: 1/ Ma Xuân Út, 2/ Lê Thị Diễm Kiều, 3/ Nguyễn Văn Tùng (Chủ Đề: 4) GVHD: TS. TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2 Cho Q(x) là đa th c h s th c có d ng chính t cứ ệ ố ự ạ ắ 1 1 0 , n n i i i a x α − − − = ∈ℜ ∑ Khi đó, ta có đẳng thức: ( ) 1 1 0 0 n n n i n i i n i i i a x x a b x α − − − − = =   − + =  ÷   ∑ ∑ (I) + Bi n đ i t v trái sang v ph i c a (I) đó chính là dùng ph ng phápế ổ ừ ế ế ả ủ ươ dùng sơ đồ hoocner ngược với các hệ số cho bởi : 0 0 1 ,i 1,2, ,n i i i b a b a a α − =   = − =  + Bi n đ i t v ph i sang v trái (ế ổ ừ ế ả ế I) đó chính là phương pháp dùng sơ đồ hoocner với các hệ số cho bởi 0 0 1 b ,i 1,2, ,n i i i a b a a α − =   = + =  2.4. Cách xây dựng đa thức nội suy Lagrange: Cho n+1 mốc nội suy ( ) , n n i i x y R xR ∈ với i j x x ≠ nếu ,i, j 1,2, ,ni j≠ = . Ta xây dựng đa thức P(x) bậc bé hơn hoặc bằng n sao cho ( ) , 1,2, , i i y P x i n= = Theo định lý 2, P(x) tồn tại và duy nhất. - Ta xây dựng P(x), với nhận xét ( ) ( ) 0 n i i i P x y Q x = = ∑ (1), với ( ) i Q x là đa thức có bậc n≤ và ( ) i Q x thỏa tinh chất : ( ) 1 0 i khi j i Q x khi j i =  =  ≠  , 1,2, ,i j n= Ta thấy 0 1 1, 1 , , , , , i i n x x x x x − + là nghiệm của phương trình ( ) 0 i Q x = Theo tính ch t c a đa th c :ấ ủ ứ ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 0 0 1 1 0 n i i i n i i j i j j i Q x x x x x x x x x x x P x x x R x − + = ≠ = − − − − − = − ∏ Do b c c a ậ ủ ( ) i Q x là nghiệm nên ( ) , i i R x C x = ∀ Mặt khác khi i j x x= thì ( ) 1 i Q x = vậy ta có: ( ) ( ) 0 .C 1 n i i i j i j j i Q x x x = ≠ = − = ∏ ( ) 0 1 i n i j j j i C x x = ≠ ⇔ = − ∏ V y ta có công th c d i d ng t ng quát c a P(x) là ậ ứ ướ ạ ổ ủ Nhóm thực hiện: 1/ Ma Xuân Út, 2/ Lê Thị Diễm Kiều, 3/ Nguyễn Văn Tùng (Chủ Đề: 4) GVHD: TS. TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2 ( ) ( ) 0 0 0 ( ) j j i n j i i i j j i j x x P x y x x ≠ = = ≠ = − = − ∏ ∑ ∏ 3. THUẬT TOÁN: Thuật toán xác định P(x) ở dạng chính tắc trên cơ sở dùng công thức nội suy Lagrange 3.1. Nhận xét: a) Để tìm được P(x) ở dạng chính tắc: ( ) 0 n n i i i i P x a x − = = ∑ bằng cách giải hệ phương trình tuyến tính ( ) ( ) 0 , 1,2, , n n k i i k i k y P x a x i n − = = = = ∑ b) Từ công thức nội suy Lagrange: ( ) ( ) ( ) 0 0 0 n j j i n j i n i i j j i j x x P x y x x ≠ = = ≠ = − = − ∏ ∑ ∏ Bằng thuật toán nhân chia cộng trừ đa thức, và rút gọn ta cũng thu được một biểu thức P(x) được biểu diễn dưới dạng chính tắc , nhưng thuật tón này cần nhiều phép tính, các phép tính dài , phức tạp dễ gây sai sót trong quá trình tính toán c) Do đó chúng ta tìm một phương pháp sao cho các thao tác tính toán đơn giản hơn , có thể viết được thành một chương trình mà có thể dùng máy tính ứng dụng. 3.2. Xây dựng thuật toán xác định dạng chính tắc của đa thức trên cơ sở dùng công thức nội suy Lagrange: Cho ( ) ( ) ( ) 0 0 0 0 ; n j j i n n j n k k i n k i i j j i j x x P x a x y x x ≠ = − = = ≠ = − = = − ∏ ∑ ∑ ∏ ( : k a chưa biết) Ta đặt: ( ) ( ) 0 n j j W x x x = = − ∏ ( ) ( ) 0 n i j j j i W x x x = ≠ = − ∏ Nhóm thực hiện: 1/ Ma Xuân Út, 2/ Lê Thị Diễm Kiều, 3/ Nguyễn Văn Tùng (Chủ Đề: 4) GVHD: TS. TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2 Ta có: ( ) ( ) ( ) , , 0, i i i W x W x x x i n x x = ∀ ≠ = − ( ) ( ) 0 n i i i j j j i W x x x = ≠ = − ∏ Như vậy ta viết P(x) như sau: ( ) ( ) ( ) ( ) 0 n i i i i i W x P x y x x W x = = − ∑ Sau đó ta dùng ý tưởng sau để chuyển P(x) về dạng chính tắc Bước 1: Tìm dạng biểu diễn chính tắc của ( ) 1 1 0 n n k k k W x t x + + − = = ∑ bằng sơ đồ hoocner ngược, ta làm nhưa sau: ( ) ( ) ( ) ( ) ( ) 0 1 ,i 0,n i n W x x x x x x x x x= − − − − = Từ công thức: ( ) 1 1 0 0 n n n i n i i n i i i a x x a b x α − − − − = =   − + =  ÷   ∑ ∑ (I) 0 0 1 ,i 1,2, , n i i i b a b a a α − =   = − =  i) Ta chọn : ( ) 1 1 0 n n i i i Q x a x − − − = = ∑ trong (I) là: 0 x x− và α là 1 x Vậy ( ) ( ) 2 2 0 1 1 0 k k k x x x x x λ − = − − = ∑ Với 00 01 0 1, x λ λ = = − 10 00 1 1 0 0 10 00 11 1 00 01 1 0 12 1 01 1 0 1 , 1,2 1 : k k k x k Hay x x x x x x λ λ λ λ λ λ λ λ λ λ λ λ = =   = − + =  = =   = − + = − −   = − =  ii) Ta tiến hành lặp như vậy đến (n-1) bước thì ta được: ( ) 1 1 0 n n k k k W x t x + + − = = ∑ Với ( ) ( ) ( ) 0 1 0 1 1 1 n k n n k n k t t x λ λ λ − − − − = = − + Bước 2: Ta tìm dạng chính tắc của Nhóm thực hiện: 1/ Ma Xuân Út, 2/ Lê Thị Diễm Kiều, 3/ Nguyễn Văn Tùng (Chủ Đề: 4) GVHD: TS. TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2 ( ) 0 , 0, n n k i ik k W x b x i n − = = = ∑ Được suy ra từ W(x) bằng sơ đồ hoocner ( ) ( ) ( ) ( ) 1 0 0 i i n n n k n k k ik i k k W x x x W x t x b x x x + − − = = = −   ⇒ = −  ÷   ∑ ∑ Với ( ) 0 0 1 i ik i k i k b t b x b t − =    = +   Bước 3: Ta tính ( ) i i in W x l= Bằng sơ đồ Hoocner và định lý Bezout ( ) ( ) ( ) i i i in W x T x x x l= − + Ta có: ( ) i i in W x l= Với ( ) 0 0 1 i i ik i ik i k l b l x c b − =    = +   Bước 4: Ta tính các hệ số 1 1 0 , , , , n n x x x x − Của đa thức: ( ) ( ) , 0, i i i i y W x i n W x = Lần lượt là: , , 0, i ik in y b k n l = Bước 5: Ta cộng các hệ số của , 0, n k x k n − = Thì ta được các hệ số , 0, k a k n = Của dạng biểu diễn chính tắc: ( ) 0 0 , , 0, n n n k i k k ik k i in y P x a x a b k n l − = = = = = ∑ ∑ Nhóm thực hiện: 1/ Ma Xuân Út, 2/ Lê Thị Diễm Kiều, 3/ Nguyễn Văn Tùng (Chủ Đề: 4) GVHD: TS. TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2 III. Biểu diễn thuật toán dưới dạng bảng tổng hợp sau: Bước 1 0 1 x x − − 10 1 1 λ = 0 11 x λ − 12 λ i x − 1 a b 1i x + − 1 1i x a b + − + … n x− 0 1t = 1 t 2 t … 1n t + ( ) W x Bước 2&3 0 t 1 t 2 t … 1n t + Bước 4 0 i i in y b l 1 i i in y b l …. i in in y b l 0 0 x x 00 1 00 1 b l = = 01 01 b l 02 l 0 0 n n b l 0 ( ) ( ) 0 0 0 W x W x 0 00 in y b l 0 01 in y b l … 0 0n in y b l … i i x x … 0 0 i i b l = … c e … 2 . i i d x c t x e d = + + 1n l … … ( ) ( ) i i i i W x W x … 0 i i in y b l … 1 i i in y b l … … i in in y b l … … … … … … … … … … … n n x x … … … … … nn nn l l … ( ) ( ) n n n W x W x 0 n n in y b l n m in y b l n nn in y b l Bước 5 k a 0 a 1 a … n a Nhóm thực hiện: 1/ Ma Xuân Út, 2/ Lê Thị Diễm Kiều, 3/ Nguyễn Văn Tùng (Chủ Đề: 4) GVHD: TS. TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2 Tính tổng. Nhóm thực hiện: 1/ Ma Xuân Út, 2/ Lê Thị Diễm Kiều, 3/ Nguyễn Văn Tùng (Chủ Đề: 4) [...]... 2/ Lê Thị Diễm Kiều, 3/ Nguyễn Văn Tùng (Chủ Đề: 4) GVHD: TS TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2 4 MÃ GIẢ a Tên thuật toán: NoiSuyLagrange b Input: - n { số mốc nội suy } - x0 , x1 , , xn { giá trị các mốc nội suy} - y0 , y1 , , y n {giá trị của hàm số P tại các mốc nội suy} c Output: Các hệ số của dạng chính tắc của P: a0 , a1 , , an d Giải thuật: Bước 1: Nhập n Bước 2: Cho i chạy từ 0 đến n: nhập xi... (Chủ Đề: 4) GVHD: TS TRỊNH CÔNG DIỆU 3.3 Lớp: Toán VB2- K2 VÍ DỤ: Cho P ( x ) = 2 x3 − 3 x 2 − x + 2 Các mốc nội suy: xi -1 0 1 2 yi -2 2 0 4 ( x i , yi ) , i = 0,3 Lập Bảng 1: Dùng sơ đồ hoocner ngược để tìm dạng chính tắc của W ( x ) = ( x + 1) ( x − 1) x ( x − 2 ) − x0 = 1 1 1 − x3 = −2 0 0 -1 0 1 − x2 = −1 1 1 − x1 = 0 1 -2 -1 2 0 ⇒ W ( x ) = x 4 − 2 x3 − x 2 + 2 x Lập Bảng 2: Dùng sơ đồ hoocner... (Chủ Đề: 4) GVHD: TS TRỊNH CÔNG DIỆU x2 = 1 Lớp: Toán VB2- K2 1 0 -2 -2 0 -1 0 1 x3 = 2 0 1 x3 = 2 -2 1 x2 = 1 -1 2 3 6 3 3 k =0 k =0 3 3 k =0 k =0 W0 ( x ) = ∑ b0 k x3− k = −6;W1 ( x ) = ∑ b1k x 3−k = 2; W2 ( x ) = ∑ b2 k x 3− k = −2;W3 ( x ) = ∑ b3k x 3−k = 6 Dùng Bảng 3 để tính n yi ak = ∑ bik , k = 0, n i = 0 Wi ( xi ) Wi ( x ) bik ( xi x0 x1 x2 x2 ak là các hệ số của ở dạng chính tắc ) yi bi 0... c j + xi bi( j −1)    lij = bij + xili ( j −1) - Cho j chạy từ 1 đến n tính:  Bước 7: Cho i chạy từ 0 đến n - ai = 0 - Cho j chạy từ 0 đến n : Bước 8: a i =a i + (y j /l jn )*b ji Cho i chạy từ 0 đến n: xuất ai Nhóm thực hiện: 1/ Ma Xuân Út, 2/ Lê Thị Diễm Kiều, 3/ Nguyễn Văn Tùng (Chủ Đề: 4) GVHD: TS TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2 5 CHƯƠNG TRÌNH #include #include using namespace...GVHD: TS TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2 BẢNG 1: − x0 1 λ10 = 1 − x0 λ11 a λ12 b − xi +1a + b t0 = 1 t1 t2 t0 t1 t2 x0 b00 =1 b01 x0 l00 = 1 l01 l02 … xi … bi 0= … d = xi c + t2 xi li 0 … c e … xn … … … … … … … … yi... moc noi suy) : "; cin>>so; n=so-1; a=new float[n+1]; float **b; float **l; b = new float*[n+1]; l= new float*[n+1]; for(int i=0;i . GVHD: TS. TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2 Chủ Đề 4: THUẬT TOÁN XÁC ĐỊNH CÔNG THỨC TÍNH GIÁ TRỊ CỦA ĐA THỨC, GHI Ở DẠNG CHÍNH TẮC, TRÊN CƠ SỞ DÙNG CÔNG THỨC NỘI SUY LAGRANGE Giảng viên. x ≠ = = ≠ = − = − ∏ ∑ ∏ 3. THUẬT TOÁN: Thuật toán xác định P(x) ở dạng chính tắc trên cơ sở dùng công thức nội suy Lagrange 3.1. Nhận xét: a) Để tìm được P(x) ở dạng chính tắc: ( ) 0 n n i i. trình mà có thể dùng máy tính ứng dụng. 3.2. Xây dựng thuật toán xác định dạng chính tắc của đa thức trên cơ sở dùng công thức nội suy Lagrange: Cho ( ) ( ) ( ) 0 0 0 0 ; n j j i n n j n k k i n k

Ngày đăng: 29/12/2014, 16:29

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan