You are on page 1of 33

Trêng ®¹i häc vinh

Khoa To¸n

Sö dông ng«n ng÷ lËp tr×nh C#


xẤP XỈ HÀM SỐ BẰNG ĐA THỨC
NỘI SUY

Kho¸ luËn tèt nghiÖp ®¹i häc


Ngµnh cö nh©n khoa häc to¸n-Tin

Chuyªn ngµnh:
X¸c suÊt Thèng kª vµ To¸n øng dông

C¸n bé híng dÉn: PGS.TS. TrÇn Xu©n Sinh


Sinh viªn thùc hiÖn: Phạm Thị Thanh Mai
Líp: 47To¸n-Tin øng dông

Vinh, 5/2010
2

MỤC LỤC

trang
Më ĐẦU......................................................................................................................2
Ch¬ng 1.......................................................................................................................3
C¸C KIÕN THøC C¥ Së..............................................................................................3
1.1. ĐA THỨC NỘI SUY......................................................................................3
1.1.1. §a thøc néi suy b»ng ®¹i sè..........................................................................3
1.1.2. §a thøc néi suy Lagange..............................................................................4
1.1.3.2. Sai sè tÝnh to¸n.....................................................................................10
1.1.4. §a thøc néi suy Newton..............................................................................11
1.1.5. §a thøc víi mèc néi suy c¸ch ®Òu..............................................................13
1.1.5.1 §a thøc Chebysev.....................................................................................13
1.1.5.2 Chän mèc néi suy ....................................................................................14
1.1.5.4 Mét sè quy t¾c néi suy hµm sè trªn líi ®Òu..............................................16
a. B¶ng sai ph©n................................................................................................16
1.1.5.5 Néi suy ë ®Çu b¶ng...............................................................................17
1.1.5.6 Néi suy ë cuèi b¶ng..............................................................................17
Ch¬ng 2....................................................................................................................18
THIÕT LËP CH¦¥NG TR×NH B»NG NG¤N NG÷ LËP TR×NH c#........................18
2.1 Giíi thiÖu vÒ C#..............................................................................................18
2.1.1 C# lµ g×?.......................................................................................................18
2.1.2 LÞch sö ra ®êi cña C#...................................................................................19
2.1.3. Chøc n¨ng cña C#.......................................................................................20
2.2. CÊu tróc vµ giao diÖn cña ch¬ng tr×nh...........................................................21
KẾT LUẬN................................................................................................................32

Më ĐẦU

“XÊp xØ hµm sè b»ng ®a thøc néi suy” lµ mét ®Ò tµi kh¸ thó vÞ. Trong thùc tÕ,
nhiÒu khi ta ph¶i t×m hµm y = f (x) , chØ biÕt c¸c gi¸ trÞ cña yi t¹i c¸c ®iÓm xi ∈ [ a, b] ,
(i = 0,1,...n). Còng cã trêng hîp biÓu thøc f (x) ®· cho nhng qu¸ cång kÒnh. Khi ®ã

dïng phÐp néi suy ta cã thÓ dÔ dµng tÝnh ®îc f t¹i bÊt k× x ∈ [ a, b] mµ ®é chÝnh x¸c
kh«ng kÐm bao nhiªu.
3

Môc tiªu cña phÐp néi suy kh¸ nhiÒu, nhng chñ yÕu t×m thuËt to¸n ®¬n gi¶n
tÝnh gi¸ trÞ f (x) cho nh÷ng x kh«ng n»m trong b¶ng xi , yi , (i = 0, n) vµ mét ch¬ng
tr×nh ng¾n gän cã thÓ thay mét b¶ng rÊt dµi c¸c gi¸ trÞ xi , f ( xi ).
LuËn v¨n ®îc chia lµm 2 ch¬ng:
Ch¬ng 1: Tr×nh bµy mét sè ®Þnh nghÜa vµ tÝnh chÊt vÒ ®a thøc néi suy, ®a thøc
néi suy Lagrange, ®a thøc néi suy Newton, c¸c kiÕn thøc c¬ së ®Ó thiÕt lËp ch¬ng
tr×nh tÝnh gi¸ trÞ hµm y t¹i c¸c mèc néi suy ®· cho nhê ®a thøc néi suy.
Ch¬ng 2: §a ra c¸c cÊu tróc thuËt to¸n, cÊu tróc cña ch¬ng tr×nh vµ thiÕt kÕ
giao diÖn b»ng ng«n ng÷ lËp tr×nh C#.
Do khãa luËn ®îc tiÕn hµnh t×m hiÓu vµ hoµn thµnh trong mét thêi gian ng¾n.
§ång thêi víi dung lîng cña khãa luËn vµ kh¶ n¨ng cã h¹n cña m×nh t«i cha thÓ
khai triÓn vµ khai th¸c hÕt mäi vÊn ®Ò mét c¸ch s©u s¾c. V× vËy, khãa luËn cña t«i
kh«ng thÓ tr¸nh khái nh÷ng thiÕu sãt.
Qua kho¸ luËn nµy, t«i xin bµy tá lßng biÕt ¬n s©u s¾c ®Õn PGS.TS. TrÇn Xu©n
Sinh, ngêi ®· dµnh thêi gian, tËn t×nh híng dÉn t«i trong suèt qu¸ tr×nh t«i lµm khãa
luËn. T«i còng xin göi lêi ch©n thµnh c¶m ¬n ®Õn gia ®×nh, b¹n bÌ ®· ®éng viªn,
gióp ®ì nhiÖt t×nh, t¹o ®iÒu kiÖn tèt nhÊt cho t«i trong qu¸ tr×nh häc tËp, nghiªn cøu
vµ hoµn thµnh luËn v¨n nµy.

Vinh, th¸ng 5 n¨m 2010


T¸c gi¶

Ch¬ng 1

C¸C KIÕN THøC C¥ Së

1.1. ĐA THỨC NỘI SUY

1.1.1. §a thøc néi suy b»ng ®¹i sè


Ngoµi ý nghÜa lÞch sö ra, ®a thøc ®¹i sè thêng ®îc dïng trong phÐp néi suy v×
lý do ®¬n gi¶n sau: c¸c phÐp céng, trõ, nh©n, ®¹o hµm, tÝch ph©n dÔ dµng thùc hiÖn
4

trªn ®a thøc. H¬n n÷a nÕu p(x) lµ ®a thøc, cßn c − lµ h»ng sè th× P(cx) vµ P(c + x)
còng lµ ®a thøc.
Bµi to¸n néi suy ®Æt ra nh sau: cho c¸c mèc néi suy
a ≤ x0 < x1 < ... < x n ≤ b .
m
H·y t×m ®a thøc bËc m , Pm ( x) = ∑ ai x , sao cho
i

i =0

Pm ( xi ) = yi := f ( xi ) , (i = 0, n) .

ý nghÜa h×nh häc cña bµi to¸n néi suy lµ: h·y x©y dùng ®êng cong ®¹i sè
y = Pm (x) ®i qua c¸c ®iÓm cho tríc ( xi , yi ) , (i = 0, n) . Nh vËy ta cÇn x¸c ®Þnh (m + 1)

hÖ sè ai , (i = 0, n) , tõ hÖ ph¬ng tr×nh tuyÕn tÝnh sau:


m

∑a
j =0
j xij = y i , (i = 0, n) . (1.1)

Cã thÓ thÊy r»ng nÕu m < n , (m > n) hÖ nãi chung v« nghiÖm. Khi m = n , hÖ
(1.1) cã ®Þnh thøc Vandermond

1 x0 x02 ... x0n


1 x1 x12 ... x1n
∆ = ... ... ... ... ... = ∏ ( xi − x j ) ≠ 0 .
0≤ i < j ≤ n
... ... ... ... ...
1 xn x n2 ... x nn

Suy ra ph¬ng tr×nh (1.1) cã nghiÖm duy nhÊt.

1.1.2. §a thøc néi suy Lagange


Sau ®©y ta sÏ tr×nh bµy c¸ch x©y dùng ®a thøc néi suy mµ kh«ng cÇn gi¶i hÖ (1.1).
Tríc hÕt, ta t×m ®îc ®a thøc Pi (x) cã bËc n , sao cho
1, nÕu i = j

Pi(xj) =  0, nÕu i ≠ j.

víi i, j = 0, 1, ..., n.
Ta thÊy
Pi(x) = Ai(x-x0).... (x-xi-1)(x-xi+1).... (x-xn).
5


( x − x0 )...( x − xi −1 )( x − xi +1 )...( x − xn )
1 = P ( x) =
( xi − x0 )...( xi − xi −1 )( xi − xi +1 )...( xi − xn )

nªn ta cã
( x − x0 )...( x − xi −1 )( x − xi +1 )...( x − xn )
Pi(x) = .
( xi − x0 )...( xi − xi −1 )( xi − xi +1 )...( xi − x n )

§Æt
n
P(x) = ∑y P (x), i i

i=0
ta cã
n
P(xj) = ∑y P (x ), j = 0, 1, ..., n.
i i j

i=0
Nh vËy P(x) lµ ®a thøc néi suy duy nhÊt cÇn t×m.
x − x0
NÕu c¸c mèc néi suy c¸ch ®Òu, tøc lµ xi + j − x j = h , (i = 0, n − 1) , th× ®Æt t = ,
h

hay x = x0 + th ta ®îc
( −1) n −i C ni t (t −1)...(t − n)
Pi(x) = Pi(x0+ht) = .
n! (t −i )

Tõ ®ã ta ®îc
t (t − 1)...(t − n) n ( −1) n −1 C ni
P ( x0 + th) =
n!
∑i =0 t −i
yi . (2.1)

Trong c«ng thøc (2.1), c¸c hÖ sè (−1) n−i C ni kh«ng phô thu«c vµo hµm sè f (x) ,
mèc néi suy vµ bíc h . Do ®ã chóng ®îc tÝnh s½n, lËp b¶ng ®Ó sö dông nhiÒu lÇn.
6

S¬ ®å khèi tÝnh gi¸ trÞ hµm f (x) theo ph¬ng ph¸p néi suy lagrange rÊt ®¬n
gi¶n
7

Input n, x, {xi,yi}

P=0

k = 0, 1,…, n

G =1

i = 0,1, …, n

ik

G = G(x-xi)/(xk-xi)

P=P+ykG

Print f(x)

End

VÝ dô 1: T×m ®a thøc néi suy bËc 2 cña hµm y = 3 x trªn ®o¹n [−1,1] t¹i c¸c mèc
néi suy x0 = −1, x1 = 0, x2 = 1, ta cã y0 = 1 / 3, y1 = 1, y 2 = 3;
1 ( x − 0)( x − 1) ( x + 1)( x − 1) ( x + 1) x 1
L2 ( x) = + 1. +3 = (4 x 2 + 8 x + 6) .
3 (−1 − 0)(−1 − 1) (0 + 1)(0 − 1) (1 + 1)1 6
1
2 1
Cho x = 1 / 2 ta ®îc 3 = 3 ≈ 1 + + ≈ 1.8 .
2
3 6
8

πx
VÝ dô 2: T×m ®a thøc néi suy bËc 4 trïng víi hµm y =2cos t¹i c¸c ®iÓm
4

xi −2 − 4/3 0 4/3 2
yi 0 1 2 1 0

P(x) =
4 4 4
( x + ) x( x − )( x − 2) ( x + 2) x( x − )( x − 2)
0. 3 3 + 1. 3 +
4 4 4 4 4 4 4
(−2 + )(−2)(−2 − )(−2 − 2) (− + 2)(− )(− − )(− − 2)
3 3 3 3 3 3 3
4 4 4 4 4
( x + 2)( x + )( x − )( x − 2) ( x + 2)( x + ) x( x − 2) ( x + 2)( x + ) x( x − )
+ 2. 3 3 +1. 3 + 0. 3 3
4 4 4 4 4 4 4 4 4
(0 + 2)(0 + )(0 − )(0 − 2) ( + 2)( + ) ( − 2) (2 + 2)(2 + )2(2 − )
3 3 3 3 3 3 3 3 3
9 x −196 x + 640
4 2
= ;
320

Khi cÇn tÝnh gi¸ trÞ cña x ∈ [x0, xn], ta chØ cÇn tÝnh y = f(x) ≈ P(x), ch¼ng h¹n víi x
= 1 th× y(1) = f(1) ≈ P(1) ≈ 1.4156 .

Sai sè f (1) − P(1) < 0.0015 .


C«ng thøc néi suy Lagrange tr×nh bµy ë trªn cã u ®iÓm lµ ®¬n gi¶n nhng nÕu
thªm mèc néi suy ph¶i tÝnh l¹i toµn bé. Nhîc ®iÓm nµy ®îc kh¾c phôc trong c«ng
thøc néi suy Newton …
1.1.3. Sai sè cña phÐp néi suy
1.1.3.1. Sai sè ph¬ng ph¸p
Gi¶ sö P(x) lµ ®a thøc näi suy bËc n cña hµm f (x) , tøc lµ
P ( xi ) = f ( xi )(i = 0, n).

XÐt hµm hç trî


F ( z ) := R ( z ) − kϖ ( z ),

trong ®ã
n
ω ( z ) = ∏ ( z − xi ).
i =0

f ( x) − p ( x)
H»ng sè k chän tõ ®iÒu kiÖn F ( x) = 0, nghÜa lµ k =
ϖ ( x)
9

MÆt kh¸c F ( xi ) = 0(i = 0, n) do ®ã F (z ) cã n + 2 nghiÖm ph©n biÖt x, x0 , x1 ,..., xn .

Theo ®Þnh lý Role F ( z ) cã (n + 1) nghiÖm vv…, F (n + 1)( z ) cã nghiÖm ξ ∈ [ a, b]


,

0 = F (n + 1)(ξ ) = f ( n+1) (ξ ) − k (n + 1)!,

hay
f ( n+1) (ξ )
=k
(n = 1)!
So s¸nh hai c¸ch viÕt cña k ta cã:
f ( n +1) (ξ )
R ( x) = ϖ ( x) . (2.2)
(n − 1)!

Gäi M = asup f ( n +1) ( x ) , tõ (2.2) suy ra


< x ≤b

M
f ( x) − P( x) ≤ ( x − x 0 )...( x − x n ) . (2.3)
( n +1)!
O
VÝ dô. ¦íc lîng sai sè phÐp néi suy b»ng ®a thøc bËc 3 tÝnh sin6 víi c¸c

π 7π π 11π
mèc néi suy x0 = ; x1 = ; x 2 = ; x3 = .
36 180 20 180
π 11π π
Ta cã f ( x) = sin x; n = 3; a = = 5ο ; b = = 11ο ; x = = 6ο ; f ( 4 ) = sin x ⇒
36 180 30

M = sup f ( 4 ) ( x) = sin 11ο = 0.190809


a ≤ x ≤b

VËy
0.190809 π π π 7π π π π 11π
sin 6ο − P (6ο ) ≤ ( − )( − )( − )( − ) ≈ 1.106 × 10 −9
4! 30 36 30 180 30 20 30 180

§Ó cã thÓ kÕt luËn cô thÓ h¬n vÒ phÐp néi suy, ta ph¶i nghiªn cøu d¸ng ®iÖu

cña hµm ϖ (x)


( x − x0 )
XÐt trêng hîp c¸c mèc néi suy c¸ch ®Òu xi = x0 + ih(i = 0, n). §Æt t = , ta
h

ω ( x) = ω ( x0 + th) = h n +1ϕ (t ),

Trong ®ã ϕ (t ) = t (t − 1)...(t − n). nh vËy ta quy vÒ viÖc nghiªn cøu d¸ng ®iÖu cña
hµm ϖ (x) vÒ viÖc kh¶o s¸t cña hµm ϕ (t ).
10

C¸c tÝnh chÊt cña hµm ϕ (t ).


1) ϕ lµ hµm ch½n (lÎ) ®èi víi víi ®iÓm (n/2; 0) nÕu n lÎ (ch½n).
n
ThËt vËy, ®Æt z = t − ta cã
2

n  2 n   2 n−2 
2 2

ϕ (t ) = ϕ ( z + ) =  z −    ×  z −   ...
2   2     2  

NÕu n ch½n th× trong biÓu thøc cña ϕ cã n + 1 thõa sè, do ®ã cßn mét thõa sè
kh«ng ghÐp ®«i ®îc, do ®ã ϕ lµ hµm lÎ. Ngîc l¹i, nÕu n lÎ th× ϕ gåm (n + 1) thõa sè
cã thÓ ghÐp ®«i hÕt, do ®ã ϕ lµ hµm ch½n
t +1 n −1
2) ϕ (t + 1)t (t − 1)...(t − n + 1) = t − n ϕ (t ) . XÐt ph©n h¹ch [0,1] =  [i, i + 1] . Gi¸
t−n i =0

t +1
trÞ cña ϕ (t ) trªn ®o¹n [ i, i + 1] lµ gi¸ trÞ t¬ng øng trong ®o¹n tríc nh©n víi < 0,
t −n

khi t ∈ [ 0, n] . Nh vËy, dÊu cña ϕ (t ) ®an nhau khi chuyÓn tõ ®o¹n nµy qua ®o¹n kh¸c.
3) Do
n −1
+1
 n − 1 t + 1 t + 1 2
∀t ∈ 0, ; = ≤ =1
 2  t − n n − t n −1
n−
2

nªn iMax ϕ (t ) gi¶m dÇn khi i thay ®æi tõ 0 ®Õn n/2, sau ®ã l¹i t¨ng do tÝnh chÊt ®èi
≤t ≤i +1

xøng cña ϕ .
4) Ngoµi ®o¹n [ 0, n] ϕ (t ) t¨ng rÊt nhanh. Tõ 4 tÝnh chÊt cña ϕ(t) ta rót ra hai
kÕt luËn sau:
a) PhÇn d R(x) rÊt lín ngoµi ®o¹n [ x0 , xn ], do ®ã dïng c«ng thøc néi suy ®Ó
thùc hiÖn phÐp ngo¹i suy sÏ m¾c ph¶i sai sè lín.
b) PhÐp néi suy cã ®é chÝnh x¸c cao ®èi víi c¸c ®o¹n [ xi , xi +1 ] ë trung t©m vµ
®é chÝnh x¸c thÊp ®èi víi c¸c ®o¹n ngoµi r×a.

1.1.3.2. Sai sè tÝnh to¸n


~
Gi¶ sö thay v× biÕt c¸c gi¸ trÞ ®óng y = f ( xi ) . Khi ®ã, thay v× ®a thøc néi suy
11

~ n ~ ϖ ( x)
P ( x) = ∑ y i
i =0 ( x − xi )ϖ , ( xi )

ta cã
n
ϖ ( x)
P ( x) = ∑ yi .
i =0 ( x − xi )ϖ , ( xi )
~
Gi¶ sö yi − y ≤ ∆yi , khi ®ã sai sè tÝnh to¸n

~ n
ω( x)
∆p = p − p ≤ ∑ ∆ yi .
i =0 ( x − xi ) ω , ( x i )

NÕu c¸c mèc néi suy c¸ch ®Òu vµ ∆yi ≤ p , (i = 0, n) th×


t ( t − 1)....( t − n ) n
c ni .
∆p ≤ p
n!

i =0 t − i

1.1.4. §a thøc néi suy Newton


1.1.4.1 Tû hiÖu. §Þnh nghÜa tû hiÖu cÊp 1, 2, ..., n nh sau
Tû hiÖu cÊp 1
yi − yi −1
f[xi, xi-1] = x − x , i = 1, 2, ..., n.
i i −1

Tû hiÖu cÊp 2
f [ xi +1 , xi ] − f [ xi , xi −1 ]
f[xi +1, xi, xi -1] = .
xi +1 − xi −1
................................
Tû hiÖu cÊp n
f [ xn ,..., x1 ] − f [ xn −1 ,..., x0 ]
f[xn, xn -1, ..., x0] = .
x n − x0
Tû hiÖu cã tÝnh chÊt
+) (f + g) [.] = f[.] + g[.]
+) §èi xøng f[xi, xi -1] = f[xi -1, xi]
+) f [h»ng sè] = 0
+) Tû hiÖu cÊp n cña ®a thøc bËc n lµ h»ng sè.
1.1.4.2. §a thøc néi suy Newton
f ( x ) − f ( x0 )
Ta cã f[x, x0] = . Tõ ®ã f(x) = f(x0) + (x - x0).f(x, x0)
x − x0
12

f [ x, x0 ] − f [ x1 , x0 ]
L¹i cã f[x, x0, x1] = x − x1
Tõ ®ã f[x, x0] = f[x1, x0] + (x - x1).f[x, x0, x1]
T¬ng tù ta cã
f(x) = f(x0) + f[x1, x0](x - x0) + f[x2, x1, x0](x - x0)(x - x1) + ...
+ f[xn, ..., x0](x - x0) ... (x - xn -1) + f[x, xn, ..., x0](x - x0) ... (x - xn).
Tõ ®ã ta cã ®a thøc néi suy
f(x) = f(x0) + f[x1, x0](x - x0) + f[x2, x1, x0](x - x0)(x - x1) + ...
+ f[xn, ..., x0](x - x0) ... (x - xn -1). (*)
Sai sè ph¬ng ph¸p t¬ng øng lµ
Rn(x) = f[x, xn, ..., x0].Π(x).
Chó ý: Do ®a thøc néi suy lµ duy nhÊt nªn PnL (x) = PnN (x) vµ do vËy
f ( n +1)
(υ)
Rn = Π(x) = f[x, xn, ..., x0]Π(x),
( n +1)!
f ( n +1)
(υ)
tøc lµ f[x, xn, ..., x0] = .
( n +1)!
+ C«ng thøc (*) gäi lµ c«ng thøc néi suy Newton tiÕn. B»ng ph¬ng ph¸p t¬ng tù,
ta cã c«ng thøc néi suy lïi nh sau:
Pn( N ) = f(xn) + f[xn, xn -1](x - xn) + f[xn, xn -1, xn -2](x - xn)(x - xn -1) + ...
+ f[xn, ..., x0](x - xn)...(x - x1).
VÝ dô: Cho hµm sè
x 1 2 3 4
y 0 2 2 4
Ta lËp b¶ng tû hiÖu
x y Tû hiÖu cÊp 1 Tû hiÖu cÊp 2 Tû hiÖu cÊp 3
1 (0)
> (2)
2 2 > (-1)
> 0 > [(2/3)]
3 2 > [1]
> [2]
4 (4)
Theo c«ng thøc (*) ta cã
P3N (x) = 0 + 2(x -1) - 1(x - 1)(x -2) + (2/3)(x -1)(x -2)(x -3)
13

= (2/3)x3 - 5x2 + (37/3)x – 8.

1.1.5. §a thøc víi mèc néi suy c¸ch ®Òu

NÕu hµm sè f(x) ®· cho th× M = aSup


≤ x ≤b
f n (x ) hoµn toµn x¸c ®Þnh. Tõ c«ng thøc

(3.2) suy ra sai sè tuyÖt ®èi cña phÐp néi suy chØ cßn phô thuéc vµo
ω ( x ) = ( x − x0 )...( x − x n ).. VÊn ®Ò ®Æt ra lµ ph¶i chän c¸c mèc néi suy

a ≤ x0 ≤ x1 ≤ ... ≤ x n ≤ b nh thÕ nµo ®Ó Max ϖ (x ) nhá nhÊt?


a ≤ x ≤b

Ta ®i ®Õn bµi to¸n min-max sau:


Max ϖ ( x ) → Min .
a ≤ x ≤b a ≤ x0 < x1 <...< xn ≤ b

1.1.5.1 §a thøc Chebysev

Tn ( x ) := cos  n arccos x  x ≤ 1 ( )
§Æt ϑ = arccos x vµ ®Ó ý r»ng cos(n ± 1)θ = cosθ cosθ ± sin θ sin nθ ta ®îc
cos(n + 1)θ + cos(n − 1)θ = 2θ cos nθ hay:

Tn −1 ( x ) = 2 xTn ( x ) − Tn −1 ( x )

Ngoµi ra T1 ( x) = x; T2 ( x) = cos[2 arccos x] = 2 x 2 − 1; T0 ( x) = 1 ; .B»ng qui n¹p dÔ dµng


chøng minh ®îc Tn (x) lµ ®a thøc bËc n víi hÖ sè ®Çu lµ 2 n−1 NghiÖm cña Tn (x) lµ

2i + 1
xi = cos π ; (i = 0, n − 1) vµ cùc trÞ cña nã Max x ≤ T ( x) = 1
2n
πi
§Æt t¹i xi = cos (i = 0, n)
n
§Þnh lý : Trong tÊt c¶ ®a thøc bËc n víi hÖ sè ®Çu b»ng 1, ®a thøc Chebysev
Tn ( x / 2 n −1 ) cã ®é lÖch (so víi 0) nhá nhÊt trªn ®o¹n [-1, 1]. NghÜa lµ nÕu

P ( x ) = x n + a n−1 x ni1 + ... + a0 .

Tn ( x) 1
th× Max P( x) ≥ Max n −1
= .
x ≤1 x ≤1 2 2 n−1
14

Chøng minh: Gi¶ sö t×m ®îc ®a thøc P( x) = x n + a n−1 x n−1 + ... + a0 , sao cho

1 Tn ( x)
Max P( x) < n −1 Khi ®ã ®a thøc G ( x) = − P ( x) cã bËc kh«ng qu¸ n − 1 , ngoµi ra
x ≤1 2 2 n −1

πi
t¹i c¸c ®iÓm xi = cos , (i = 0, n) ta cã
n
1
G(xi) = ± n −1 - P(xi).
2

Nh vËy G (x) lu©n phiªn ®æi dÊu qua xi, i = 0, 1, ..., n, do ®ã G (x) cã Ýt nhÊt n

Tn ( x)
nghiÖm. Suy ra G ( x) = 0 hay P(x) ≡ . §iÒu nµy m©u thuÉn víi gi¶ thiÕt
2 n −1

1
Max P( x) < . Tõ ®ã suy ra ®iÒu ph¶i chøng minh.
x ≤1 2 n −1

1.1.5.2 Chän mèc néi suy

Trong tr¬ng hîp a = −1; b = 1 ta lÊy mèc néi suy xi lµ nghiÖm cña ®a thøc

chebysev Tn+1 ( x) , nghÜa lµ xi = cos


2i + 1
2( n + 1)
(
π i = 0, n ) Khi ®ã

Tn+1 ( x)
ω ( x) = ( x − x0 )...( x − x n ) =
2n
cã ®é lÖch nhá nhÊt vµ íc lîng tèt nhÊt cña phÐp néi suy lµ
M M
P ( x) − f ( x ) ≤ ϖ ( x) ≤ n .
(n + 1)! 2 (n + 1)!

2x − b − a
Trong trêng hîp a < b bÊt k×, ta dïng phÐp thÕ biÕn t = ®a ®o¹n
b−a
[ a, b] vÒ ®o¹n [ − 1,1] . C¸c mèc néi suy tèi u lµ nghiÖm cña ®a thøc Chebysev:
 2i + 1 
xi = (b − a ) cos π + (b + a) , (i = 0, n) .
 ( n + 1) 

¦íc lîng tèt nhÊt cña phÐp néi suy trong trêng hîp nµy lµ
M ( a − b) n +1
p ( x − f ( x )) ≤ .
( n + 1) 2 2 n +1

1.1.5.3 Sai ph©n vµ c¸c tÝnh chÊt


15

Gi¶ sö f : ℝ → ℝ lµ mét hµm sè cho tríc vµ h = const ≠ 0 . Ta gäi sai ph©n cÊp

∆f ( x)
1 cña f(x) lµ ®¹i lîng ∆f ( x) = f ( x + h) − f ( x) . Tû sai ph©n cÊp 1 cña f(x) lµ
h
Mét c¸ch tæng qu¸t
∆nf(x) = ∆[∆n-1f(x)], n ≥ 1.
C¸c tÝnh chÊt cña sai ph©n:
1) ∆ lµ to¸n tö tuyÕn tÝnh, nghÜa lµ:
∀α , β ∈ R; ∀f , g ⇒ ∆( αf + β g ) = α∆f + β∆g

2) NÕu c = const th× ∆ c = 0


3) ∆n ( x n ) = n!h n ; ∆m ( x n ) = 0 , (m > n) .
ThËt vËy,
( )
∆ x n = ( x + h ) − x n = nhx n −1 + .....
n

( ) ( ) ( ) ( )
∆2 x n = ∆ nx n −1h + ... = nh∆ x n −1 + ... = n( n − 1) h 2 ∆ x n −2 + ... = ... = n!h n ;

Tõ tÝnh chÊt (2) suy ra ∆m ( x n ) = 0 , víi mäi m, n.


4) NÕu P(x) lµ ®a thøc bËc n th× theo c«ng thøc Taylor
n
h i (i )
∆P := p ( x + h) − p ( x) = ∑ p ( x) .
i =0 i!
n
5) f ( x + nh) = ∑ cn ∆ f ( x) .
i i

i =0

ThËt vËy f ( x + h) = f ( x) + ∆f ( x) = (1 + ∆) f ( x) (ë ®©y lµ mét to¸n tö ®¬n vÞ). ¸p


dông nhiÒu lÇn ta ®îc
n
f ( x + nh) = (1 + ∆) f ( x + ( n − 1)h) = ... = (1 + ∆) n f ( x) = ∑ cni ∆i f ( x) .
i =0

6) ∆n f ( x) = n∑ (−1) i cni f ( x + (n − i)h) .


i =0

Ta cã
n n
∆n f ( x) = [(1 + ∆) − 1]n f ( x ) = ∑ (−1) i cni (1 + ∆) n −1 f ( x ) = ∑ (−1) i cni f ( x + (n − i )h) .
i =0 i =0

7) Gi¶ sö f ∈ c n [a, b] vµ ( x, x + nh) ⊂ [a, b] . Khi ®ã


16

∆n f ( x)
n
= f ( n ) ( x + θnh)θ ∈ (0,1) .
h
ThËt vËy, ta chøng minh b»ng qui n¹p. Víi n = 1 , ta cã c«ng thøc sè gia h÷u

f ( x + h) − f ( x )
h¹n = f ' ( x + θh) Gi¶ sö c«ng thøc ®óng cho mäi k ≤ n . Ta chøng minh
h
cho k = n + 1 . ThËt vËy
[ ] [ (
∆n +1 f ( x ) = ∆ ∆n f ( x ) = ∆ h n f n x + θ , nh , )]
trong ®ã ¸p dông c«ng thøc sè gia h÷u h¹n cho f ( n ) ( x + θnh) ta ®îc
∆n +1 f ( x) = h n ∆f ( n ) ( x + θ ' nh) = h n f ( n ) ( x + θ ' nh + h) − f ( n ) ( x + θ ' nh) = h n +1 f ( n +1) ( x + θ ' nh + θ ' ' h)

trong ®ã θ ' ,θ ' '∈ (0,1) . §Æt θ = (θ ' n + θ ' ) /(n + 1) ∈ (0,1), ta ®îc
∆n +1 f ( x) = f n+1 ( x + θ (n + 1)h) .

∆n f ( x)
HÖ qu¶: NÕu f ∈ c n [a, b] th× khi h ®ñ nhá f ( n ) ( x) ≈ n
.
h

1.1.5.4 Mét sè quy t¾c néi suy hµm sè trªn líi ®Òu

a. B¶ng sai ph©n

Gi¶ sñ hµm y = f (x) cho díi d¹ng b¶ng yi = f ( xi ) t¹i c¸c mèc xi c¸ch ®Òu: xi+1
– xi = h (const), i ≥ 0.
Khi ®ã sai ph©n cña d·y yi ®îc x¸c ®Þnh nh sau:
∆yi = yi +1 − yi ;
∆2 yi = ∆( ∆yi ) = ∆yi +1 − ∆yi ,...
( )
∆n yi = ∆ ∆n −1 yi = ∆n −1 yi +1 − ∆n −1 yi

TÝnh chÊt 5, 6 cña sai ph©n ta viÕt l¹i nh sau


n
y n+i = ∑ c nj ∆ j yi ;
j =0
n
∆n yi = ∑ (−1) j C nj yi + n − j
j =0

Ta lËp b¶ng

17

yi−2

∆yi −2

y i −1 ∆2 yi −2

∆yi −1 ∆3 yi −2

yi ∆2 yi −1 ∆4 y i − 2 …
∆yi ∆3 yi −1

y i +1 ∆2 yi

∆yi +1

yi+2

1.1.5.5 Néi suy ë ®Çu b¶ng

Gi¶ sö mèc néi suy ®îc s¾p xÕp theo thø tù x0 < x1 < ... < xn . Ta t×m ®a thøc néi
suy díi d¹ng
P ( x) = a0 + a 2 ( x − x0 ) + a 2 ( x − x0 )( x − x1 ) + ... + a n ( x − x0 )...( x − x n −1 ) .

∆y 0
Cho x = x0 , ta ®îc a0 = y0 ; x = x1 ⇒ ai = .
h
∆i y 0 x − x0
Tæng qu¸t ®Æt x = xi , ta cã ai = . §æi biÕn t = , x = x0 + th, ta ®îc
i!h i
h
t (t −1) 2 t (t −1)...(t − n + 1) n
f(x0 +ht) ≈ P(x0 +ht) = y0 + t ∆0 + ∆0 ∆0 ,
1

2!
+ ... + n!

trong ®ã ∆i0 = ∆iy0 , t ∈ [0, n].


Ta gäi c«ng thøc nªu trªn lµ c«ng thø Newton tiÕn.

1.1.5.6 Néi suy ë cuèi b¶ng

Gi¶ sö mèc néi suy s¾p xÕp theo thø tù gi¶m dÇn xn > xn−1 > ... > x0 . §Æt
x − xn
t= ⇒ x = x n + th .
h
§a thøc néi suy Newton lïi t×m díi d¹ng
p ( x ) = a0 + a1 ( x − x n ) + a 2 ( x − x n )( x − x n −1 ) + .... + a n ( x − x n )( x − x n −1 )....( x − x1 ) .
18

∆y n −1
Cho x = xn ⇒ a0 = y n; x = xn−1 ⇒ a0 + a1 (−h) = y n−1 ⇒ a1 = .
h
∆y i
Tæng qu¸t: §Æt x = xi , ta ®îc ai = ni−1 , (i = 0, n) .
i!h
Nh vËy c«ng thøc Newton lïi sÏ cã d¹ng
t t ( t + 1) 2 t ( t + 1).....( t + n − 1) n f ( n+1) ( ξ ) n +1
f ( x n + th ) = y n + ∆y n−1 + ∆ y n −1 + .... + ∆ y0 + h t ( t + 1)...( t + n )
1! 2! n! ( n + 1)!
t (t +1) 2 t (t +1)...(t + n −1) n
f(xn +ht) ≈ P(xn +ht) = yn + t ∆1n−1 + ∆n −2 + ... + ∆0 ,
2! n!

trong ®ã ∆in−i = ∆iyn−i , t ∈ [-n, 0].

Chó ý
a) C«ng thøc néi suy Newton tiÕn (lïi) chØ lµ mét c¸ch viÕt kh¸c cña c«ng thøc
Lagrange.
b) NÕu cÇn tÝnh f(x) t¹i x ≈ x0 hay x ≈ xn ta nªn dïng c«ng thøc néi suy Newton
tiÕn (lïi) th× ®é chÝnh x¸c cao h¬n.
c) Dïng c«ng thøc néi suy Newton tiÕn (lïi) kh«ng ph¶i tÝnh l¹i tõ ®Çu nÕu
thªm mèc néi suy míi.

Ch¬ng 2

THIÕT LËP CH¦¥NG TR×NH B»NG NG¤N NG÷ LËP TR×NH c#

2.1 Giíi thiÖu vÒ C#

2.1.1 C# lµ g×?
C# lµ 1 ng«n ng÷ lËp tr×nh ®a n¨ng vµ kh¸ toµn diÖn hiÖn nay. C# ®îc ph¸t
triÓn bë Microsoft vµ còng chÝnh lµ 1 phÇn cña .NET. Phï hîp víi nhiÒu tiªu chuÈn
nh ECMA (ECMA-334) vµ ISO (ISO/IEC 23270). C# lµ 1 trong 44 ng«n ng÷ ®îc
hç trî bëi Common Language Runtime cña .NET Framework.
C# lµ ng«n ng÷ lËp tr×nh ®¬n gi¶n, hiÖn ®¹i, cã tÝnh tæng qu¸t vµ dÔ dµng ®Þnh híng
cho dù ¸n. Gãi C# gÇn ®©y nhÊt chÝnh lµ b¶n 3.0 vµ b¶n nµy chØ cã thÓ ch¹y víi
>NET Framework 3.5. Phiªn b¶n 4.0 ®ang ®îc hoµn tÊt.
19

C# cã kho¶ng 80 tõ khãa vµ h¬n 10 kiÓu d÷ liÖu dùng s½n, nh÷ng C# cã tÝnh


diÔn ®¹t cao. C# hç trî lËp tr×nh cã cÊu tróc, híng ®èi tîng, híng thµnh phÇn
(component oriented).
Träng t©m cña ng«n ng÷ híng ®èi tîng lµ líp. Líp ®Þnh nghÜa kiÓu d÷ liÖu
míi, cho phÐp më réng ng«n ng÷ theo híng cÇn gi¶i quyÕt. C# cã nh÷ng tõ khãa
d¸nh cho viÖc khai b¸o líp, ph¬ng thøc, thuéc tÝnh (property) míi. C# hç trî ®Çy ®ñ
c¸c kh¸i niÖm trô cét trong lËp tr×nh híng ®èi tîng: ®ãng gãi, kÕ thõa, ®a h×nh.
§Þnh nghÜa líp trong C# kh«ng ®ßi hái t¸ch råi c¸c tËp tin tiªu ®Ò víi tËp tin
cµi ®Æt nh C++. H¬n thÕ, C# hç trî su liÖu míi cho phÐp su liÖu trùc tiÕp trong tËp
tin m· nguån. §Õn khi tËp tin biªn dÞch sÏ t¹o tËp tin su liÖu theo ®Þnh d¹ng XLM.
C# hç trî kh¸i niÖm giao diÖn, interface (t¬ng tù java). Mét líp chØ cã thÓ kÕ
thõa duy nhÊt mét cha nhng cã thÓ cµi ®Æt nhiÒu giao diÖn.
C# cung cÊp nh÷ng ®Æc trng lËp tr×nh híng thµnh phÇn property, sù kiÖn vµ dÉn
híng khai b¸o (®îc gäi lµ attribute). LËp tr×nh híng component ®îc hç trî CLR
th«ng qua siªu d÷ liÖu (metadata). Siªu d÷ liÖu m« t¶ c¸c líp bao gåm c¸c ph¬ng
thøc vµ thuéc tÝnh, c¸c th«ng tin b¶o mËt…

2.1.2 LÞch sö ra ®êi cña C#


Vµo n¨m 1996, Sun Microsystem cho ra ®êi ng«n ng÷ lËp tr×nh Java vµ
Microsoft ®· nhanh chãng mua b¶n quyÒn s¶n phÈm cho hÖ ®iÒu hµnh cña m×nh.
Java lµ 1 ng«n ng÷ lËp tr×nh ch¹y nÒn ®éc lËp ®em l¹i sù næi tiÕng cho Sun lóc bÊy
giê nhng Microsoft kh«ng chÞu thua. Hä tËp hîp ®éi ngò nh©n lùc ho¹t ®éng cËt lùc
®Ó t¹o ra ch¬ng tr×nh kh«ng cÇn ph¶i dïng phÇn mÒm cña Sun ch¹y nÒn. KÕt qu¶ lµ
cã 1 ng«n ng÷ ®îc ra ®êi vµ cã cÊu tróc kh¸ gièng Java. C++ ra ®êi tõ ®Êy.
Trong suèt qu·ng thêi gian ph¸t triÓn .NET, toµn bé c¸c th viÖn cò cña ng«n
ng÷ vµ c¸c tr×nh biªn so¹n ®îc gäi lµ Simple Managed C (SMC). Th¸ng 1 n¨m
1999, Ander Hejlsberg ®· x©y dùng thµnh c«ng 1 ng«n ng÷ míi gäi lµ "Cool". Tuy
nhiªn, Microsoft kh«ng thÝch c¸i tªn nµy cho l¾m. Cïng thêi ®iÓm nµy, dù ¸nh
.NET ®îc ph¸t hµnh ra thÞ trêng t¹i cuéc häp cña c¸c chuyªn gi lËp tr×nh vµo th¸ng
20

7 n¨m 2000 vµ còng chÝnh tõ ®©y "cool" chÝnh thøc chuyÓn tªn thµnh C#. C¸c th
viÖn ASP.NET runtime còng ®îc tÝch hîp vµo.

2.1.3. Chøc n¨ng cña C#


* Kh«ng cã hµm vµ biÕn dïng chung. Mçi coder ph¶i tù thiÕt kÕ cho m×nh tõ
c¬ b¶n.
* C# hç trî d¹ng d÷ liÖu Boolean.
* Trong C#, bé nhí chØ ®Þnh cã thÓ dïng kÌm víi kh¶ n¨ng chÆn nh÷ng c¸i
kh«ng an toµn. Nh÷ng s¶n phÈm ®îc ®¸nh dÊu kh«ng an toµn cÇn xin phÐp ®Ó ch¹y.
* Kh«ng thÓ qu¶n lý bé nhí 1 c¸ch tho¶i m¸i tuy nhiªn, bã sÏ tù thu gom
nh÷ng c©u lÖnh v« nghÜa.
*C# b¶n mËt an toµn h¬n C++.
21

2.2. CÊu tróc vµ giao diÖn cña ch¬ng tr×nh

H×nh 1
Ch¬ng tr×nh gåm cã 4 Form(Giao diÖn )chÝnh
Form1: Lµ giao diÖn chÝnh cña ch¬ng tr×nh cã giao diÖn nh h×nh díi ®©y:
Trong Form1 gåm menu C¸c PhÐp néi suy vµ Trî gióp
Trong menu C¸c PhÐp néi suy cã ba menu con lµ Newton vµ Lagrange, Tho¸t.
Mçi menu con sÏ ®a chóng ta tíi c¸c form(giao diÖn) ®Ó thùc hiÖn c¸c phÐp néi suy
t¬ng øng ®ã lµ Néi suy Newton vµ néi suy Lagrange.
§o¹n code ®Ó hiÖn giao diÖn tÝnh néi suy newton khi nhÊp vµo menu Newton sÏ lµ:
private void newTonToolStripMenuItem_Click(object sender, EventArgs e)
{
frmNewton fnt = new frmNewton();//xin mét ®èi tîng míi lµ frmNewton
22

fnt.Show();//sau ®ã cho hiÖn giao diÖn nay lªn b»ng ph¬ng thøc Show
}

§o¹n code ®Ó hiÖn giao diÖn tÝnh néi suy Lagrange khi nhÊp chuét vµo menu
Lagrange sÏ lµ:
private void lagrangeToolStripMenuItem_Click(object sender, EventArgs e)
{
frmLagrange flg = new frmLagrange();xin mét ®èi tîng míi lµ frmLagrange
flg.Show();//sau ®ã cho hiÖn giao diÖn nay lªn b»ng ph¬ng thøc Show
}
§o¹n code khi tho¸t ch¬ng tr×nh khi nhÊp chuét vµo nót Tho¸t sÏ lµ:
private void thoatToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();//toµn bé øng dông sÏ ®îc gi¶i phãng
}
§o¹n code ®Ó hiÖn giao diÖn giíi thiÖu vÒ t¸c gi¶ cña ch¬ng tr×nh lµ
private void t¸cGiaToolStripMenuItem_Click(object sender, EventArgs e)
{
frmAbout fab = new frmAbout();//xin mét ®èi tîng míi lµ frmAbout
fab.Show();//cho hiÖn form nµy lªn b»ng ph¬ng thøc Show
}
§o¹n code ®Ó hiÖn giao diÖn trî gióp vÒ ch¬ng tr×nh lµ (gi¶i thÝch hoµn toµn t¬ng tù
c¸c giao diÖn kh¸c)
private void ch¬ngTr×nhToolStripMenuItem_Click(object sender, EventArgs e)
{
frmHelp fh = new frmHelp();
fh.Show();
}

Form Newton lµ giao diÖn ®Ó thùc hiÖn c¸c phÐp néi suy cña newton.
23

Néi dung code ë giao diÖn tÝnh néi suy newton nh sau:
Víi giao diÖn ban ®Çu nh h×nh vÏ khi ta nhËp vµo sè « dù kiÕn sÏ nhËp gi¸ trÞ cña x
vµ y t¬ng øng lµ bao nhiªu vÝ dô cã 5 gi¸ trÞ x, y t¬ng øng nhau th× ta nhËp vµo ®ã lµ
sè 5 vµ nhÊp chuét vµo NhËp sè « cña x ta sÏ cã ®o¹n code nh sau ®Ó hiÖn ra giao
diÖn cho phÐp ta thùc hiÖn néi suy newton nh ë h×nh 3 lµ
private void btnNhapDaySo_Click(object sender, EventArgs e)
{
//nÕu « text ®· nhËp gi¸ trÞ tøc lµ kh¸c rçng th× thùc hiÖn xin
// míi sè text t¬ng øng x,y ®Ó nhËp vµo
if (txtsopt.Text != "")
{
//®o¹n code ®Ó hiÓn thÞ sè « text ®Ó nhËp x(ë ®©y lµ m¶ng c¸c « text
for(int i=0;i<Convert.ToInt32(txtsopt.Text);i++)
{
//xin míi mét « text víi new txt()
tx[i]=new txt();
//x¸c ®Þnh vÞ trÝ cña « text ®ã
tx[i].Location = new System.Drawing.Point((i+1) *60, 10);
//x¸c ®Þnh kÝch thíc cña « text ®ã
tx[i].Size = new System.Drawing.Size(54, 20);
//®Æt thø tù fÝm tab
tx[i].TabIndex = i;
//thªm « text vµo giao diÖn tÝnh néi suy b»ng ph¬ng thøc Add
this.Controls.Add(tx[i]);
//c¸c ®o¹n code tiÕp theo ®Ó xö lý viÖc hiÓn thÞ trªn giao diÖn
grb1.Visible = false;
label1.Visible = true;
label2.Visible = true;
groupBox1.Visible = true;
}
24

//®o¹n code ®Ó hiÓn thÞ sè « text ®Ó nhËp y(ë ®©y lµ m¶ng c¸c « text
for (int j = Convert.ToInt32(txtsopt.Text); j <
Convert.ToInt32(txtsopt.Text)*2; j++)
{
//xin míi mét « text víi new txt()
tx[j] = new txt();
//x¸c ®Þnh vÞ trÝ cña « text ®ã
tx[j].Location = new System.Drawing.Point(((j -
Convert.ToInt32(txtsopt.Text))+1) * 60, 50);
//x¸c ®Þnh kÝch thíc cña « text ®ã
tx[j].Size = new System.Drawing.Size(54, 20);
//thªm « text vµo giao diÖn tÝnh néi suy b»ng ph¬ng thøc Add
this.Controls.Add(tx[j]);
//®Æt thø tù fÝm tab
tx[j].TabIndex = j;
//c¸c ®o¹n code tiÕp theo ®Ó xö lý viÖc hiÓn thÞ trªn giao diÖn
grb1.Visible = false;
}

}
//nÕu « text cha nhËp th× ®a ra hiÓn thÞ cho ngêi sö dông biÕt
else
{
MessageBox.Show("cha nhËp sè phÇn tö x,y cÇn nhËp", "Chó ý",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
25

H×nh 2

PhÇn tÝnh to¸n néi suy newton ë H×nh 3 ta cã ®o¹n code thÓ hiÖn ch¬ng tr×nh nh
sau:
NhËp c¸c gi¸ trÞ x,y vµo c¸c « ®· ®îc hiÓn thÞ ë díi
NhËp gi¸ trÞ cña x cÇn néi suy tõ c¸c gi¸ trÞ x,y ®· nhËp sau ®ã ta nhÊp chuét vµo
nót NéI SUY ta sÏ cã kÕt qu¶ cña y.
§o¹n code ®¬c thùc hiÖn khi nhÊp chuét vµo nót NéI SUY lµ
private void btnNoiSuy_Click(object sender, EventArgs e)
26

{
//tÝnh c¸c gi¸ trÞ delta ban ®Çu
for (int i = 0; i < Convert.ToInt32(txtsopt.Text); i++)
{
delta[i, 0] = Convert.ToSingle(tx[i +
Convert.ToInt32(txtsopt.Text)].Text);
}
//tÝnh c¸c gi¸ trÞ delta kh¸c c¨n cø vµo gi¸ trÞ delta(ph¬ng sai)
for (int i = 1; i < Convert.ToInt32(txtsopt.Text); i++)
{
for (int k = 1; k <= i; k++)
{
delta[i, k] = (delta[i, k - 1] - delta[i - 1, k - 1]) /
(Convert.ToSingle(tx[i].Text) - Convert.ToSingle(tx[i - k].Text));
}
}
giatri = delta[0, 0];
float tich = 1;
//¸p dông ®óng c«ng thøc néi suy newton t¹i ®©y
for (int u = 1; u < Convert.ToDouble(txtsopt.Text); u++)
{
tich *= (Convert.ToSingle(txtX.Text) - Convert.ToSingle(tx[u - 1].Text));
giatri += tich*delta[u, u] ;
}
//hiÓn thÞ kÕt qu¶ ë « text y=
txtY.Text = giatri.ToString();
}
27

H×nh 3
Form Lagrange lµ giao diÖn ®Ó thùc hiÖn c¸c phÐp néi suy cña lagrange.
Víi giao diÖn tÝnh néi suy lagrange hoµn toµn t¬ng tù néi suy newton víi h×nh 4.
Vµ ®o¹n code chÝnh ®Ó tÝnh néi suy Lagrange lµ:
private void btnNoiSuy_Click(object sender, EventArgs e)
{
double giatri=0;
28

H×nh 4
for(int i=0;i<Convert.ToInt32(txtsopt1.Text);i++)
{
L=1;
for(int k=0;k<Convert.ToInt32(txtsopt1.Text);k++)
{
if(k!=i)
{
29

//®©y lµ ®o¹n code thÓ hiÖn c«ng thøc néi suy Lagrange//

( x − x0 )  ( x − x k −1 )( x − xk +1 )  ( x − x n )
Lk ( x ) = ,0≤k ≤n
( x k − x0 )  ( x k − x k −1 )( x k − xk +1 )  ( x k − xn )
L *= (Convert.ToDouble(txtX1.Text) -
Convert.ToDouble(tx[k].Text)) / (Convert.ToDouble(tx[i].Text) -
Convert.ToDouble(tx[k].Text));
}
}
giatri+=L*Convert.ToDouble(tx[i+Convert.ToInt32(txtsopt1.Text)].Text);
}
txtY1.Text=giatri.ToString();
}
30

H×nh 5

Form frmHelp lµ giao diÖn híng dÉn sö dông ch¬ng tr×nh néi suy nµy.

H×nh 6
31

Form frmAbout lµ giao diÖn giíi thiÖu t¸c gi¶ viÕt ch¬ng tr×nh.

H×nh 7
32

KẾT LUẬN

LuËn v¨n ®· ®¹t ®îc mét sè kÕt qu¶ sau:


1. HÖ thèng ®îc mét sè kiÕn thøc c¬ b¶n, cÇn thiÕt vÒ lý thuyÕt cña ®a thøc néi
suy Lagrange vµ ®a thøc néi suy Newton lµm c«ng cô ®Ó gi¶ quyÕt c¸c bµi to¸n vÒ
t×m gi¸ trÞ cña hµm t¹i c¸c ®iÓm khi biÕt c¸c mèc néi suy cho tríc.
2. Giíi thiÖu tæng qu¸t vÒ ng«n ng÷ lËp tr×nh visual C#.
3. ViÕt ch¬ng tr×nh ch¹y thö b»ng ng«n ng÷ lËp tr×nh C#, ch¬ng tr×nh t×m gi¸
trÞ cña hµm cho tríc bµng ph¬ng ph¸p Lagrange vµ ph¬ng ph¸p Newton.

Sau khi hoµn thµnh khãa luËn t«i thÊy cã mét sè vÊn ®Ò ®Æt ra:
1. Ch¬ng tr×nh øng dông cÇn hoµn thiÖn h¬n, thªm nhiÒu chøc n¨ng thong
dông kh¸c.
2. Nghiªn cøu øng dông C# ®Ó gi¶i c¸c bµi to¸n kh¸c.
33

Tµi liÖu tham kh¶o

[1] Ph¹m Kú Anh, Gi¶i tÝch sè, NXB §¹i häc quèc gia Hµ Néi, 1996.
[2] Lª V¨n Doanh vµ TrÇn Kh¾c TuÊn, 101 thuËt to¸n vµ ch¬ng tr×nh, NXB
Khoa häc vµ kü thuËt, Hµ Néi,1996.
[3] Phan V¨n H¹p vµ Lª §×nh ThÞnh, Ph¬ng ph¸p tÝnh vµ c¸c thuËt to¸n, NXB
Gi¸o dôc, 2000.
[4] NguyÕn H÷u Khang, Kü thuËt lËp tr×nh øng dông C#>net toµn tËp, NXB
Lao ®éng - X· héi, 2002
[5] Ph¬ng Lan, LËp tr×nh WINDOWS víi C#.Net, NXB Lao ®éng - X· héi, 2002
[6] TrÇn Xu©n Sinh, Ph¬ng ph¸p tÝnh, §¹i häc Vinh, 1997.
[7] Lª Träng Vinh, Gi¶i tÝch sè, NXB Khoa häc vµ ký thuËt, 2000.

You might also like