1. Trang chủ
  2. » Cao đẳng - Đại học

Bài tiểu luận môn phương pháp tính nhóm 02

19 2,6K 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 0,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chuyển đa thức từ dạng ctsr này sang dạng ctsr khác .... Đa thức được biểu diễn duy nhất dưới các dạng sau: •Dạng chính tắc: với •Dạng chuẩn tắc: với •Dạng chính tắc suy rộng: với •Dạ

Trang 1

GVHD: TS Trịnh Công Diệu Lớp: Toán VB2-K2 – NHÓM 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO Trường Đại Học Sư Phạm TP.HCM

Khoa Toán – Tin

THÀNH VIÊN NHÓM 2:

1 NGUYỄN THỊ MỸ THUẬN

2 MAI XUÂN BÌNH

3 PHẠM THỊ KIM CƯƠNG

4 PHẠM THẾ SINH

Trang 2

I ĐẶT VẤN ĐỀ 1

II GIẢI QUYẾT VẤN ĐỀ 1

1 Định lí về phép chia có dư 2

2 Thuật toán tính giá trị của đa thức 3

3 Cơ sở lí luận cho bài toán chuyển đổi 3

4 Chuyển đa thức từ dạng ctsr này sang dạng ctsr khác 7

4.1 Thuật toán 7

4.2 Ví dụ 8

4.3 Chương trình 10

III KẾT LUẬN 11

IV Bổ sung dạng chuyển đổi đa thức 11

1 Chuyển đa thức từ dạng chính tắc sang dạng chuẩn tắc suy rộng ……… 11

2 Chuyển đa thức từ dạng chuẩn tắc suy rộng sang dạng chính tắc ……… 13

V.TÀI LIỆU THAM KHẢO 17

MỤC LỤC

Trang 3

I Đặt vấn đề:

Cho là một đa thức bậc n theo biến Đa thức được biểu diễn duy nhất dưới các dạng sau:

•Dạng chính tắc:

với

•Dạng chuẩn tắc:

với

•Dạng chính tắc suy rộng:

với

•Dạng chuẩn tắc suy rộng:

với Vấn đề đặt ra là làm thế nào để chuyển đa thức từ dạng này sang dạng khác ?

II Giải quyết vấn đề:

1 Cơ sở lí luận

Ta nhận thấy dạng chính tắc, chuẩn tắc, chính tắc suy rộng là các trường hợp đặc biệt của dạng chuẩn tắc suy rộng

Dạng chuẩn tắc:

Dạng chính tắc suy rộng:

1 Định lý: về phép chia có dƣ

Trong trường số thực R, cho hai đa thức P(x) và Q(x) bất kỳ của vành , trong đó

deg(Q)  1, tồn tại duy nhất các đa thức S(x) và R(x) thoả mãn đồng thời các điều kiện:

i) P(x) = Q(x).S(x) + R(x)

ii) deg(R) < deg(Q)

( )

0

( )

n

i

i

i

 a a a0 ; ; 1 2 ;a nR

0

n

i i

i

  ;a0 ; a a1 ; 2 ;a nR

[ ]

0

( )

n

i i

i

 a a1 ; 2 ;a nR

[ ; ] 0

n

i h i

i

  ;a0 ; a a1 ; 2 ;a nR

h   0

h

1, 0

h 

[ ]

R x

Trang 4

Chứng minh

Tồn tại.Ta chứng minh bằng quy nạp theo m = deg(P), n = deg(Q) Nếu deg(P) < deg(Q) thì ta có

thể chọn S(x)  0 và R(x) = P(x) thoả mãn đồng thời các điều kiện i) và ii) Giả sử m  n và định

lý đã được chứng minh với các đa thức có bậc nhỏ hơn m Ta chứng minh định lý đúng với các đa thức bậc m Giả sử

Xét đa thức

Do hệ số của xm ở hai đa thức bị triệt tiêu nên bậc của H(x) không vượt quá m-1 Theo giả thiết quy nạp, tồn tại các đa thức S*(x), R*(x) sao cho

H(x) = S*(x).Q(x) + R*(x)

Nhưng khi đó

Vậy đặt S(x) = (am/bn)xm-n + S*(x) và R(x) = R*(x) ta được biểu diễn cần tìm cho P(x)

Duy nhất Giả sử ta có hai biểu diễn P(x) = S(x).Q(x) + R(x) và P(x) = S*(x).Q(x) + R*(x) thoả

mãn điều kiện ii) Khi đó Q(x).(S(x)-S*(x)) = R*(x) – R(x) Ta có, theo điều kiện ii) và định lý 1 thì deg(R*(x) – R(x)) < deg(Q) Mặt khác, nếu S(x) – S*(x) không đồng nhất bằng 0 thì deg(Q(x).(S(x)-S*(x))) = deg(Q(x)) + deg(S(x)-S*(x))  deg(Q) Mâu thuẫn vì hai vế bằng nhau Theo ký hiệu của định lý thì S(x) được gọi là thương số và R(x) được gọi là dư số trong phép chia P(x) cho Q(x)

k

k k m

k

k

k x Q x b x a

x

P

0 0

) ( , )

(

)

( )

(

) ( )

( )

(

1 1 1

0 0

1 1

1





m n

n m m

n n n m n

m m

m m m

n m n m

x b

b a a

b x

b x b

a a x a x

a x

a

x Q x b

a x P x

H

( ) ( ) m m n ( ) ( m m n *( )) ( ) *( )

Trang 5

2 Thuật toán tính giá trị của đa thức

Suy ra:

(Số dư trong phép chia đa thức P(x) cho x–α là P(α).)

Chứng minh:

Ta chỉ cần chứng minh P(x) - P(α) chia hết cho x- α Nhưng điều này là hiển nhiên vì

P(x) - P(α)=a n (x n - α n )+a n−1 (x n−1 - α n−1 )+ + a 1 (x− α)

x k - α k =(x− α)(x k−1 + α x k−2 + + α k−1)

3 Cơ sở lí luận cho Bài toán chuyển đổi:

Cho đa thức dưới dạng chuẩn tắc suy rộng như sau

(1)

Ta sẽ biểu diễn về dạng chuẩn tắc suy rộng như sau:

(2)

Để thực hiện được việc chuyển dạng này ta cần xác định các hệ số

Ta có:

[ , ] 0

( )

n

i h i

i

x x

P x  b x Q x

P  b

( )

P x

[ ; ] 0

n

i h i

i

( )

P x

[ ; ] 0

n

i k i

i

, k R

 

( 0, )

i

b in

,

[ , ] 0

1

0

1

0

1

0 [ -1, ]

1 , 1

n n

n

i h i

i

n

i

n

i

n

i

n h

n n

b

b

         

2

0

n

i i

Trang 6

với

Khi đó, ta có

Mà theo thuật toán tính giá trị đa thức ta có:

,

2

1

0 , 1

n n

n

i

n n

b

b

0

n

i

, 2

,1

3

0

n n

n

n

i

b

b

              

              

,0

0

[ -1, ] [ -2, ]

[ 1, ] ,

1

n

n

i h

i

b

 

               

          

     ,0

1, 2, ,1, 0

n n n

  n,0

P  b

P  b

 

0 n,0

bbP

1

n

i h

n i i

 

1, 1

[ 1, ]

1

1

1

2

1

[ 2, ] 1,

n n

n

i h

n i i

n

i

n

i

n h

b

 

1, 2

2

1

[

3 ( )

n n

n

i

n

b

 

 

3

, 1

n

n i i

Trang 7

với

Tương tự, ta có

Khi đó

Tiếp tục làm như trên, sau n-2 bước ta có:

với

Bước n-1: Đặt

Vậy sau n-1 bước ta thu được P(x) có dạng sau:

[ 2, ] 1,

1,1

n h

n n

b

[ 3, ]

[ 2, ]

2

n h

n

i h

i

1, 2, , k

n n n n

bP kb

2

n

i h

i

       

1

i n

k

 

            1 ,

1

2

n

i n h

i n

 

2 n 2 2) k 2,n 2

bP  n b

1

n

i n h

i n

P x b x    

 

1 ,

1

1

n

i n h

i n

 

 

Trang 8

Ta tóm tắt lại quá trình trên như sau:

[ , ] 0

i h i

i

1

        

0

[ ,k ] 0

n

i i

i

b

b x

 

,

n n

0

n

b

k



1,

n n

1

n

b

 2

n n 2k b 2,n b2,n1

2, 2 2 2

2

n

n

n

b

b

k

1

n n 1k b 1,nb n 1, 1 1   

1

1 =

n

b

k

Trang 9

4 Chuyển đa thức từ dạng chuẩn tắc suy rộng này sang dạng chuẩn tắc suy rộng khác

4.1 Thuật toán: Chuyển đa thức từ dạng chuẩn tắc suy rộng này sang dạng chuẩn tắc suy rộng

khác

- Nhập:

 n{ bậc của đa thức}

 h,k {lần lượt là bước nhảy của dạng chuẩn tắc suy rộng ban đầu và dạng chuẩn tắc suy rộng cần chuyển đổi.}

- Xuất:

- Thuật toán:

1 Gán

2 Với mỗi j chạy từ 0 đến n-1,

với mỗi i chạy từ n-1 đến j Gán

Gán

Thuật toán trên có thể được trình bày dưới dạng bảng sau: (Nhân chéo, cộng dọc)

0

, , , ,

n

i h

i

[ , ]

0

n

i k

i

:

n n

ba

1

:

aa  jk   i j ha

:

i i

ba

0, , ,1 n

n 1h

      n 2h   h  

0  b n n, b n n, 1 b n n, 2 b n,1 b n,0 b0

      k  n 3h   k

1 k b n1,n b n 1,n 1 b n1,n2 b n1,1b1

1

n  n 1k b 1,nb n b1,n1=b n1

Trang 10

2 Các ví dụ:

Ví dụ 1:

thức ở dạng chuẩn tắc suy rộng

Gỉai:

Ta có:

Bước 1:Xác định các hệ số ban đầu

Bước 2: Điền vào bảng

Suy ra:

Bước 3: Vậy dạng biểu diễn ở dạng chuẩn tắc suy rộng: là:

5

( ;2) 0

( ) ( 1)i

i i

  a0  1,a1  2,a2  3,a3  4,a4  5,a5  6

( )

P x

5

( ;1) 0

( ) i( 2)i

i

5

[ ;2]

0

( ) i( 1)i

i

( )

P x

5

( ;1) 0

( ) ( 2)i

i i

5

0

( ) i( 2)i 567 562( 2) 168( 2) 24( 2) 25( 2) 6( 2)

i

Trang 11

Ví dụ 2:

diễn đa thức ở dạng chuẩn tắc suy rộng với

Giải:

Ta có:

được ghi ở dạng chuẩn tắc suy rộng như sau:

, với (2)

Bước 1:Xác định các hệ số ban đầu

Bước 2: Điền vào bảng

-1088

Suy ra:

Bước 3: Vậy dạng biểu diễn ở dạng chuẩn tắc suy rộng với là:

7

0

( ) i i

i

 a0  4,a1  0,a2  1,a3   1,b4  3,a5  2,a6   5,a7  6

( )

[ ;0]

( ) i i i( 0)i

( )

P x

[ ; ]

( ) i i i( ( 2))i k

2,k 1

   

0 1088, 1 1084, 2 538, 3 179, 4 22, 5 71, 6 37, 7 6.

( )

7

( ; ) 0

( ) ( 2)

1088 1084( 2) 538( 2) 179( 2) 22( 2) 71( 2) 37( 2) 6( 2)

i k i

i

Trang 12

3.Chương trình tương ứng:

#include <stdio.h>

#include <conio.h>

void main()

{

int n, i, j;

float alpha, beta, h, k;

float hs[36], hsc[36], hsd[36];

printf("Bien doi dang Da thuc.\n");

printf("Chuan tac suy rong sang chuan tac suy rong.\n");

printf("Nhap n, alpha va h: ");

scanf("%d" "%f" "%f", &n, &alpha, &h);

printf("Nhap beta va k: ");

scanf("%f" "%f", &beta, &k);

hsd[n]=0;

for(i=0; i<= n; i++)

{

printf("Nhap vao he so a%d: ",i);

scanf("%f", &hs[i]);

}

printf("%6s"," ");

for (i=n; i>=0; i )

{

printf("%6.1f ", hs[i]);

}

for (j=0;j<n;j++)

{

for (i=n-1;i>=j;i )

{

hsc[j]=beta+(j*k);

hsd[i]=(beta+(j*k)-alpha+((j-i)*h));

hs[i]=hs[i]+hs[i+1]*(beta+(j*k)-alpha+((j-i)*h));

}

printf("\n%6s"," ");

for (i=n; i>=j; i )

{

printf("%6.1f ", hsd[i]);

}

printf("\n%6.1f",hsc[j]);

for (i=n; i>=j; i )

{

printf("%6.1f ", hs[i]);

}

}

printf("\nVoi beta =%6.1f va k = %6.1f, cac he so cua da thuc moi la:\n",beta,k);

Trang 13

}

getch();

}

Thuật toán chuyển từ dạng chuẩn tắc suy rộng này sang dạng chuẩn tắc suy rộng khác có thể áp dụng cho tất cả các dạng chuyển đổi còn lại Tuy nhiên, trong một số trường hợp, sử dụng cách chuyển trực tiếp tương ứng sẽ dễ dàng, thuận lợi hơn do thuật toán đơn giản hơn

CHUẨN TẮC SUY RỘNG VÀ NGƢỢC LẠI

Ta nhận thấy rằng, để chuyển đổi qua lại giữa các dạng đa thức ta cũng có thể chuyển đổi qua lại dựa vào hai dạng cơ bản là Chính tắc và Chuẩn tắc suy rộng

1 Chuyển đa thức từ dạng chính tắc sang dạng chuẩn tắc suy rộng

Ta có thể xem dạng chính tắc là trường hợp đặc biệt của dạng chuẩn tắc suy rộng, từ đó có thể áp dụng phép biến đổi từ chuẩn tắc suy rộng sang chuẩn tắc suy rộng như đã trình bày ở phần trên

Cho đa thức ở dạng chính tắc

0

( )

n i i i

 ta chuyển về dạng chuẩn tắc suy rộng

     ,k

0

n

i i

i

 

Áp dụng thuật toán 1 với h0; =0

Ta có thể viết lại thuật toán 1 cho trường hợp này như sau:

- Thuật toán: Chuyển dạng đa thức từ chính tắc sang chuẩn tắc suy rộng

- Nhập:

 n{ bậc của đa thức}

0

, , , ,

n i

i

 R

 k: bước nhảy

- Xuất:

0

n

i

i

- Thuật toán:

1 Gán b n:a n

2 Với mỗi j chạy từ 0 đến n-1,

với mỗi i chạy từ n-1 đến j

Gán a i:a i1(  jk)a i

Gán b i:a i

Trang 14

3 Xuất b b0, , ,1 b n

Thuật toán trên có thể được trình bày dưới dạng bảng sau

(Nguyên tắc: nhân ngang cộng chéo)

n

b n n, b n n, 1 b n n, 2 b n,2 b n,1 b n,0 b0

k



1,

n n

bb n 1,n 1 b n1,n2 b n1,2 b n1,1b1 2k



2,

n n

bb n2,n1 b n2,n2 b n2,2 b2

(n 2) k

  

2,n

b b2,n1 b2,n2=b n2

n 1k

  b 1,nb n b1,n1=b n1

P xxxx  x Hãy chuyển đa thức sang dạng chuẩn tắc suy rộng

  4   

,2 0

1 i

i i

 

Giải:

Ta có : 1,k2 Ta lập bảng sau:

4

k

2k

3k

Vậy ( ) có dạng chuẩn tắc suy rộng là :

Chương trình:

#include <stdio.h>

#include <conio.h>

void main()

{

int n, alpha, i, j;

int k;

int hs[36], hsc[36];

printf("Bien doi dang Da thuc.\n");

Trang 15

scanf("%d", &n);

printf("Nhap alpha va k: ");

scanf("%d" "%d", &alpha, &k);

for(i=0; i<= n; i++)

{

printf("Nhap vao he so a%d: ",i);

scanf("%d", &hs[i]);

}

printf("\n%5s"," ");

for (i=n; i>=0; i )

{

printf("%5d ", hs[i]);

}

for (j=0;j<n;j++)

{

for (i=n-1;i>=j;i )

{

hsc[j]=alpha+(j*k);

hs[i]=hs[i]+hs[i+1]*hsc[j];

}

printf("\n%5d",hsc[j]);

for (i=n; i>=j; i )

{

printf("%5d ", hs[i]);

}

}

printf("\n\nVoi alpha = %d va k = %d, cac he so cua da thuc moi la:\n", alpha, k); for (i=0; i<=n; i++)

{

printf("%5d ", hs[i]);

}

getch();

}

2 Chuyển đa thức từ dạng chuẩn tắc suy rộng sang dạng chính tắc

Ta chuyển đa thức P(x) từ dạng chuẩn tắc suy rộng [ , ]

0

n

i h i

i

  sang dạng chính tắc

0

( )

n i i i



Cách 1: Áp dụng thuật toán 1 với  0; k0

Trang 16

(+)

Cách 2:

Cơ sở thuật toán:

Ta chứng minh bổ đề sau:

Cho Q(x) là đa thức ở dạng chính tắc: 1

0

( )

n i i i

 , là một số thực bất kỳ

Khi đó ta có đẳng thức:

1

Trong đó:

1

0, 1

n n

i i i

b ab

  

Chứng minh:

Áp dụng mệnh đề về phép chia có dư thì ta có được sự tồn tại của đẳng thức trên.Vấn đề là ta phải chứng minh công thức truy hồi của các hệ số

Ta có :

1

1

1 0

n n

n

i

Đặt

1

0, 1

n n

i i i

b ab

  

Sử dụng sơ đồ Hoocne để tính bi, i = 1,2,…,n

an an-1 … a2 a1 a0

 bn = an bn-1 … b2 b1 b0

Ý nghĩa: nếu biết được các hệ số của đa thức Q(x) thì ta cũng có thể biết được các hệ số của P(x)

0

n

i h i

i

  bài toán từ dạng chuẩn tắc suy rộng sang dạng : n

(x)

Trang 17

 

[ , ] 0 0

i h i

i

Áp dụng bổ đề trên, ta có:

- Áp dụng bổ đề với   n 1h Đặt

n n





Ta được

P xb x b  x   n h d  d x d

- Áp dụng bổ đề với   n 2h Đặt

1

1

n n

Ta được

( ) n n n

P xc xcx c  d x d

- Sau n-1 bước, đa thức P(x) có dạng:

P xr x  r x   r xxd

Áp dụng bổ đề trên với

 

Đặt

1

.

n n

i i i

Ta được

P xa xa x  ax   a

Dựa vào phương pháp trên, ta có thuật toán chuyển từ dạng chuẩn tắc suy rộng sang dạng

chính tắc như sau:

1 Gán a n:d n

2 Với mỗi j chạy từ 1 đến n,

với mỗi i chạy từ (n-j) đến (n-1):

Gán d i:  d i nj h d  i1

Gán a i:d i

3 Xuất a a0, , ,1 a n

Việc làm trên thể hiện ở bảng sau: (Nguyên tắc: nhân chéo, cộng ngang, đưa xuống)

Trang 18

 (n 1)h

 (n 2)h

[ h]

Ví dụ:

Cho P(x) có dạng:      4,2    3,2    2,2    1,2

Hãy chuyển đa thức sang dạng biểu diễn chính tắc

Giải:

Áp dụng thuật toán trên với   1,h 2

Ta lập bảng sau:

 (n j h) 

1, : 3 3

2, : 3 2

3, : 3 1

4, : 3 0

Vậy P(x) có dạng chính tắc là :   4 3 2

P xxxx  x

Chương trình:

#include <stdio.h>

#include <conio.h>

void main()

{

int n, alpha, h, i, j;

int hs[36], hsc[36], hsbd[36];

printf("Bien doi dang Da thuc.\n");

printf("Chuan tac suy rong sang chinh tac.\n");

printf("Nhap n, alpha va h: ");

scanf("%d" "%d" "%d", &n, &alpha, &h);

Trang 19

printf("Nhap vao he so d%d: ",i);

scanf("%d", &hs[i]);

hsbd[i]=hs[i];

}

printf("\n%5s%5d%5d","",hs[n], hs[n-1]);

for (j=1;j<=n;j++)

{

hsc[j]=-(alpha+((n-j)*h));

printf("\n%5d", hsc[j]);

for (i=n-j;i<=n-1;i++)

{

hs[i]=hs[i]+((hsc[j])*(hs[i+1]));

}

for (i=n; i>=n-j-1;i )

printf("%5d", hs[i]);

}

printf("\n\nCac he so cua da thuc moi o dang chinh tac la:\n"); for (i=0; i<=n; i++)

{

printf("%5d ", hs[i]);

}

getch();

}

V TÀI LIỆU THAM KHẢO

1 Bài giảng Phương Pháp Tính của thầy Trịnh Công Diệu

2 Phương pháp tính – Tạ Văn Đĩnh

Ngày đăng: 02/05/2015, 14:49

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w