Giáo Trình Phương Pháp Tính (chương 6)

8 241 0
Giáo Trình Phương Pháp Tính (chương 6)

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

Thông tin tài liệu

CHNG6:TÍNHGNĐÚNGĐOHÀMVÀTÍCH PHÂNXÁCĐNH  §1.ĐOHÀMROMBERG ĐohàmtheophngphápRomberglàmtphngphápngoisuy đxácđnhđohàmvimtđchínhxáccao.TaxétkhaitrinTaylorca hàmf(x)ti(x+h)và(xh): ⋅⋅⋅++ ′′′ + ′′ + ′ +=+ )x(f !4 h )x(f !3 h )x(f 2 h )x(fh)x(f)hx(f )4( 432  (1) ⋅⋅⋅−+ ′′′ − ′′ + ′ −=− )x(f !4 h )x(f !3 h )x(f 2 h )x(fh)x(f)hx(f )4( 432  (2) Tr(1)cho(2)tacó: ⋅⋅⋅++ ′′′ + ′ =−−+ )x(f !5 h2 )x(f !3 h2 )x(fh2)hx(f)hx(f )5( 53 (3) Nhvyrútra: ⋅⋅⋅−− ′′′ − −−+ = ′ )x(f !5 h )x(f !3 h h2 )hx( f )hx( f )x(f )5( 42   (4) haytacóthvitli: [] ⋅⋅⋅++++−−+= ′ 6 6 4 4 2 2 hahaha)hx(f)hx(f h2 1 )x(f    (5) trongđócáchsaiphthucfvàx. Tađt: [ )hx(f)hx(f h2 1 )h( −−+=ϕ ] (6) Nhvyt(5)và(6)tacó:  ⋅ ⋅ ⋅ − − − − ′ =ϕ= 6 6 4 4 2 2 hahaha)x( f )h()1,1(D (7) ⋅⋅⋅−−−− ′ = ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ ϕ= 64 h a 16 h a 4 h a)x(f 2 h )1,2(D 6 6 4 4 2 2 (8) vàtngquátvihi=h/2 i1 tacó: ⋅ ⋅ ⋅ − − − − ′ =ϕ= 6 i6 4 i4 2 i2i hahaha)x( f )h()1,i(D (9) TatorasaiphânD(1,1)4D(2,1)vàcó: ⋅⋅⋅−−− ′ −= ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ ϕ−ϕ 6 6 4 4 ha 16 15 ha 4 3 )x(f3 2 h 4)h( (10) Chiahaivca(10)cho3tanhnđc: ⋅⋅⋅+++ ′ = − = 6 6 4 4 ha 16 5 ha 4 1 )x(f 4 )1,1(D)1,2(D4 )2,2(D   (11) TrongkhiD(1,1)vàD(2,1)saikhácf′(x)phthucvàoh 2 thìD(2,2)saikhác f′(x)phthucvàoh 4 .Bâygitalichiađôibchvànhnđc: 158  ⋅⋅⋅+ ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ + ′ = 6 6 4 4 2 h a 16 5 2 h a 4 1 )x(f)2,3(D (12) vàkhshngcóh 4 bngcáchtora:  6 6 ha 64 15 )x(f15)2,3(D16)3,2(D +⋅⋅⋅+ ′ −=− (13) Chiahaivca(13)cho15tacó:  ⋅⋅⋅−− ′ = − = 6 6 ha 64 1 )x(f 15 )2,2(D)2,3(D16 )3,3(D (14) Vilntínhnàysaiscađohàmchcònphthucvàoh 6 .Litiptcchia đôibchvàtínhD(4,4)thìsaisphthuch 8 .Sđtínhđohàmtheo phngphápRomberglà:  D(1,1)  D(2,1) D(2,2)  D(3,1) D(3,2) D(3,3)  D(4,1)  D(4,2) D(4,3) D(4,4)  ............ trongđómigiátrsaulàgiátrngoisuycagiátrtrcđóhàngtrên. Vi2≤j≤i≤ntacó:  14 )1j,1i(D)1j,i(D4 )j,i(D 1j 1j − −−−− = − −  vàgiátrkhiđulà:  [] )hx(f)hx(f h2 1 )h()j,i(D ii i i −−+=ϕ=  vihi=h/2 i1 . Chúngtangnglikhihiugiahailnngoisuyđtđchínhxác yêucu. Víd:Tìmđohàmcahàmf(x)=x 2 +arctan(x)tix=2vibctínhh= 0.5.Trchínhxáccađohàmlà4.2  201843569.4)]75.1(f)25.2(f[ 25.02 1 )1,2(D 207496266.4)]5.1(f)5.2(f[ 5.02 1 )1,1(D =− × = =− × =  200458976.4)]875.1(f)125.2(f[ 125.02 1 )1,3(D =− × =  19995935.4 14 )1,1(D)1,2(D4 )2,2(D = − − =  200458976.4 14 )1,2(D)1,3(D4 )2,3(D = − − =  159 200492284.4 14 )2,2(D)2,3(D4 )3,3(D 2 2 = − − =  Chngtrìnhtínhđohàmnhdiđây.Dùngchngtrìnhtínhđo hàmcahàmchotrongfunctionvibch=0.25tixo=0tanhnđcgiá trđohàmlà1.000000001.  Chngtrình61  //Daoham_Romberg; #include<conio.h> #include<stdio.h> #include<math.h> #definemax11 floath; voidmain() {  floatd[max];  intj,k,n;  floatx,p;   floaty(float),dy(float);   clrscr();  printf(Chodiemcantimdaohamx=);  scanf(%f,&x);  printf(TinhdaohamtheophuongphapRomberg\n);   printf(cuahamf(x)=th(x)taix=%4.2f\n,x);  n=10;  h=0.2;  d[0]=dy(x);  for(k=2;k<=n;k++) { h=h/2; d[k]=dy(x); p=1.0; for(j=k1;j>=1;j) { p=4*p; 160 d[j]=(p*d[j+1]d[j])/(p1); } }  printf(y=%10.5f\n,d[1]);  getch(); }  floaty(floatx) {  floata=(exp(x)exp(x))/(exp(x)+exp(x));  return(a); }  floatdy(floatx) {  floatb=(y(x+h)y(xh))/(2*h);  return(b); }  §2.KHÁINIMVTÍCHPHÂNS  Mcđíchcatínhtíchphânxácđnhlàđánhgiáđnhlngbiuthc: ∫ = b a dx)x(fJ  trongđóf(x)làhàmliêntctrongkhong[a,b] vàcóthbiudinbiđngcongy=f(x).Nh vytíchphânxácđnhJlàdintíchSABba,gii hnbiđngcongf(x),trchoành,cácđng thng x = a và x = b. Nu ta chiađon [a, b] thànhnphnbicácđimx ithìJlàgii hncatngdintíchcáchìnhchnhtf(xi).(xi+1xi)khisđimchiatinti ∝,nghĩalà: y B A x b a   )xx)(x(flimJ n 0i i1ii n ∑ = + ∞→ −=  Nucácđimchiaxicáchđu,thì(xi+1xi)=h.Khiđtf(xo)=fo,f(x1)=f1 , tacótng:   ∑ = = n 0i in fhS 161  Khinrtln,SntintiJ.Tuynhiênsaislàmtrònliđctíchlu. Dovycnphitìmphngpháptínhchínhxáchn.Dođóngitaítkhi dùngphngpháphìnhchnhtnhvanêu.  §3.PHNGPHÁPHÌNHTHANG Trongphngpháphìnhthang,thayvìchiadintíchSABbathànhcác hìnhchnht,talidùnghìnhthang.Vídnuchiathành3đonnhhình vthì:  S3=t1+t2+t3 trongđótilàcácdintíchnguyênt.Midintíchnàylàmthìnhthang:  ti=[f(xi)+f(xi1)]/(2h)  =h(fifi1)/2 Nhvy:  S3=h[(fo+f1)+(f1+f2)+(f2+f3)]/2  =h[fo+2f1+2f2+f3]/2 Mtcáchtngquátchúngtacó:  () n1n20n ff2f2f n a b S ++⋅⋅⋅++ − = −  hay: ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ ++ − = ∑ − = 1n 1i in0n f2ff n a b S  Mtcáchkháctacóthvit:  }2/]h)1k(a[f2/)kha(hf{dx)x(fdx)x(f 1n 0k 1n 1k h)1k(a kha b a ++++≈= ∑∑ ∫∫ − = − = ++ + hay:  }2/)b(f]h)1n(a[f)ha(f2/)a(f{hdx)x(f b a +−++⋅⋅⋅+++= ∫ Chngtrìnhtínhtíchphântheophngpháphìnhthangnhsau:  Chngtrình62  //tinhtichphanbangphuongphaphinh_thang; #include<conio.h> #include<stdio.h> #include<math.h>  floatf(floatx) {  floata=exp(x)*sin(x); 162  return(a); }; voidmain() {  inti,n;  floata,b,x,y,h,s,tp;   clrscr();  printf(Tinhtichphantheophuongphaphinhthang\n);  printf(Chocanduoia=);  scanf(%f,&a);  printf(Chocantrenb=);  scanf(%f,&b);  printf(Chosobuocn =);  scanf(%d,&n);  h=(ba)/n;  x=a;  s=(f(a)+f(b))/2;  for(i=1;i<=n;i++) { x=x+h; s=s+f(x); }  tp=s*h;  printf(Giatricuatichphanla:%10.6f\n,tp);  getch(); }   Dùng chng trình này tính tích phân ca hàm cho trong function trong khong[0,1]vi20đimchiatacóJ=0.261084.  §4.CÔNGTHCSIMPSON Khácviphngpháphìnhthang,tachiađon[a,b]thành2nphn đunhaubicácđimchiax i:  a=xo<x1<x2< <x2n=b  xi=a+ih;h=(ba)/2nvii=0,..,2n Doyi=f(xi)nêntacó: 163 ∫∫∫∫ − +++= x x x x b a x x n2 2n2 4 2 2 0 fdx fdxfdxdx)x(f  Đtínhtíchphânnàytathayhàmf(x)vphibngđathcnisuy Newtontinbc2:  0 2 002 y !2 )1t(t ytyP ∆ − +∆+=  vàvitíchphânthnhttacó:   ∫∫ = 2 0 2 0 x x 2 x x dx)x(Pdx)x(f Đibinx=x0+ththìdx=hdt,vix0thìt=0vàvix2thìt=2nên: () 210 0 2 00 2t 0t 0 2 23 0 2 0 2 0 0 2 00 x x 2 yy4y 3 h y 2 4 3 8 2 1 y2y2h y 2 t 3 t 2 1 y 2 t tyh dty !2 )1t(t ytyhdx)x(P 2 0 ++= ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ∆ ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ −+∆+= ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ∆ ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ −+∆+= ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ∆ − +∆+= = = ∫∫ Đivicáctíchphânsautacũngcóktqutngt:  [] 2i21i2i2 x x yy4y 3 h dx)x(f 2i2 i2 ++ ++= ∫ + Cngcáctíchphântrêntacó:   ()( [] n22n2421n2310 b a yyyy2yyy4y 3 h dx)x(f ++⋅⋅⋅++++⋅⋅⋅+++= −− ∫ )  ChngtrìnhdùngthuttoánSimpsonnhsau:  Chngtrình63  //PhuongphapSimpson; #include<conio.h> #include<stdio.h> #include<math.h>  floaty(floatx) {  floata=4/(1+x*x); 164  return(a); }  voidmain() {  inti,n;  floata,b,e,x,h,x2,y2,x4,y4,tp;   clrscr();  printf(TinhtichphantheophuongphapSimpson\n);  printf(Chocanduoia=);  scanf(%f,&a);  printf(Chocantrenb=);  scanf(%f,&b);  printf(Chosodiemtinhn =);  scanf(%d,&n);  h=(ba)/n;  x2=a+h;  x4=a+h/2;  y4=y(x4);  y2=y(x2);  for(i=1;i<=n2;i++) { x2+=h; x4+=h; y4+=y(x4); y2+=y(x2); }  y2=2*y2;  y4=4*(y4+y(x4+h));  tp=h*(y4+y2+y(a)+y(b))/6;  printf(Giatricuatichphanla:%10.8f\n,tp);  getch(); }   Dùng chngtrìnhnày tính tíchphân ca hàm trong functiontrong đon[0,1]vi20khongchiachotaktquJ=3.14159265.  165 .  Chng trình tính đohàmnhdiđây.Dùngchng trình tính đo hàmcahàmchotrongfunctionvibch=0.25tixo=0tanhnđcgiá trđohàmlà1.000000001.  Chng trình 61  //Daoham_Romberg; #include<conio.h> #include<stdio.h> #include<math.h> #definemax11 floath; voidmain() { . Khinrtln,SntintiJ.Tuynhiênsaislàmtrònliđctíchlu. Dovycnphitìmphng pháp tính chínhxáchn.Dođóngitaítkhi dùngphng pháp hìnhchnhtnhvanêu.  §3.PHNGPHÁPHÌNHTHANG Trongphng pháp hìnhthang,thayvìchiadintíchSABbathànhcác hìnhchnht,talidùnghìnhthang.Vídnuchiathành3đonnhhình vthì: . }2/)b(f]h)1n(a[f)ha(f2/)a(f{hdx)x(f b a +−++⋅⋅⋅+++= ∫ Chng trình tính tíchphântheophng pháp hìnhthangnhsau:  Chng trình 62  //tinhtichphanbangphuongphaphinh_thang; #include<conio.h> #include<stdio.h> #include<math.h>  floatf(floatx) { 

Ngày đăng: 17/06/2015, 14:01

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