Chương 13 - Giải phương trình vi phân
Số trang: 7
Loại file: pdf
Dung lượng: 108.89 KB
Lượt xem: 17
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Nhiều hệ thống vật lý phức tạp được biểu diễn bởi phương trình vi phân nó không có thể giải chính xác bằng giải tích. Trong kỹ thuật, người ta thường sử dụng các giá trị thu được bằng việc giải gần đúng của các hệ phương.
Nội dung trích xuất từ tài liệu:
Chương 13 - Giải phương trình vi phân Ch−¬ng 13 : Gi¶i ph−¬ng tr×nh vi ph©n §1.Bµi to¸n Cauchy Mét ph−¬ng tr×nh vi ph©n cÊp 1 cã thÓ viÕt d−íi d¹ng gi¶i ®−îc y′ = f(x,y) mµ ta cãthÓ t×m ®−îc hµm y tõ ®¹o hµm cña nã.Tån t¹i v« sè nghiÖm tho¶ m·n ph−¬ng tr×nhtrªn.Mçi nghiÖm phô thuéc vµo mét h»ng sè tuú ý.Khi cho tr−íc gi¸ trÞ ban ®Çu cña y lµ yot¹i gi¸ trÞ ®Çu xo ta nhËn ®−îc mét nghiÖm riªng cña ph−¬ng tr×nh.Bµi to¸n Cauchy ( hay bµito¸n cã ®iÒu kiÖn ®Çu) tãm l¹i nh− sau : cho x sao cho b ≥ x ≥ a,t×m y(x) tho¶ m·n ®iÒu kiÖn: ⎧y ′(x) = f (x, y) ⎨y(a ) = α (1) ⎩ Ng−êi ta chøng minh r»ng bµi to¸n nµy cã mét nghiÖm duy nhÊt nÕu f tho¶ m·n ®iÒukiÖn Lipschitz : f ( x, y1 ) − f ( x, y 2 ) ≤ L y1 − y 2víi L lµ mét h»ng sè d−¬ng. Ng−êi ta còng chøng minh r»ng nÕu f′y ( ®¹o hµm cña f theo y ) lµ liªn tôc vµ bÞ chÆnth× f tho¶ m·n ®iÒu kiÖn Lipschitz. Mét c¸ch tæng qu¸t h¬n,ng−êi ta ®Þnh nghÜa hÖ ph−¬ng tr×nh bËc 1 : , y1 = f 1 ( x , y1, y 2 ,..., y n ) , y2 = f 2 ( x , y1, y2 ,..., yn ) ................ , yn = f n ( x , y1, y2 ,..., yn )Ta ph¶i t×m nghiÖm y1,y2,...,yn sao cho : ⎧ Y ′ ( x) = f ( x, Y) ⎨ ⎩ Y( a ) = α ⎛ , ⎞ ⎛ ⎞ ⎛ ⎞ ⎜ y1 ⎟ ⎜ f1 ⎟ ⎜ y1 ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟víi : ⎜ y, ⎟ ⎜ f ⎟ ⎜ y ⎟ ⎜ 2⎟ ⎜ 2⎟ ⎜ 2⎟ Y′ = ⎜. ⎟ F = ⎜. ⎟ Y = ⎜. ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜. ⎟ ⎜. ⎟ ⎜. ⎟ ⎜ , ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ y ⎟ ⎜ f ⎟ ⎜ y ⎟ ⎜ n⎟ ⎜ n⎟ ⎜ n⎟ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ NÕu ph−¬ng tr×nh vi ph©n cã bËc cao h¬n (n),nghiÖm sÏ phô thuéc vµo n h»ng sè tuúý.§Ó nhËn ®−îc mét nghiÖm riªng,ta ph¶i cho n ®iÒu kiÖn ®Çu.Bµi to¸n sÏ cã gi¸ trÞ ®Çu nÕuvíi gi¸ trÞ xo ®· cho ta cho y(xo),y′(xo),y″(xo),.... Mét ph−¬ng tr×nh vi ph©n bËc n cã thÓ ®−a vÒ thµnh mét hÖ ph−¬ng tr×nh vi ph©n cÊp1.VÝ dô nÕu ta cã ph−¬ng tr×nh vi ph©n cÊp 2 : ⎧y ′′ = f ( x, y, y ′) ⎪ ⎨ ⎪y(a) = α , y ′(a) = β ⎩Khi ®Æt u = y vµ v = y′ ta nhËn ®−îc hÖ ph−¬ng tr×nh vi ph©n cÊp 1 : ⎧u ′ = v ⎨ ⎩v ′ = g( x, u, v )tíi ®iÒu kiÖn ®Çu : u(a) = α vµ v(a) = β C¸c ph−¬ng ph¸p gi¶i ph−¬ng tr×nh vi ph©n ®−îc tr×nh bµy trong ch−¬ng nµy lµ 211c¸c ph−¬ng ph¸p rêi r¹c : ®o¹n [a,b] ®−îc chia thµnh n ®o¹n nhá b»ng nhau ®−îc gäilµ c¸c b−íc tÝch ph©n h = ( b - a) / n. §2.Ph−¬ng ph¸p Euler vµ Euler c¶i tiÕn Gi¶ sö ta cã ph−¬ng tr×nh vi ph©n : ⎧ y ′ ( x) = f ( x, y) ⎨ (1) ⎩ y( a ) = αvµ cÇn t×m nghiÖm cña nã.Ta chia ®o¹n [xo,x ] thµnh n phÇn bëi c¸c ®iÓm chia : xo < x1 < x2 Qu¸ tr×nh tÝnh kÕt thóc khi y (is) ®ñ gÇn y (is−1)Ch−¬ng tr×nh gi¶i ph−¬ng tr×nh vi ph©n theo ph−¬ng ph¸p Euler nh− sau :Ch−¬ng tr×nh 13-1//pp_Euler;#include #include #include float f(float x,float y) { float a=x+y; return(a); }void main() { int i,n; float a,b,t,z,h,x0,y0,c1,c2; float x[100],y[100]; clrscr(); printf(Cho can duoi a = ); scanf(%f,&a); printf(Cho can tren b = ); scanf(%f,&b); printf(Cho so buoc tinh n = ); scanf(%d,&n); printf(Cho so kien x0 = ); scanf(%f,&x0); printf(Cho so kien y0 = ); scanf(%f,&y0); printf( ); printf(Bang ket qua ); printf( ); printf(Phuong phap Euler ); h=(b-a)/n; x[1]=x0; y[1]=y0; printf( x y); printf( ); for (i=1;i printf( ); getch(); printf(Phuong phap Euler cai tien ); printf( x y); printf( ); for (i=1;i y i +1 − y i = r1 k1i) + r 2 k (2i) + r 3 k (3i) +. ...
Nội dung trích xuất từ tài liệu:
Chương 13 - Giải phương trình vi phân Ch−¬ng 13 : Gi¶i ph−¬ng tr×nh vi ph©n §1.Bµi to¸n Cauchy Mét ph−¬ng tr×nh vi ph©n cÊp 1 cã thÓ viÕt d−íi d¹ng gi¶i ®−îc y′ = f(x,y) mµ ta cãthÓ t×m ®−îc hµm y tõ ®¹o hµm cña nã.Tån t¹i v« sè nghiÖm tho¶ m·n ph−¬ng tr×nhtrªn.Mçi nghiÖm phô thuéc vµo mét h»ng sè tuú ý.Khi cho tr−íc gi¸ trÞ ban ®Çu cña y lµ yot¹i gi¸ trÞ ®Çu xo ta nhËn ®−îc mét nghiÖm riªng cña ph−¬ng tr×nh.Bµi to¸n Cauchy ( hay bµito¸n cã ®iÒu kiÖn ®Çu) tãm l¹i nh− sau : cho x sao cho b ≥ x ≥ a,t×m y(x) tho¶ m·n ®iÒu kiÖn: ⎧y ′(x) = f (x, y) ⎨y(a ) = α (1) ⎩ Ng−êi ta chøng minh r»ng bµi to¸n nµy cã mét nghiÖm duy nhÊt nÕu f tho¶ m·n ®iÒukiÖn Lipschitz : f ( x, y1 ) − f ( x, y 2 ) ≤ L y1 − y 2víi L lµ mét h»ng sè d−¬ng. Ng−êi ta còng chøng minh r»ng nÕu f′y ( ®¹o hµm cña f theo y ) lµ liªn tôc vµ bÞ chÆnth× f tho¶ m·n ®iÒu kiÖn Lipschitz. Mét c¸ch tæng qu¸t h¬n,ng−êi ta ®Þnh nghÜa hÖ ph−¬ng tr×nh bËc 1 : , y1 = f 1 ( x , y1, y 2 ,..., y n ) , y2 = f 2 ( x , y1, y2 ,..., yn ) ................ , yn = f n ( x , y1, y2 ,..., yn )Ta ph¶i t×m nghiÖm y1,y2,...,yn sao cho : ⎧ Y ′ ( x) = f ( x, Y) ⎨ ⎩ Y( a ) = α ⎛ , ⎞ ⎛ ⎞ ⎛ ⎞ ⎜ y1 ⎟ ⎜ f1 ⎟ ⎜ y1 ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟víi : ⎜ y, ⎟ ⎜ f ⎟ ⎜ y ⎟ ⎜ 2⎟ ⎜ 2⎟ ⎜ 2⎟ Y′ = ⎜. ⎟ F = ⎜. ⎟ Y = ⎜. ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜. ⎟ ⎜. ⎟ ⎜. ⎟ ⎜ , ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ y ⎟ ⎜ f ⎟ ⎜ y ⎟ ⎜ n⎟ ⎜ n⎟ ⎜ n⎟ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ NÕu ph−¬ng tr×nh vi ph©n cã bËc cao h¬n (n),nghiÖm sÏ phô thuéc vµo n h»ng sè tuúý.§Ó nhËn ®−îc mét nghiÖm riªng,ta ph¶i cho n ®iÒu kiÖn ®Çu.Bµi to¸n sÏ cã gi¸ trÞ ®Çu nÕuvíi gi¸ trÞ xo ®· cho ta cho y(xo),y′(xo),y″(xo),.... Mét ph−¬ng tr×nh vi ph©n bËc n cã thÓ ®−a vÒ thµnh mét hÖ ph−¬ng tr×nh vi ph©n cÊp1.VÝ dô nÕu ta cã ph−¬ng tr×nh vi ph©n cÊp 2 : ⎧y ′′ = f ( x, y, y ′) ⎪ ⎨ ⎪y(a) = α , y ′(a) = β ⎩Khi ®Æt u = y vµ v = y′ ta nhËn ®−îc hÖ ph−¬ng tr×nh vi ph©n cÊp 1 : ⎧u ′ = v ⎨ ⎩v ′ = g( x, u, v )tíi ®iÒu kiÖn ®Çu : u(a) = α vµ v(a) = β C¸c ph−¬ng ph¸p gi¶i ph−¬ng tr×nh vi ph©n ®−îc tr×nh bµy trong ch−¬ng nµy lµ 211c¸c ph−¬ng ph¸p rêi r¹c : ®o¹n [a,b] ®−îc chia thµnh n ®o¹n nhá b»ng nhau ®−îc gäilµ c¸c b−íc tÝch ph©n h = ( b - a) / n. §2.Ph−¬ng ph¸p Euler vµ Euler c¶i tiÕn Gi¶ sö ta cã ph−¬ng tr×nh vi ph©n : ⎧ y ′ ( x) = f ( x, y) ⎨ (1) ⎩ y( a ) = αvµ cÇn t×m nghiÖm cña nã.Ta chia ®o¹n [xo,x ] thµnh n phÇn bëi c¸c ®iÓm chia : xo < x1 < x2 Qu¸ tr×nh tÝnh kÕt thóc khi y (is) ®ñ gÇn y (is−1)Ch−¬ng tr×nh gi¶i ph−¬ng tr×nh vi ph©n theo ph−¬ng ph¸p Euler nh− sau :Ch−¬ng tr×nh 13-1//pp_Euler;#include #include #include float f(float x,float y) { float a=x+y; return(a); }void main() { int i,n; float a,b,t,z,h,x0,y0,c1,c2; float x[100],y[100]; clrscr(); printf(Cho can duoi a = ); scanf(%f,&a); printf(Cho can tren b = ); scanf(%f,&b); printf(Cho so buoc tinh n = ); scanf(%d,&n); printf(Cho so kien x0 = ); scanf(%f,&x0); printf(Cho so kien y0 = ); scanf(%f,&y0); printf( ); printf(Bang ket qua ); printf( ); printf(Phuong phap Euler ); h=(b-a)/n; x[1]=x0; y[1]=y0; printf( x y); printf( ); for (i=1;i printf( ); getch(); printf(Phuong phap Euler cai tien ); printf( x y); printf( ); for (i=1;i y i +1 − y i = r1 k1i) + r 2 k (2i) + r 3 k (3i) +. ...
Tìm kiếm theo từ khóa liên quan:
Bài toán cauchy phương pháp euler phương pháp runge Euler cải tiến cách giải phương trình vi phân các thuật toán phương trình vi phânGợi ý tài liệu liên quan:
-
Giáo trình Giải tích 4 - Nguyễn Thành Long
83 trang 42 0 0 -
Ứng dụng Quaternion và bộ lọc Kalman trong việc ước lượng hướng chuyển động của vật thể bay
7 trang 39 0 0 -
Luận văn đề tài : Giải gần đúng phương trình phi tuyến và phương trình vi phân trên máy tính điện tử
82 trang 37 0 0 -
Giáo trình Toán chuyên đề - Bùi Tuấn Khang
156 trang 30 0 0 -
Phương pháp giải số phương trình vi phân tuyến tính bậc cao bằng mạng nơron
5 trang 27 0 0 -
Đề cương môn học Phương trình vi phân trong không gian Banach
6 trang 25 0 0 -
26 trang 21 0 0
-
Công thức dạng Lax-Oleinik cho luật bảo toàn đa thời gian
3 trang 18 0 0 -
Sự tồn tại và duy nhất nghiệm của bài toán Cauchy
3 trang 18 0 0 -
Bài giảng Phương trình vi phân - Nguyễn Hồng Lộc (ĐH Bách Khoa)
29 trang 18 0 0