Tính giá trị hàm

5 727 2
Tính giá trị hàm

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

Thông tin tài liệu

9 CHƯƠNG III TÍNH GIÁ TRỊ HÀM 3.1. Tính giá trị đa thức. Sơ đồ Hoocner 3.1.1. Đặt vấn đề Cho đa thức bậc n có dạng tổng quát : p(x) = a 0 x n + a 1 x n-1 + . + a n-1 x+ a n (a#0) Tính giá trị đa thức p(x) khi x = c (c: giá trị cho trước) 3.1.2. Phương pháp Áp dụng sơ đồ Hoocner nhằm làm giảm đi số phép tính nhân (chỉ thực hiện n phép nhân), phương pháp này được phân tích như sau: p(x) = ( .((a 0 x + a 1 )x +a 2 )x+ . +a n-1 )x + a n Ö p(c) = ( .((a 0 c + a 1 )c +a 2 )c+ . +a n-1 )c + a n Ö Đặt p 0 = a 0 p 1 = a 0 c + a 1 = p 0 c + a 1 p 2 = p 1 c + a 2 . . . . . . . . p n = p n-1 c + a n = p(c) Sơ đồ Hoocner a 0 a 1 a 2 a n-1 a n p 0* c p 1* c p n-2* c p n-1* c p 0 p 1 p 2 . p n-1 p n = p(c) Vd: Cho p(x) = x 6 + 5x 4 + x 3 - x - 1 Tính p(-2) Áp dụng sơ đồ Hoocner: 1 0 -5 2 0 -1 -1 -2 4 2 -8 16 -30 1 -2 -1 4 -8 15 -31 Vậy p(-2) = -31 3.1.3. Thuật toán + Nhập vào: n, c, các hệ số a i ( n,0i = ) 10 + Xử lý: Đặt p = a 0 Lặp i = 1 → n : p = p * c + a i + Xuất kết quả: p 3.1.4. Chương trình #include <stdio.h> #include <conio.h> main ( ) { int i, n; float c, p, a [10]; clrsr (); printf (“Nhap gia tri can tinh : ”); scanf (“%f”,&c); printf (“Nhap bac da thuc : ”); scanf (“%d”,&n); printf (“Nhap các hệ số: \n”); for (i = 0, i<=n; i++) { printf (“a[%d] = ”, i); scanf (“%f”, &a[i]); } p = a[0]; for (i=1, i<=n; i++) p = p*c + a[i]; printf (“Gia tri cua da thuc : %.3f”, p); getch ( ); } 3.2. Sơ đồ Hoocner tổng quát 3.2.1. Đặt vấn đề Cho đa thức bậc n có dạng tổng quát : p(x) = a 0 x n + a 1 x n-1 + . + a n-1 x + a n (a 0 # 0) (1) Xác định các hệ số của p(y + c), trong đó y: biến mới, c: giá trị cho trước 3.2.2. Phương pháp Giả sử: p(y+c) = b 0 y n + b 1 y n-1 + . + b n-1 y + b n (2) Như vậy ta phải xác định các hệ số b i )n,0i( = 11  Xác định b n Xét y=0, từ (2) => p(c) = b n  Xác định b n-1 p(x) = (x-c) p 1 (x) + p(c) (1 ’ ) Trong đó p 1 (x) : đa thức bậc n-1 n1n2n 2n 1 1n 0 b)byb .ybyb(y)cy(p +++++=+ −− −− Đặt x=y+c ta có: n1n2n 2n 1 1n 0 b)byb .ybyb)(cx()x(p +++++−= −− −− (2’) Đồng nhất (1’) & (2’) suy ra: p 1 (x) = b 0 y n-1 + b 1 y n-2 + .+ b n-2 y + b n - 1 Xét y = 0, p 1 (c) = b n-1 Tương tự ta có: b n-2 = p 2 (c), …, b 1 = p n-1 (c) Vậy b n-i = p i (c) (i = 0-->n) , b 0 =a 0 Với p i (c) là giá trị đa thức bậc n-i tại c Sơ đồ Hoocner tổng quát: a 0 a 1 a 2 a n-1 a n p 0* c p 1* c p n-2* c p n-1* c p 0 p 1 p 2 . p n-1 p n = p(c)=b n p 0 ’ * c p 1 ’ * c p n-2 ’ * c p 0 p 1 ’ p 2 ’ . p n-1 ’ = p 1 (c)=b n-1 … . Ví dụ: Cho p(x) = 2x 6 + 4x 5 - x 2 + x + 2. Xác định p(y-1) 12 Áp dụng sơ đồ Hoocner tổng quát : \ p(x) 2 4 0 0 -1 1 2 -2 -2 2 -2 3 -4 p 1 (x) 2 2 -2 2 -3 4 -2 -2 0 2 -4 7 p 2 (x) 2 0 -2 4 -7 11 -2 2 0 -4 p 3 (x) 2 -2 0 4 -11 -2 4 -4 p 4 (x) 2 -4 4 0 -2 6 p 5 (x) 2 -6 10 -2 2 -8 Vậy p(y-1) = 2y 6 - 8y 5 + 10y 4 - 11y 2 +11y- 2 3.2.3. Thuật toán - Nhập n, c, a [i] (i = n,0 ) - Lặp k = n → 1 Lặp i = 1 → k : a i = a i-1 * c + a i - Xuất a i (i = n,0 ) 3.3. Khai triển hàm qua chuỗi Taylo Hàm f(x) liên tục, khả tích tại x 0 nếu ta có thể khai triển được hàm f(x) qua chuỗi Taylor như sau: ( ) !n )xx)(x(f . !2 )xx)(x(f !1 )xx)(x(f )x(f)x(f n 00 n2 0000 0 − ++ − ′′ + − ′ +≈ khi x 0 = 0, ta có khai triển Macloranh: !n x)0(f . !2 x)0(f . !1 x)0(f )0(f)x(f n)n(2 ++ ′′ ++ ′ ++≈ Ví dụ: . !6 x !4 x !2 x 1Cosx 642 +−+−≈ 13 BÀI TẬP 1. Cho đa thức p(x) = 3x 5 + 8x 4 –2x 2 + x – 5 a. Tính p(3) b. Xác định đa thức p(y-2) 2. Khai báo (định nghĩa) hàm trong C để tính giá trị đa thức p(x) bậc n tổng quát theo sơ đồ Hoocner 3. Viết chương trình (có sử dụng hàm ở câu 1) nhập vào 2 giá trị a, b. Tính p(a) + p(b) 4. Viết chương trình nhập vào 2 đa thức p n (x) bậc n, p m (x) bậc m và giá trị c. Tính p n (c) + p m (c) 5. Viết chương trình xác định các hệ số của đa thức p(y+c) theo sơ đồ Hoocner tổng quát 6. Khai báo hàm trong C để tính giá trị các hàm e x , sinx, cosx theo khai triển Macloranh. . 9 CHƯƠNG III TÍNH GIÁ TRỊ HÀM 3.1. Tính giá trị đa thức. Sơ đồ Hoocner 3.1.1. Đặt vấn đề Cho đa thức bậc. sử dụng hàm ở câu 1) nhập vào 2 giá trị a, b. Tính p(a) + p(b) 4. Viết chương trình nhập vào 2 đa thức p n (x) bậc n, p m (x) bậc m và giá trị c. Tính p

Ngày đăng: 30/09/2013, 05:20

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan