Tải bản đầy đủ (.docx) (16 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (206.72 KB, 16 trang )

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
α


( )
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≤

( )

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−

α

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)
GVHD: TS. TRỊNH CÔNG DIỆU Lớp: Toán VB2- K2
BẢNG 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
+
BẢNG 2:
0
t
1
t
2
t

1n
t
+
0
0
x
x
00 1
00
1
b

l
=
=
01
01
b
l
02

l
0
0
n
n
b
l
0

i
i
x
x

0
0
i
i
b
l
=


c
e

2
.
i
i
d x c t
x e d
= +
+
1n
l

… … … … … …
n
n
x
x





nn
nn
l
l


BẢNG
3:
0
i
i
in
y
b
l
1
i
i
in
y
b
l
….
i
in
in
y
b
l
( )
( )
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
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 n
W x
W x
0
n
n
in
y

b
l
n
m
in
y
b
l
n
nn
in
y
b
l
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
3.3. VÍ DỤ:
Cho
( )
3 2
2 3 2P x x x x= − − +

Các mốc nội suy:


i
x
-1 0 1 2

i
y
-2 2 0 4
( )
, , 0,3
i i
x y i =
Lập Bảng 1: Dùng sơ đồ hoocner ngược để tìm dạng chính tắc của
( ) ( ) ( ) ( )
1 1 2W x x x x x= + − −


0
1x
− =
1 1

1
0x− =
1 1 0

2
1x− = −

1 0 -1 0

3
2x− = −
1 -2 -1 2 0
( )
4 3 2
2 2W x x x x x⇒ = − − +
Lập Bảng 2: Dùng sơ đồ hoocner để tìm

( ) ( )
, 0,
i i i
W x andW x i
λ
=
( ) ( ) ( )
hoocner hoocner
i i i
W x W x W x
 
⇒ ⇒
 
 
1 -2 -1 2 0

0
1x = −
1 -3 2 0 0


0
1x = −
1 -4 6 -6

1
0x =
1 -2 -1 2

1
0x =
1 -2 -1 2
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

2
1x =
1 -1 -2 0

2
1x =
1 0 -2 -2

3
2x =
1 0 -1 0

3
2x =
1 2 3 6
( ) ( )

3 3
3 3
0 0 1 1
0 0
6; 2;
k k
k k
k k
W x b x W x b x
− −
= =
= = − = =
∑ ∑
( ) ( )
3 3
3 3
2 2 3 3
0 0
2; 6
k k
k k
k k
W x b x W x b x
− −
= =
= = − = =
∑ ∑
Dùng Bảng 3 để tính

( )

0
, 0,
n
i
k ik
i
i i
y
a b k n
W x
=
= =

(
ik
b
là các hệ số của
( )
i
W x
ở dạng chính tắc )
i
x
0
i
i
in
y
b
l

1
i
i
in
y
b
l
2
i
i
in
y
b
l
3
i
i
in
y
b
l
0
x
2
.1 3
6

=

( )

2
. 3 2
6

− =

( )
2 2
. 2
6 3

=

2
.0 0
6

=

1
x
2
.1 1
2
=
( )
2
. 2 2
2
− = −

( )
2
. 1 1
2
− = −
2
.2 2
2
=
2
x
0
.1 0
2
=

( )
0
. 1 0
2
− =

( )
0
. 2 0
2
− =

0
.0 0

2
=

2
x
4 2
.1
6 3
=
4
.0 0
6
=
( )
4 2
. 1
6 3
− = −
4
.0 0
6
=
k
a
2 -3
-1
2
( )
3 2
2 3 2P x 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
4. MÃ GIẢ
a.Tên thuật toán: NoiSuyLagrange
b. Input:
- n { số mốc nội suy }
-
0 1
, , ,
n
x x x
{ giá trị các mốc nội suy}
-
0 1
, y , , y
n
y
{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:
0 1
, , ,
n
a a a
d. Giải thuật:
Bước 1: Nhập n
Bước 2: Cho i chạy từ 0 đến n: nhập
i
x
Bước 3: Cho i chạy từ 0 đến n: nhập
i

y
Bước 4:
0
1 0 1
2 0 1
1
.
c
c x x
c x x
=


= − −


=

Bước 5: Cho i chạy từ 3 tới n+1:
- Gán:
1 1
: .
i i i
c x c
− −
= −
- Cho j chạy từ
1i −
đến 1 gán:
1 1

: .
j j i j
c c x c
− −
= −
Bước 6: Cho i tăng từ 0 tới n ta làm phép gán
-
0 0i
b c=
-
0 0i i
l b
=
- Cho j chạy từ 1 đến n tính:
( )
( )
1
1
ij j i
i j
ij ij i
i j
b c x b
l b x l


= +




= +


Bước 7: Cho i chạy từ 0 đến n
-
0
i
a
=
- Cho j chạy từ 0 đến n :
a =a (y /l )*b
i i j jn ji
+
Bước 8: Cho i chạy từ 0 đến n: xuất
i
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
5. CHƯƠNG TRÌNH
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
float *a,*c,*x,*y;
int n,k,s,so;
cout<<"================NHOM 8A================="<<endl;
cout<<"Nhap n (So 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<=n;i++)
{
b[i]=new float[n+1];
l[i]=new float[n+1];
}
c=new float[n+2];
x=new float[n+1];
y=new float[n+1];
cout<<"Nhap cac moc noi suy x:\n";
for(int i =0;i<=n;i++)
{
cout<<"x["<<i<<"]= ";
cin>>x[i];
}
cout<<endl<<endl;
cout<<"Nhap gia tri cua ham so tai cac moc noi suy P: \n";
for(int i=0;i<=n;i++)
{
k=i+1;
cout<<"y["<<i<<"]= ";
cin>>y[i];
}
cout<<endl<<endl;
c[0]=1;
c[1]=-x[0]-x[1];
c[2]=x[0]*x[1];

for(int i=3;i<= n+1;i++)
{
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
c[i]=-x[i-1]*c[i-1];
for(int j= i-1; j>=1;j )
{
c[j] = c[j]-x[i-1]*c[j-1];
}
}
for(int i=0;i<=n;i++)
{
b[i][0]=c[0];
l[i][0]=b[i][0];
for(int j=1;j<=n;j++)
{
b[i][j] = c[j] + x[i]*b[i][j-1];
l[i][j] = b[i][j] + x[i]*l[i][j -1];
}
}
for(int i=0;i<=n;i++)
{
a[i] = 0;
for(int j=0;j<=n;j++)
{
a[i]+=(y[j]/l[j][n])*b[j][i];
}
cout<<"a["<<i<<"]= "<<a[i]<<endl;
}
cin>>n;

}
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)

×