Thuật toán HORNER

3 3.7K 11
Thuật toán HORNER

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

Thông tin tài liệu

dành cho các học sinh thuộc trung học cơ sở nắm rõ hơn về thuật toán horner, có thể thực hiện việc phân tích đa thức thành nhân tử được rễ ràng và nhanh chóng hơn .

Thuật toán Horner 1. Bài toán Trong quá trình giải phương trình ( ) f x 0= bằng các phương pháp: lặp đơn, Newton, tiếp tuyến … ta thường phải tính giá trị của f và đạo hàm của nó. Nếu f là một đa thức thì có thể tính giá trị ( ) f x và đạo hàm các cấp ( ) ( ) k f x một cách nhanh chóng. Đó là nhờ thuật toán Horner. 2. Thuật toán Horner Giả sử cho đa thức ( ) n n 0 1 n P x a a x a x= + +×××+ và R λ ∈ . Ta cần tìm ( ) n P λ . Theo thói quen ta thường viết ( ) n n 0 1 n P a a a λ λ λ = + +×××+ (1) Khi đó số phép nhân sẽ là: ( ) n n 1 1 2 n 2 + + + ×××+ = . Ngoài ra còn cần n phép cộng Mặt khác, nếu viết ( ) n P λ dưới dạng: ( ) ( ) ( ) ( ) n 0 1 n 2 n 1 n P a a a a a λ λ λ λ λ − − = + +×××+ + + (2) ta thấy số phép nhân trong (2) là n và số phép cộng cũng bằng n . Đặt ( ) n 1 n n 2 n 1 n 1 i 1 i i 0 1 1 n 0 0 b a b a b b a b b a b P a b λ λ λ λ λ − − − − −  =  = +     = +    = +   = +   (3) Phương pháp tính ( ) n P λ theo công thức (3) được gọi là thuật toán Horner. Có thể sử dụng bảng sau để tính nhanh ( ) n P λ n a n 1 a − n 2 a − … 1 a 0 a n 1 b λ − n 2 b λ − … 1 b λ 0 b λ n 1 b − n 2 b − n 3 b − … 0 b ( ) n P λ Bây giờ giả sử ta phải thực hiện phép chia đa thức ( ) n P x cho đơn thức x λ − . Ta có: ( ) ( ) ( ) n n 1 P x x Q x r λ − = − + , trong đó ( ) n r P λ = , ( ) n 1 n 1 0 1 n 1 Q x x x β β β − − − = + +×××+ . Từ đây suy ra ( ) ( ) ( ) ( ) n n 1 n n 1 n 2 n 1 0 1 n 0 P x x x x P β β λβ β λβ λ λβ − − − − = + − +×××+ − + − . So sánh hệ số đi với lũy thừa cùng bậc của x ở hai vế ta được: ( ) n n 1 n 1 n n 1 n 2 n 1 n 2 n 1 n 1 1 0 1 0 1 1 0 n 0 a a a a a a a P β β β λβ β λβ β λβ β λβ λ λβ − − − − − − − −  = =   = −   = +   ⇒     = −   = +   = −  (4) Từ công thức (3) và (4) ta suy ra ( ) i i b , i 0,n 1 β = = − . Như vậy có thể áp dụng thuật toán Horner để chia đa thức ( ) n P x cho đơn thức x λ − . Áp dụng thuật toán Horner liên tiếp ta được: ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) n n 1 0 0 n n 1 n 2 1 1 n 1 1 0 n 1 n 1 1 0 n P x x Q x R ,R P Q x x Q x R ,R Q Q x x Q x R ,R Q Q x R λ λ λ λ λ λ λ λ λ λ λ λ λ − − − − − − = − + = = − + = = − + = = Từ đây suy ra ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 2 n n 0 1 2 n P x R R x R x R x λ λ λ λ λ λ λ = + − + − + ×××+ − . Mặt khác theo công thức khai triển Taylor ( ) n P x trong lân cận điểm λ , ta có ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) n 2 n n n n n n P P P x P P x x x 2! n! λ λ λ λ λ λ λ ′′ ′ = + − + − +×××+ − So sánh hai biểu thức của ( ) n P x ta được: ( ) ( ) ( ) ( ) i i P i!R , i 0,n λ λ = = , trong đó ( ) ( ) i R i 0,n λ = tính được nhờ sơ đồ Horner. 3. Ví dụ minh họa Ví dụ 1 Cho ( ) 4 3 2 P x 3x 5x x 8, 2 λ = − + + = − . Hãy tìm ( ) P λ và các đạo hàm của nó. Ví dụ 2 Cho ( ) 8 7 5 3 2 8 P x x 8x 5x 6x 2x x 10, 1 λ = − + − + + − = − . Hãy tìm ( ) ( ) ( ) 3 8 8 P ,P λ λ . 4. Sơ đồ khối và chương trình minh họa cụ thể Horner P:=0 i = 0, 1, …, n Input ai, λ, n P := a[n-i] + λP Print P End . ) f x và đạo hàm các cấp ( ) ( ) k f x một cách nhanh chóng. Đó là nhờ thuật toán Horner. 2. Thuật toán Horner Giả sử cho đa thức ( ) n n 0 1 n P x a a x a x= + +×××+ và R λ ∈ . Ta cần tìm. i b , i 0,n 1 β = = − . Như vậy có thể áp dụng thuật toán Horner để chia đa thức ( ) n P x cho đơn thức x λ − . Áp dụng thuật toán Horner liên tiếp ta được: ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ). +    = +   = +   (3) Phương pháp tính ( ) n P λ theo công thức (3) được gọi là thuật toán Horner. Có thể sử dụng bảng sau để tính nhanh ( ) n P λ n a n 1 a − n 2 a − … 1 a 0 a n 1 b λ − n

Ngày đăng: 02/05/2014, 15:24

Từ khóa liên quan

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

Tài liệu liên quan