<< Chapter < Page Chapter >> Page >

y = g(x,c)yxx0x1hy0
Hình 2.3 : Đồ thị của lời giải xấp xỉ cho phương trình vi phân bằng phương pháp biến đổi Euler.0y1y2dy (0)dx 1

Phương pháp Euler có thể ứng dụng để giải hệ phương trình vi phân cùng lúc. Cho hai phương trình:

dy dx = f 1 ( x ,y,z ) dz dx = f 2 ( x ,y,z ) alignl { stack { size 12{ { { ital "dy"} over { ital "dx"} } =f rSub { size 8{1} } \( x",y,z" \) } {} #{ { ital "dz"} over { ital "dx"} } =f rSub { size 8{2} } \( x",y,z" \) {} } } {}

Với giá trị ban đầu x0, y0 và z0 giá trị mới y1 sẽ là:

y 1 = y 0 + dz dx 0 h size 12{y rSub { size 8{1} } =y rSub { size 8{0} } + { { ital "dz"} over { ital "dx"} } \rline rSub { size 8{0} } h} {}

Với: dy dx 0 = f 1 ( x 0 ,y 0 ,z 0 ) size 12{ { { ital "dy"} over { ital "dx"} } \rline rSub { size 8{0} } =f rSub { size 8{1} } \( x rSub { size 8{0} } ",y" rSub { size 8{0} } ",z" rSub { size 8{0} } \) } {}

Tương tự.

z 1 = z 0 + dz dx 0 h size 12{z rSub { size 8{1} } =z rSub { size 8{0} } + { { ital "dz"} over { ital "dx"} } \rline rSub { size 8{0} } h} {}

Với: dz dx 0 = f 2 ( x 0 , y 0 , z 0 ) size 12{ { { ital "dz"} over { ital "dx"} } \rline rSub { size 8{0} } =f rSub { size 8{2} } \( x rSub { size 8{0} } ,y rSub { size 8{0} } ,z rSub { size 8{0} } \) } {}

Cho số gia tiếp theo, giá trị x1 = x0 + h, y1 và z1 dùng để xác định y2 và z2. Trong phương pháp biến đổi Euler y1 và z1 dùng để xác định giá trị đạo hàm tại x1 cho đánh giá gần đúng cấp hai y1(1) và z1(1).

2.2.3. phương pháp picard với sự xấp xỉ liên tục.

Cơ sở của phương pháp Picard là giải chính xác, bởi sự thay thế giá trị y như hàm của x trong phạm vi giá trị x đã cho.

y  g(x)

Đây là biểu thức ước lượng bởi sự thay thế trực tiếp giá trị của x để thu được giá trị tương ứng của y. Cho phương trình vi phân (2.1).

dy = f(x,y)dx

Và tích phân giữa khoảng giới hạn cho x và y.

y 0 y 1 dy = x 0 x 1 f ( x , y ) dx size 12{ Int rSub {`y rSub { size 6{0} } } rSup {`y rSub { size 6{1} } } { ital "dy"= Int rSub { size 8{`x rSub { size 6{0} } } } rSup {`x rSub { size 6{1} } } {f \( x,y \) ital "dx"} } } {}

Thì y 1 y 0 = x 0 x 1 f ( x , y ) dx size 12{y rSub { size 8{1} } - y rSub { size 8{0} } = Int rSub { size 8{`x rSub { size 6{0} } } } rSup {`x rSub { size 6{1} } } {f \( x,y \) ital "dx"} } {}

Hay y 1 = y 0 + x 0 x 1 f ( x , y ) dx size 12{y rSub { size 8{1} } =y rSub { size 8{0} } + Int rSub { size 8{`x rSub { size 6{0} } } } rSup {`x rSub { size 6{1} } } {f \( x,y \) ital "dx"} } {} (2.3)

Số hạng tích phân trình bày sự thay đổi trong kết quả của y với sự thay đổi của x từ x0 đến x1. Lời giải có thể thu được bởi sự đánh giá tích phân bằng phương pháp xấp xỉ liên tục.

Ta có thể xem giá trị của y như hàm của x có thể đã thu được bởi sự thay thế y dưới dạng tích phân với y0, cho giá trị ban đầu như sau:

y 1 ( 1 ) = y 0 + x 0 x 1 f ( x , y 0 ) dx size 12{y rSub { size 8{1} } rSup { size 8{ \( 1 \) } } =y rSub { size 8{0} } + Int rSub { size 8{`x rSub { size 6{0} } } } rSup {`x rSub { size 6{1} } } {f \( x,y rSub { size 8{0} } \) ital "dx"} } {}

Thực hiện biểu thức tích phân với giá trị mới của y bây giờ được thay thế vào phương trình (2.3) thu được lần xấp xỉ thứ hai cho y như sau:

y 1 ( 2 ) = y 0 + x 0 x 1 f ( x , y 1 ( 1 ) ) dx size 12{y rSub { size 8{1} } rSup { size 8{ \( 2 \) } } =y rSub { size 8{0} } + Int rSub { size 8{`x rSub { size 6{0} } } } rSup {`x rSub { size 6{1} } } {f \( x,y rSub { size 8{1} } rSup { size 8{ \( 1 \) } } \) ` ital "dx"} } {}

Quá trình này có thể lặp lại trong thời gian cần thiết để thu được độ chính xác mong muốn..

Thật vậy, ước lượng tích phân luôn luôn phức tạp thế nhưng phải giả thiết cho biến cố định. Khó khăn và cần thực hiện nhiều lần tích phân, nên đây là mặt hạn chế sự áp dụng của phương pháp này.

Phương pháp Picard có thể áp dụng để giải đồng thời nhiều phương trình như sau:

dy dx = f 1 ( x , y , z ) size 12{ { { ital "dy"} over { ital "dx"} } =f rSub { size 8{1} } \( x,y,z \) } {}

dz dx = f 2 ( x , y , z ) size 12{ { { ital "dz"} over { ital "dx"} } =f rSub { size 8{2} } \( x,y,z \) } {}

Theo công thức, ta có:

y 1 = y 0 + x 0 x 1 f 1 ( x , y 0 , z 0 ) dx size 12{y rSub { size 8{1} } =y rSub { size 8{0} } + Int rSub { size 8{`x rSub { size 6{0} } } } rSup {`x rSub { size 6{1} } } {f rSub { size 8{1} } \( x,y rSub { size 8{0} } ,z rSub { size 8{0} } \) ` ital "dx"} } {}

z 1 = z 0 + x 0 x 1 f 2 ( x , y 0 , z 0 ) dx size 12{z rSub { size 8{1} } =z rSub { size 8{0} } + Int rSub { size 8{`x rSub { size 6{0} } } } rSup {`x rSub { size 6{1} } } {f rSub { size 8{2} } \( x,y rSub { size 8{0} } ,z rSub { size 8{0} } \) ` ital "dx"} } {}

2.2.4. phương pháp runge- kutta.

Trong phương pháp runge- kutta sự thay đổi giá trị của biến phụ thuộc là tính toán từ các công thức đã cho, biểu diễn trong điều kiện ước lượng đạo hàm tại những điểm định trước. từ mỗi giá trị duy nhất chính xác của y cho bởi công thức, phương pháp này không đòi hỏi thay thế lặp lại như phương pháp biến đổi euler hay tích phân liên tiếp như phương pháp của picard.

Công thức rút gọn gần đúng xuất phát bởi sự thay thế khai triển chuổi Taylor. Runge- Kutta xấp xỉ bậc hai có thể viết trong công thức.

y1 = y0 + a1k1 + a2k2 (2.4)

Vớik1 = f(x0,y0)h

k2 = f(x0 + b1h, y0 + b2k1)h

Các hệ số a1, a2, b1 và b2 là chính xác. Đầu tiên khai triển f(x0+ b1h, y0+ b2k1) trong chuổi Taylor tại (x0,y0), ta được:

k 2 = f ( x 0 , y 0 ) + b 1 f x 0 h + b 2 k 1 f y 0 + . . . . . h size 12{k rSub { size 8{2} } = left lbrace `f \( x rSub { size 8{0} } ,y rSub { size 8{0} } \) +b rSub { size 8{1} } { { partial f} over { partial x} } \rline rSub { size 8{0} } h+b rSub { size 8{2} } k rSub { size 8{1} } { { partial f} over { partial y} } \rline rSub { size 8{0} } + "." "." "." "." "." right rbrace `h} {}

Thay thế hai điều kiện k1 và k2 vào trong phương trình (2.4), thu được:

y 1 = y 0 + ( a 1 + a 2 ) f ( x 0 , y 0 ) h + a 2 b 1 f x 0 h 2 + a 2 b 2 f ( x 0 , y 0 ) f y 0 h 2 size 12{y rSub { size 8{1} } =y rSub { size 8{0} } + \( a rSub { size 8{1} } +a rSub { size 8{2} } \) f \( x rSub { size 8{0} } ,y rSub { size 8{0} } \) h+a rSub { size 8{2} } b rSub { size 8{1} } { { partial f} over { partial x} } \rline rSub { size 8{0} } h rSup { size 8{2} } +a rSub { size 8{2} } b rSub { size 8{2} } f \( x rSub { size 8{0} } ,y rSub { size 8{0} } \) { { partial f} over { partial y} } \rline rSub { size 8{0} } h rSup { size 8{2} } } {} (2.5)

Khai triển chuổi Taylor của y tại giá trị (x0,y0) là:

y 1 = y 0 + dy dx 0 h + d 2 y dx 2 0 h 2 2 + . . . . size 12{y rSub { size 8{1} } =y rSub { size 8{0} } + { { ital "dy"} over { ital "dx"} } \rline rSub { size 8{0} } h+ { {d rSup { size 8{2} } y} over { ital "dx" rSup { size 8{2} } } } \rline rSub { size 8{0} } { {h rSup { size 8{2} } } over {2} } + "." "." "." "." } {} (2.6)

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Giáo trình giải tích mạng điện. OpenStax CNX. Jul 30, 2009 Download for free at http://cnx.org/content/col10815/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Giáo trình giải tích mạng điện' conversation and receive update notifications?

Ask