Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
2,17 MB
Nội dung
Trờng đại học vinh Khoa Toán SửdụngngônngữlậptrìnhC# xP X HM S BNG A THC NI 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: Phm Th Thanh Mai Lớp: 47Toán-Tin ứng dụng Vinh, 5/2010 MC LC 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. Đathứcnộisuybằng đại số 3 1.1.2. Đathứcnộisuy Lagange 4 1.1.3.2. Sai số tính toán .10 1.1.4. Đathứcnộisuy Newton 11 1.1.5. Đathức với mốc nộisuy cách đều 13 1.1.5.1 Đathức Chebysev .13 1.1.5.2 Chọn mốc nộisuy 14 1.1.5.4 Một số quy tắc nộisuyhàmsố trên lới đều 16 a. Bảng sai phân 16 1.1.5.5 Nộisuy ở đầu bảng .17 1.1.5.6 Nộisuy ở cuối bảng 17 Chơng 2 18 THIếT LậP CHƯƠNG TRìNHBằNGNGÔNNGữLậPTRìNHc# 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ấpxỉhàmsốbằngđathứcnộisuy là một đề tài khá thú vị. Trong thực tế, nhiều khi ta phải tìm hàm )(xfy = , chỉ biết các giá trị của i y tại các điểm [ ] bax i , , )., .1,0( ni = Cũng có trờng hợp biểu thức )(xf đã cho nhng quá cồng kềnh. Khi đó dùng phép nộisuy ta có thể dễ dàng tính đợc f tại bất kì [ ] bax , mà độ chính xác không kém bao nhiêu. 2 Mục tiêu của phép nộisuy khá nhiều, nhng chủ yếu tìm thuật toán đơn giản tính giá trị )(xf cho những x không nằm trong bảng ii yx , , ),0( ni = 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ị ).(, ii xfx 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ề đathứcnội suy, đathứcnộisuy Lagrange, đathứcnộisuy 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ộisuyđã cho nhờ đathứcnộ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ằngngônngữlậptrì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 THC NI SUY 1.1.1. Đathứcnộisuybằng đại số Ngoài ý nghĩa lịch sử ra, đathức đại số thờng đợc dùng trong phép nộisuy 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 3 trên đa thức. Hơn nữa nếu )(xp là đa thức, còn c là hằng số thì )(cxP và )( xcP + cũng là đa thức. Bài toán nộisuy đặt ra nh sau: cho các mốc nộisuy bxxxa n <<< . 10 . Hãy tìm đathức bậc m , = = m i i im xaxP 0 )( , sao cho )(:)( iiim xfyxP == , ),0( ni = . ý nghĩa hình học của bài toán nộisuy là: hãy xây dựng đờng cong đại số )(xPy m = đi qua các điểm cho trớc ),( ii yx , ),0( ni = . Nh vậy ta cần xác định )1( +m hệ số i a , ),0( ni = , từ hệ phơng trình tuyến tính sau: i m j j ij yxa = =0 , ),0( ni = . (1.1) Có thể thấy rằng nếu nm < , )( nm > hệ nói chung vô nghiệm. Khi nm = , hệ )1.1( có định thức Vandermond 0)( .1 . . .1 .1 0 2 1 2 11 0 2 00 == < nji ji n nnn n n xx xxx xxx xxx . Suy ra phơng trình (1.1) có nghiệm duy nhất. 1.1.2. Đathứcnộisuy Lagange Sau đây ta sẽ trình bày cách xây dựngđathứcnộisuy mà không cần giải hệ (1.1). Trớc hết, ta tìm đợc đathức )(xP i có bậc n , sao cho P i (x j ) = 1, nếu i = j 0, nếu i j. với i, j = 0, 1, ., n. Ta thấy P i (x) = A i (x-x 0 ) (x-x i- 1 )(x-x i +1 ) (x-x n ). 4 Vì )) .()() .(( )) .()() .(( )(1 110 110 niiiiii nii xxxxxxxx xxxxxxxx xP == + + nên ta có P i (x) = )) .()() .(( )) .()() .(( 110 110 niiiiii nii xxxxxxxx xxxxxxxx + + . Đặt P(x) = = n i 0 y i P i (x), ta có P(x j ) = = n i 0 y i P i (x j ), j = 0, 1, ., n. Nh vậy )(xP là đathứcnộisuy duy nhất cần tìm. Nếu các mốc nộisuy cách đều, tức là hxx jji = + , )1,0( = ni , thì đặt , 0 h xx t = hay thxx += 0 ta đợc P i (x) = P i (x 0 +ht) = )(! )) .(1()1( itn ntttC i n in . Từ đó ta đợc = =+ n i i i n n y it C n nttt thxP 0 1 0 )1( ! )) .(1( )( . (2.1) Trong công thức (2.1), các hệ số i n in C )1( không phụ thuôc vào hàmsố )(xf , mốc nộisuy và bớc h . Do đó chúng đợc tính sẵn, lậpbảng để sửdụng nhiều lần. 5 Sơ đồ khối tính giá trị hàm )(xf theo phơng pháp nộisuy lagrange rất đơn giản 6 VÝ dô 1: T×m ®a thøc néi suy bËc 2 cña hµm x y 3= trªn ®o¹n ]1,1[− t¹i c¸c mèc néi suy ,1,0,1 210 ==−= xxx ta cã ;3,1,3/1 210 === yyy )684( 6 1 1)11( )1( 3 )10)(10( )1)(1( .1 )11)(01( )1)(0( 3 1 )( 2 2 ++= + + + −+ −+ + −−−− −− = xx xxxxxx xL . Cho 2/1 = x ta ®îc 8.1 6 1 3 2 133 2 1 ≈++≈= . Input n, x, {x i ,y i } P = 0 k = 0, 1,…, n G =1 i = 0,1, …, n i k G = G(x-x i )/(x k -x i ) P=P+y k G Print f(x) End 7 Ví dụ 2: Tìm đathứcnộisuy bậc 4 trùng với hàm y =2cos 4 x tại các điểm i x 2 3/4 0 3/4 2 i y 0 1 2 1 0 P(x) = ; 320 6401969 ) 3 4 2(2) 3 4 2)(22( ) 3 4 () 3 4 )(2( .0 )2 3 4 ( 3 4 ) 3 4 3 4 )(2 3 4 ( )2() 3 4 )(2( .1 )20)( 3 4 0)( 3 4 0)(20( )2)( 3 4 )( 3 4 )(2( .2 )2 3 4 )( 3 4 3 4 )( 3 4 )(2 3 4 ( )2)( 3 4 ()2( .1 )22)( 3 4 2)(2)( 3 4 2( )2)( 3 4 () 3 4 ( .0 24 + = ++ ++ + ++ ++ + ++ ++ + + + + + + + xx xxxxxxxxxxxx xxxxxxxx Khi cần tính giá trị của x [x 0 , x n ], 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) 4156.1 . Sai số 0015.0)1()1( < Pf . Công thứcnộisuy Lagrange trình bày ở trên có u điểm là đơn giản nhng nếu thêm mốc nộisuy phải tính lại toàn bộ. Nhợc điểm này đợc khắc phục trong công thứcnộisuy Newton 1.1.3. Sai số của phép nộisuy 1.1.3.1. Sai số phơng pháp Giả sử )(xP là đathứcnọisuy bậc n của hàm )(xf , tức là ).,0)(()( nixfxP ii == Xét hàm hỗ trợ ),()(:)( zkzRzF = trong đó .)()( 0 = = n i i xzz Hằng số k chọn từ điều kiện ,0)( =xF nghĩa là )( )()( x xpxf k = 8 Mặt khác ),0(0)( nixF i == do đó )(zF có 2+n nghiệm phân biệt n xxxx , .,,, 10 . Theo định lý Role )( , zF có )1( +n nghiệm vv, ))(1( znF + có nghiệm [ ] ba, ,)!1()())(1(0 )1( +=+= + nkfnF n hay k n f n = = + )!1( )( )1( So sánh hai cách viết của k ta có: )( )!1( )( )( )1( x n f xR n = + . (2.2) Gọi ,)(sup )1( xfM n bxa + < = từ (2.2) suy ra )) .(( )!1( )()( 0 n xxxx n M xPxf + . (2.3) Ví dụ. Ước lợng sai số phép nộisuybằngđathức bậc 3 tính sin6 O với các mốc nộisuy . 180 11 ; 20 ; 180 7 ; 36 3210 ==== xxxx Ta có ========= xfxbanxxf sin;6 30 ;11 180 11 ;5 36 ;3;sin)( )4( 190809.011sin)(sup )4( === xfM bxa Vậy 9 10106.1) 180 11 30 )( 2030 )( 180 7 30 )( 3630 ( !4 190809.0 )6(6sin ì P Để 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ét trờng hợp các mốc nộisuy cách đều ).,0( 0 niihxx i =+= Đặt , )( 0 h xx t = ta có ),()()( 1 0 ththxx n + =+= Trong đó ).) .(1()( ntttt = 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 9 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). Thật vậy, đặt 2 n tz = ta có . 2 2 2 ) 2 ()( 2 2 2 2 ì =+= n z n z n zt Nếu n chẵn thì trong biểu thức của có 1 + n 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 )1( +n thừa số có thể ghép đôi hết, do đó là hàm chẵn 2) )( 1 )1) .(1()1( t nt t ntntttt + =++ . Xét phân hạch 1 0 ]1,[]1,0[ = += n i ii . Giá trị của )(t trên đoạn [ ] 1, +ii là giá trị tơng ứng trong đoạn trớc nhân với 0 1 < + nt t , khi [ ] nt ,0 . 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 1 2 1 1 2 1 11 ; 2 1 ,0 = + + = + n n n tn t nt tn t nên )( 1 tMax iti + giảm dần khi i thay đổi từ 0 đến n/2, sau đó lại tăng do tính chất đối xứng của . 4) Ngoài đoạn [ ] n,0 )(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 )(xR rất lớn ngoài đoạn [ ] ,, 0 n xx do đó dùng công thứcnộisuy để thực hiện phép ngoại suy sẽ mắc phải sai số lớn. b) Phép nộisuy có độ chính xác cao đối với các đoạn [ ] 1 , +ii xx ở 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 )( ~ i xfy = . Khi đó, thay vì đathứcnộisuy 10