Tìm nghiệm gần đúng của phương trình vi phân bằng phương pháp runghe kutta

25 549 0
Tìm nghiệm gần đúng của phương trình vi phân bằng phương pháp runghe kutta

Đ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

Tìm nghiệm gần đúng của phương trình vi phân bằng phương pháp runghe kutta

Bài tập lớn Lập trình Tính toán TRNG I HC BCH KHOA H NI KHOA TON TIN NG DNG - - TIU LUN ti: Tỡm nghim gn ỳng ca phng trỡnh vi phõn bng phng phỏp Runghe Kutta Giỏo viờn hng dn: Nguyn Hu in Sinh viờn thc hin : Cung Vnh Nam Nguyn Th Bớch Võn Lp: Toỏn-Tin 2-K51 H Ni, thỏng 11 nm 2009 -1- Bài tập lớn Lập trình Tính toán Mục lục LI M U NI DUNG I Gii thiu s lc v Maple Maple l gỡ? Chc nng Kin trỳc Cu trỳc hp v danh sỏch Maple Vớ d v ng dng ca Maple ging dy II Mụ phng thut toỏn tỡm nghim gn ỳng ca phng trỡnh vi phõn bng phng phỏp Runghe Kutta Trỡnh by bi toỏn Thut toỏn III Chng trỡnh minh khụng s dng hm RungheKutta cú sn Maple 11 1.Th tc giatrihamso tớnh giỏ tr ca hm s ó cho 11 Cu trỳc for 11 3.Th tc RungheKutta dựng mụ t thut toỏn v cho kt qu 12 Vớ d ỏp dng 13 IV Chng trỡnh minh s dng hm RungheKutta cú sn Maple 15 Cu trỳc lnh dsolve 15 Chng trỡnh chy v vớ d minh 15 V So sỏnh chng trỡnh khụng s dng hm RungheKutta maple v chng trỡnh s dng hm RungheKutta cú sn Maple 16 Xột cỏc vớ d 16 So sỏnh 21 -2- Bài tập lớn Lập trình Tính toán VI Gii hn ca thut toỏn 21 KT LUN 22 I Kt qu t c t ti 22 II Kt lun 24 TI LIU THAM KHO 25 -3- Bài tập lớn Lập trình Tính toán Lời mở đầu Ngy nay, Vit Nam tt c cỏc k thi cp trung hc tr lờn u c phộp dựng mỏy tớnh (khụng lp trỡnh), iu ú cú ngha l xó hi ó chp nhn cho cỏc em lm tớnh bng tay, m chng t mt t Toỏn hc c Lờn n bc i hc, cụng c ny cũn tr nờn ti cn thit hn cho sinh viờn khoa hc t nhiờn Bt sinh viờn tớnh cỏc bc phng phỏp Runge-Kutta khụng mỏy tớnh l cỏc em chu thua mc dự tt c u hiu bi V lờn cao hn na, cỏc nh nghiờn cu cũn phi hon ton da vo nhng mỏy tớnh siờu mnh vi nhng phn mm thớch ng h tr h cỏc bi toỏn phc Tuy nhiờn, cho dự cú mnh n õu i chng na, tt c cỏc mỏy tớnh u tớnh toỏn trờn cỏc s Chỳng cú th tớnh mt triu s l ca Pi nhỏy mt nhng khụng ti no tỡm cỏc ký hiu quen thuc nh ln(Sin (x2+1)).iu ny gõy khụng ớt khú khn cho cỏc nh khoa hc nờn h ao c cú mt cụng c thớch ng lm vic, mt phn mm khụng ch thao tỏc cỏc s, m phi lm c iu ny trờn cỏc ký hiu quen thuc ú l mt phn mm tớnh toỏn hỡnh thc Maple c vit t ú Trong khuụn kh bi bỏo cỏo bi ln mụn hc ny, chỳng em xin trỡnh by mt vi kt qu t c vic s dng Maple, c th l Tỡm nghim gn ỳng ca phng trỡnh vi phõn bng phng phỏp Runghe Kutta -4- Bài tập lớn Lập trình Tính toán Nội dung I Gii thiu s lc v Maple Maple l gỡ? Maple l mt gúi phn mm toỏn hc thng mi phc v cho nhiu mc ớch Nú phỏt trin ln u tiờn vo nm 1980 bi Nhúm Tớnh toỏn Hỡnh thc ti i hc Waterloo Waterloo, Ontario, Canada Tờn "Maple" khụng phi l tờn vit tt hoc t cu to bng ch u, m ch n gin l ch hỡnh tng Lỏ phong (ting Anh: maple) trờn Quc k Canada Maple l mt h thng tớnh toỏn trờn cỏc biu thc i s v minh toỏn hc mnh m T i n Maple ó phỏt trin qua rt nhiu phiờn bn, Maple cú cỏch ci t n gin, chy c trờn nhiu h iu hnh, cú cu trỳc linh hot s dng mt cỏch ti u cu hỡnh mỏy v cú trỡnh tr giỳp rt d s dng Tri qua nhiu phiờn bn, Maple cung cp ngy cng nhiu cỏc cụng c trc quan, cỏc gúi lnh giỳp tớnh toỏn toỏn hc ph thụng v i hc u im ú lm cho nhiu ngi la chn v s dng Maple cựng vi cỏc phn mm toỏn hc khỏc ỏp dng dy toỏn v cỏc cụng vic tớnh toỏn ũi hi thc tin v s phỏt trin ca giỏo dc Chc nng Ngi dựng cú th nhp biu thc toỏn hc theo cỏc ký hiu toỏn hc truyn thng v thc hic c hu ht cỏc phộp toỏn c bn chng trỡnh toỏn i hc v sau i hc Cung cp cỏc cụng c minh hỡnh hc thun tin gm: V th tnh v ng ca cỏc ng v mt c cho bi cỏc hm tựy ý nhiu h ta khỏc Cho phộp trớch xut cỏc nh dng khỏc nh LaTex, Word, -5- Bài tập lớn Lập trình Tính toán HTML, Cú th d dng to nhng giao din ngi dựng tựy chn Maple cng cú mt ngụn ng lp trỡnh cp cao y Cng cú giao din cho nhng ngụn ng khỏc (C, Fortran, Java, MatLab, v Visual Basic) Cng cú mt giao din dnh cho Excel L mt cụng c biờn son giỏo ỏn v bi ging in t, thớch hp vi cỏc lp hc tng tỏc trc tip; l mt tr giỏo hu ớch cho hc sinh v sinh viờn vic t hc Kin trỳc Phn ln chc nng toỏn hc ca Maple c vit bng ngụn ng Maple, v c thụng dch bi nhõn Maple Nhõn Maple c vit bng C Maple chy trờn tt c cỏc h iu hnh chớnh Ngụn ng lp trỡnh Maple l mt ngụn ng kiu ng Cng ging nh cỏc h thng i s mỏy tớnh, cỏc biu thc hỡnh thc c lu tr b nh theo th khụng chu trỡnh cú hng (DAG) Ngụn ng cho phộp cỏc bin cú phm vi nht nh (lexical scoping) Ngụn ng cú hỡnh thc lp trỡnh hm, nhng cng cú h tr y cho lp trỡnh truyn thng, theo kiu mnh lnh Mt iu l i vi chng trỡnh thng mi, a s mó ngun u cú th xem t Cu trỳc hp v danh sỏch Maple Tp hp ca Maple c vit nh mt dy bao quanh bi du { }, õy l ký hiu toỏn hc cho hp hu hn Cng nh cỏc i tng khỏc ca Maple hp c gỏn giỏ tr nh mt bin, cú th lm i s, kt qu ca phộp tớnh hoc mt hm.Maple cung cp mt s toỏn t nh ly hp, ly giao v hiu trờn hp -6- Bài tập lớn Lập trình Tính toán Vic sp xp th t hp khụng cú qui tc no a ra, chỳng ta c gng sp xp d liu a vo thỡ hp s d nguyờn th t ú Danh sỏch ca Maple l mt dy nhng nú khụng cú phn t lp li (mi phn t l nht) Nhng phn t trựng danh sỏch s b loi b ch li mt Danh sỏch khụng cú toỏn t hp, giao v tr Danh sỏch ca Maple to bi dy nm du [ v ] Phõn bit dy v danh sỏch: vit [a,b],[b,c] thỡ Maple hiu l hai danh sỏch , cũn vit (a,b),(b,c) thỡ ch l mt dy m thụi a,b,b,c Vớ d v ng dng ca Maple ging dy Sau õy l vớ d th hin ti nng kh nng minh xut sc th hai chiu ln mt cong khụng gian ba chiu, th to cc, tham s, hm n ca Maple ắ V x2 + y2 vi x v y i t -1 n plot3d(x^2+y^2,x=-1 1,y=-1 1); -7- Bài tập lớn Lập trình Tính toán ú chớnh l im ni bt hn, kh nng cho hỡnh chy sng ng lm cho vic hc v ging dy tr nờn rt thỳ v II Mụ phng thut toỏn tỡm nghim gn ỳng ca phng trỡnh vi phõn bng phng phỏp Runghe Kutta Trỡnh by bi toỏn Trong lnh vc toỏn ng dng, chỳng ta thng gp rt nhiu bi toỏn liờn h vi phng trỡnh vi phõn thng Vic nghiờn cu nghim phng trỡnh vi phõn thng úng mt vai trũ quan trng lý thuyt toỏn hc Trong mt s trng hp n gin, nghim ca nú c tỡm bng phng phỏp cu phng, cũn núi chung khụng tỡm c nghim chớnh xỏc (Giỏo trỡnh gii tớch s - Lờ Trng Vinh) Mt nhng phng phỏp tỡm nghim gn ỳng ca phng trỡnh vi phõn thng l phng phỏp RungheKutta õy l phng phỏp cú chớnh xỏc cao, thng c s dng k thut Trong bi ny chỳng ta ch núi v phng phỏp RungheKutta bc vỡ õy l phng phỏp cú sai s nh nht 0(h5 ) c phng phỏp (RungheKutta bc 1, RungheKutta bc 2, RungheKutta bc 3, RungheKutta bc 4) Thut toỏn Runghe Kutta bc dựng tỡm nghim gn ỳng ca phng trỡnh vi phõn cp nh sau: Cho hm s y=f(x,y) vi y l o hm ca y theo x Cỏc yu t u vo: X(0): Giỏ tr nh nht ca x X(n): Giỏ tr ln nht ca x N : S im chia Y(0) : Giỏ tr ti im x=0 ca hm s -8- Bài tập lớn Lập trình Tính toán Cụng thc: k1 = hf ( xi , yi ) 1 k2 = hf ( xi + h, yi + k1 ) 2 1 k3 = hf ( xi + h, yi + k2 ) 2 k4 = hf ( xi + h, yi + k3 ) Vi yi+1 = yi + 1/6 ( k1 +2k2 + 2k3 + k4 ) Cụng thc trờn c s dng nhiu k thut vỡ t c ỳng cp cao Thut toỏn Mụ t: ỏp dng cụng thc Runghe Kutta, ta xut phỏt t im ban u y(x0)= y0 S dng mt cỏc cụng thc trờn, tớnh y1 ti im x1 = x0 + h1 K tip s dng y1 = y ( x0 + h1 ) tớnh y2 ti im x2 = x1 + h2 v c th tip tc S mụ t thut toỏn: -9- Bài tập lớn Lập trình Tính toán x0 , xn , n , y y0 = Y0 h= xn x0 n k1 = h f ( xi , y i ) 1 h, yi + k1 ) 2 1 k = h f ( xi + h, yi + k2 ) 2 k = h f ( xi + h , yi + k ) k = h f ( xi + yi+1 = yi + (k1 + 2k2 + 2k3 + k4 ) Print x = x0 + h x > xn Return - 10 - Bài tập lớn Lập trình Tính toán III Chng trỡnh minh khụng s dng hm RungheKutta cú sn Maple 1.Th tc giatrihamso tớnh giỏ tr ca hm s ó cho ắ Ni dung th tc nh sau: > giatrihamso:=proc(x,y) local f; f:=x+y; end; ắ Kt qu chy th tc: Th tc trờn s tớnh giỏ tr hm s ó nhp ti x v y ó bit (Ly vớ d phng trỡnh n gin l y=x+y) Khi hm phng trỡnh thay i ch vic sa li hm f th tc l c Cu trỳc for ắ Cu trỳc vũng lp n gin l: for loop - index from start -value to last - value block statements od; ắ Nguyờn tc s dng vũng lp ny nh sau: 1) Loop - index l tờn biờn nh l i,j 2) Start - value v last - value cú th l cỏc s, tờn bin cha s hoc mt biu thc cú kt qu l s Cỏc s ny l nhng s nguyờn, nhng s thp phõn v phõn s cng chp nhn 3) Vũng lp thc hin theo cỏch sau õy: (a) Gỏn start - value vo loop index (b) So sỏnh loop - index vi last - value, nu loop - index > last - value thỡ nhy ngoi vũng lp sau lnh od; nguc li thỡ i vo thõn vũng lp thc hin - 11 - Bài tập lớn Lập trình Tính toán (c) Sau a xỏc nh uc loop - index < last - value thỡ block statements thc hin (d) Thờm vo loop - index v quay li (b) 4) Nu start - value=1, thỡ from start - value cú th b qua 5) Ch s loop - index mc nh buc l cú cỏc buc khỏc i ta thờm lnh by 6) Khụng nờn t thay i giỏ tr ca loop - index 7) ng t du chm phy sau lnh m hóy t du chm phy hoc hai chm sau lnh od 3.Th tc RungheKutta dựng mụ t thut toỏn v cho kt qu ắ Ni dung th tc: > RungheKutta:=proc(a1,b1,c1,d1) local X:=array(1 30),Y:=array(1 30),a,b,n,h,k1,k2,k3,k4,j; a:=a1; b:=b1; n:=c1; Y[1]:=d1; h:=(b-a)/n; for j from to n X[j]:=a + h * j; k1:=h*giatrihamso(X[j],Y[j]); k2:=h*giatrihamso(X[j]+h/2,Y[j]+k1/2); k3:=h*giatrihamso(X[j]+h/2,Y[j]+k2/2); k4:=h*(X[j]+h+Y[j]+k3); Y[j+1] := Y[j] + (k1+2*k2+2*k3+k4)/6; od; print(`Nghiem gan dung`,Y[n]); end; Trong th tc trờn cú tham s l a1,b1,c1,d1 tng ng vi cỏc bin u vo l x0 , xn , n, y0 ắ Kt qu chy th tc: - 12 - Bài tập lớn Lập trình Tính toán Vớ d ỏp dng Vớ d 1: Tỡm nghim gn ỳng ca phng trỡnh vi phõn sau y'= x+ y x5 Y0 = n = 20 Kt qu: > RungheKutta(0,0.5,20,1); ắ Quỏ trỡnh tớnh toỏn gii phng trỡnh vi phõn trờn Maple nh sau: - 13 - Bài tập lớn Lập trình Tính toán - 14 - Bài tập lớn Lập trình Tính toán IV Chng trỡnh minh s dng hm RungheKutta cú sn Maple Phng phỏp Runge-Kutta l mt phng phỏp khỏ ni ting vic tỡm nghim s ca phng trỡnh v h phng trỡnh vi phõn Trong chng trỡnh s dng cu trỳc lnh nh sau: Cu trỳc lnh dsolve dsolve(odesys, numeric, method=rkf45, vars, options) Trong ú: Odesys: Phng trỡnh v h phng trỡnh vi phõn cựng vi cỏc iu kin ban u Numeric: Tham s ny cho phộp tỡm nghim di dng s Method=rkf45: Dựng phng phỏp Runge-Kutta bc Vars: Cỏc bin c lp Chng trỡnh chy v vớ d minh Vớ d y' = x+ y x 0.5 y(0) = n = 20 Kt qu: > dsol:=dsolve({diff(y(x),x)=x+y(x),y(0)=1},numeric, method=rkf45); > dsol(0.5); - 15 - Bài tập lớn Lập trình Tính toán Vớ d 3: Bi 12 trang 231 giỏo trỡnh gii tớch s - Lờ Trng Vinh x + y y x 0.5 y (0) = y'= n=5 Kt qu: > dsol:=dsolve({diff(y(x),x)=x/y(x)+0.5*y(x),y(0)=1},numeric, method=rkf45); > dsol(0.5); Kt qu trờn hon ton trựng khp vi kt qu Bi 12 trang 231 giỏo trỡnh gii tớch s - Lờ Trng Vinh V So sỏnh chng trỡnh khụng s dng hm RungheKutta maple v chng trỡnh s dng hm RungheKutta cú sn Maple Xột cỏc vớ d Ta xột vớ d sau: Vớ d (Bi 12 trang 231 giỏo trỡnh gi tớch s - Lờ Trng Vinh) Tỡm nghim gn ỳng ca phng trỡnh sau bng phng phỏp Runghe Kutta bc x y ' = + 0.5 y y y(0) = h = 0.1 Tớnh n y(0.5) - 16 - Bài tập lớn Lập trình Tính toán Gii bng chng trỡnh khụng s dng cỏc hm Maple c kt qu nh sau: - 17 - Bài tập lớn Lập trình Tính toán Gii bng chng trỡnh cú s dng cỏc hm cú sn Maple >dsol:=dsolve({diff(y(x),x)=x/y(x)+0.5*y(x),y(0)=1},numeric, method=rkf45); > dsol(0.5); Vớ d 5: Gii phng trỡnh sau bng phng phỏp RungheKutta bc - 18 - Bài tập lớn Lập trình Tính toán y'= x+ y x y (0) = n = 20 Gii bng chng trỡnh khụng s dng cỏc hm cú sn Maple - 19 - Bài tập lớn Lập trình Tính toán - 20 - Bài tập lớn Lập trình Tính toán Gii bng chng trỡnh cú s dng cỏc hm cú sn Maple > dsol:=dsolve({diff(y(x),x)=x+y(x),y(0)=1},numeric, method=rkf45); > dsol(0.5); So sỏnh C phng phỏp gii trờn u kt qu nh v chớnh xỏc ging ỏp s Bi 12 trang 231 giỏo trỡnh gi tớch s - Lờ Trng Vinh Tuy nhiờn, ta cú th thy phng phỏp s dng cỏc hm cú sn Maple nhanh hn, thun tin hn, chng trỡnh n gin, ngn gn hn rt nhiu so vi phng phỏp khụng s dng cỏc hm cú sn Maple Mt khỏc, nghim ca phng phỏp s dng hm RungheKutta chớnh xỏc n tng s thp phõn hn rt nhiu cú s dng hm evalf(x,n) cho xp x i lng x cn tớnh vi n ch s thp phõn VI Gii hn ca thut toỏn Qua mi bc tớnh, sai s s tớch ly dn dn, nu nh tớnh nghim gn ỳng ti im quỏ xa so vi mc xut phỏt x0 cú th dn n hin tng sai mt li i mt dm l tớch ly sai s Quỏ trỡnh tớnh nh vy l khụng n nh ng thi tớnh yi +1 ch cn bit yi Phng phỏp tớnh nh - 21 - Bài tập lớn Lập trình Tính toán vy gi l phng phỏp mt bc Vỡ vy thng phng phỏp trờn ch s dng tớnh vi giỏ tr cỏc mc gn vi x0 Ngoi cụng thc dng RungheKutta bc 4, nh ó tớnh cỏc vớ d trờn, mi bc cn tớnh n giỏ tr ca hm f(x,y) ti cỏc im khỏc nhau, lng tớnh cũn ln gim c lng tớnh ti cỏc mc k tip ngi ta s dng phng phỏp khỏc, lng tớnh ớt hn m bo m sai s t cp 0(h5 ) Kết luận I Kt qu t c t ti - 22 - Bài tập lớn Lập trình Tính toán Nh vy, chỳng ta cú th thy Maple l mt chng trỡnh tớnh toỏn mnh m, c nhiu ngi quan tõm, nhng thnh tu ca Maple ang c ng dng nhiu thc t Nú cú kh nng lm vic vi c nhng biu thc toỏn hc v cỏc phộp tớnh hỡnh thc T rỳt gn, khai trin biu thc, tớnh gii hn, o hm, nguyờn hm bc ph thụng n khai trin Taylor, tỡm nghim phng trỡnh vi phõn, tớnh nh thc, gii h phng trỡnh tuyn tớnh cú tham s Maple x lý tớch tc! Mụn hc Gii tớch s cung a cung cp cho sinh viờn chỳng em nhng kin thc cn bn rt cn thit v mt s phng phỏp gii gn ỳng da trờn d liu s Nh cú Maple, em ó cú c hi c nghiờn cu v thc hnh cỏch ci t thut toỏn trờn mỏy tớnh Ngoi ra, vic tỡm hiu v cỏc ng dng ca cỏc phng phỏp tớnh iu kin thc t, to c s hc tt v nghiờn cu cỏc ngnh khoa hc k thut núi chung v Cụng ngh thụng tin núi riờng Gúp phn xõy dng th gii quan khoa hc v tỏc phong khoa hc cn thit cho ngi k s khoa hc tng lai Do nhng hn ch v kh nng cng nh trỡnh nờn ti ca em khụng th trỏnh nhng thiu sút Tuy nhiờn em hy vng rng chng trỡnh ca em ó ỏp ng c phn no cho vic h tr nhng cụng vic tớnh toỏn bao gm cỏc tớnh toỏn thun tỳy bng ký hiu toỏn hc hay cỏc tớnh toỏn s, giỳp ớch cho vic ging dy toỏn, hc toỏn trờn ging ung cng nh ng dng thc tin toỏn hc cỏc ngnh k thut, kinh t, II Kt lun - 23 - Bài tập lớn Lập trình Tính toán Trong bỏo cỏo trờn em ó trỡnh by c bn v ng dng ca maple toỏn hc v xõy dng chng trỡnh cú ti: Tỡm nghim gn ỳng ca phng trỡnh vi phõn bng phng phỏp Runghe Kutta Em ó hon thnh mt chng trỡnh lp trỡnh tớnh toỏn cn bn cng nh tỡm hiu nghiờn cu nhng c tớnh c bn, cỏc chc nng tớnh toỏn chớnh ca Maple Trong quỏ trỡnh thc hin ti nhng hn ch v kin thc cng nh kinh nghim cú hn nờn chng trỡnh ca em khụng th trỏnh nhng thiu sút v hn ch Em rt mong nhn c nhng ý kin úng gúp quý giỏ ca thy nõng cao kin thc, hc hi kinh nghim v trau di cỏc k nng ca mỡnh Cui cựng chỳng em xin chõn thnh cm n thy PTS Nguyn Hu in ó giỳp chỳng em hon thnh bi bỏo cỏo ny ! Em xin chõn thnh cm n! H Ni, thỏng 11 nm 2009 Sinh viờn: Cung Vnh Nam Nguyn Th Bớch Võn Lp Toỏn tin - K51 - HBK H Ni - 24 - Bài tập lớn Lập trình Tính toán Tài liệu tham khảo [1] Gii tớch s Lờ Trng Vinh, Nh xut bn Khoa hc k thut [2] Hng dn v s dng Maple V - Nguyn Hu in, Trung tõm KHTN v cụng ngh QG [3] Ti liu ly trờn Internet: http://vi.wikipedia.org/wiki/Maple http://dayvahoc.net http://www.nhdien.wordpress.com http://www.vinabook.com - 25 - [...]... dsol(0.5); Kt qu trờn hon ton trựng khp vi kt qu trong Bi 12 trang 231 giỏo trỡnh gii tớch s - Lờ Trng Vinh V So sỏnh chng trỡnh khụng s dng hm RungheKutta trong maple v chng trỡnh s dng hm RungheKutta cú sn trong Maple 1 Xột cỏc vớ d Ta xột vớ d sau: Vớ d 4 (Bi 12 trang 231 giỏo trỡnh gi tớch s - Lờ Trng Vinh) Tỡm nghim gn ỳng ca phng trỡnh sau bng phng phỏp Runghe Kutta bc 4 x y ' = + 0.5 y y y(0) =... s l a1,b1,c1,d1 tng ng vi cỏc bin u vo l x0 , xn , n, y0 ắ Kt qu chy th tc: - 12 - Bài tập lớn Lập trình Tính toán 4 Vớ d ỏp dng Vớ d 1: Tỡm nghim gn ỳng ca phng trỡnh vi phõn sau y'= x+ y 0 x5 Y0 = 1 n = 20 Kt qu: > RungheKutta(0,0.5,20,1); ắ Quỏ trỡnh tớnh toỏn gii phng trỡnh vi phõn trờn trong Maple nh sau: - 13 - Bài tập lớn Lập trình Tính toán - 14 - Bài tập lớn Lập trình Tính toán IV Chng... trình Tính toán IV Chng trỡnh minh ha s dng hm RungheKutta cú sn trong Maple Phng phỏp Runge -Kutta l mt phng phỏp khỏ ni ting trong vic tỡm nghim s ca phng trỡnh v h phng trỡnh vi phõn Trong chng trỡnh s dng cu trỳc lnh nh sau: 1 Cu trỳc lnh dsolve dsolve(odesys, numeric, method=rkf45, vars, options) Trong ú: Odesys: Phng trỡnh v h phng trỡnh vi phõn cựng vi cỏc iu kin ban u Numeric: Tham s ny cho phộp... tin hn, chng trỡnh n gin, ngn gn hn rt nhiu so vi phng phỏp khụng s dng cỏc hm cú sn trong Maple Mt khỏc, nghim ca phng phỏp s dng hm RungheKutta chớnh xỏc n tng s thp phõn hn rt nhiu do cú s dng hm evalf(x,n) cho xp x i lng x cn tớnh vi n ch s thp phõn VI Gii hn ca thut toỏn Qua mi bc tớnh, sai s s tớch ly dn dn, nu nh tớnh nghim gn ỳng ti im quỏ xa so vi mc xut phỏt x0 cú th dn n hin tng sai mt li... y(0.5) - 16 - Bài tập lớn Lập trình Tính toán Gii bng chng trỡnh khụng s dng cỏc hm trong Maple c kt qu nh sau: - 17 - Bài tập lớn Lập trình Tính toán Gii bng chng trỡnh cú s dng cỏc hm cú sn trong Maple >dsol:=dsolve({diff(y(x),x)=x/y(x)+0.5*y(x),y(0)=1},numeric, method=rkf45); > dsol(0.5); Vớ d 5: Gii phng trỡnh sau bng phng phỏp RungheKutta bc 4 - 18 - Bài tập lớn Lập trình Tính toán y'= x+ y 0... mt dm l do tớch ly sai s Quỏ trỡnh tớnh nh vy l khụng n nh ng thi tớnh yi +1 ch cn bit yi Phng phỏp tớnh nh - 21 - Bài tập lớn Lập trình Tính toán vy gi l phng phỏp mt bc Vỡ vy thng phng phỏp trờn ch s dng tớnh vi giỏ tr cỏc mc gn vi x0 Ngoi ra cụng thc dng RungheKutta bc 4, nh ó tớnh trong cỏc vớ d trờn, mi bc cn tớnh n 4 giỏ tr ca hm f(x,y) ti cỏc im khỏc nhau, khi lng tớnh vn cũn ln gim c... cho vic h tr nhng cụng vic tớnh toỏn bao gm cỏc tớnh toỏn thun tỳy bng ký hiu toỏn hc hay cỏc tớnh toỏn s, giỳp ớch cho vic ging dy toỏn, hc toỏn trờn ging ung cng nh ng dng thc tin toỏn hc trong cỏc ngnh k thut, kinh t, II Kt lun - 23 - Bài tập lớn Lập trình Tính toán Trong bỏo cỏo trờn em ó trỡnh by c bn v ng dng ca maple trong toỏn hc v xõy dng chng trỡnh cú ti: Tỡm nghim gn ỳng ca phng trỡnh vi. .. nm 2009 Sinh vi n: Cung Vnh Nam Nguyn Th Bớch Võn Lp Toỏn tin 2 - K51 - HBK H Ni - 24 - Bài tập lớn Lập trình Tính toán Tài liệu tham khảo [1] Gii tớch s Lờ Trng Vinh, Nh xut bn Khoa hc k thut [2] Hng dn v s dng Maple V - Nguyn Hu in, Trung tõm KHTN v cụng ngh QG [3] Ti liu ly trờn Internet: http:/ /vi. wikipedia.org/wiki/Maple http://dayvahoc.net http://www.nhdien.wordpress.com http://www.vinabook.com... t c t ti - 22 - Bài tập lớn Lập trình Tính toán Nh vy, chỳng ta cú th thy Maple l mt chng trỡnh tớnh toỏn mnh m, c nhiu ngi quan tõm, nhng thnh tu ca Maple ang c ng dng nhiu trong thc t Nú cú kh nng lm vic vi c nhng biu thc toỏn hc v cỏc phộp tớnh hỡnh thc T rỳt gn, khai trin biu thc, tớnh gii hn, o hm, nguyờn hm bc ph thụng n khai trin Taylor, tỡm nghim phng trỡnh vi phõn, tớnh nh thc, gii h phng...Bài tập lớn Lập trình Tính toán III Chng trỡnh minh ha khụng s dng hm RungheKutta cú sn trong Maple 1.Th tc giatrihamso tớnh giỏ tr ca hm s ó cho ắ Ni dung th tc nh sau: > giatrihamso:=proc(x,y) local f; f:=x+y; end; ắ Kt qu chy th tc: Th tc trờn s tớnh giỏ tr hm s ó nhp ti x v y ó bit (Ly vớ d phng trỡnh n gin l y=x+y) Khi hm phng trỡnh thay i ch vic sa li hm f trong th tc l c 2

Ngày đăng: 22/05/2016, 09:03

Từ khóa liên quan

Mục lục

  • 1.Thủ tục giatrihamso để tính giá trị của hàm số đã cho

  • 2. Cấu trúc for – do

  • 3.Thủ tục RungheKutta dùng để mô tả thuật toán và cho ra kết

  • 2. Chương trình chạy và ví dụ minh họa

  • V. So sánh chương trình không sử dụng hàm RungheKutta trong

Tài liệu cùng người dùng

Tài liệu liên quan