Các phương pháp số cho phương trình vi phân pot

43 1K 18
Các phương pháp số cho phương trình vi phân pot

Đ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

1 Mục lục Mục lục 1 0.1 Lý do chọn đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 0.2 Mục đích yêu cầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 0.3 Phương pháp nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . 3 0.4 Giới hạn của đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1 Phương pháp số cho phương trình vi phân cấp 1 4 1.1 Phương pháp Euler để giải phương trình vi phân cấp 1 . . . . . . . . 4 1.2 Phương pháp Euler cải tiến (Phương pháp Heun) . . . . . . . . . . . 7 1.3 Phương pháp Runge - Kutta . . . . . . . . . . . . . . . . . . . . . . . 9 1.4 Sai số và sự điều chỉnh bước nhãy RKF (Rung - Kutta - Fehlberg) . . 11 2 Phương pháp nhiều nút 14 2.1 Phương pháp Adams - Bashforth . . . . . . . . . . . . . . . . . . . . 14 2.2 Các phương pháp Adams - Moulton . . . . . . . . . . . . . . . . . . . 15 3 Phương pháp cho hệ phương trình và phương trình vi phân bậc cao 17 3.1 Phương pháp Euler cho hệ phương trình . . . . . . . . . . . . . . . . 17 3.2 Các phương pháp Runge - Kutta cho hệ phương trình . . . . . . . . . 19 3.3 Phương pháp Runge - Kutta - Nystr¨om (phương pháp RKN) . . . . . 20 4 Phương pháp cho các phương trình vi phân đạo hàm riêng 22 4.1 Các phương pháp cho các phương trình vi phân kiểu Elip . . . . . . . 23 4.1.1 Các phương trình vi phân cho phương trình Laplace và phương trình Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.1.2 Bài toán Dirichlet . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.1.3 Phương pháp ADI . . . . . . . . . . . . . . . . . . . . . . . . 28 4.2 Bài toán Neumann và nhiễu loạn. Biên không chính quy . . . . . . . 30 4.3 Phương pháp cho phương trình Parabol . . . . . . . . . . . . . . . . . 34 2 4.4 Phương pháp cho phương trình Hypebol . . . . . . . . . . . . . . . . 40 5 Phần kết luận 42 3 0.1 Lý do chọn đề tài Phương pháp số là một môn học bắt buộc cho tất cả học viên Cao học vật lý. Nó cung cấp cho học viên các phương pháp nhằm giải quyết những vấn đề liên quan đến tính toán, các thuật toán và cách giải gần đúng hay xấp xỉ các phương trình, tích phân, vi phân, đạo hàm, Phương pháp số có thể dùng để giải gần đúng các bài toán mà các phương pháp thông thường không thể giải được. Hầu hết, chúng mã hoá và đưa ra các thuật giải để thuận tiện cho việc lập trình trên máy tính. Để tìm hiểu sâu hơn về môn học nhóm chúng tôi được sự phân công của thầy giáo hướng dẫn làm đề tài : Các phương pháp số cho phương trình vi phân (numerical methods for differential equations). Để làm tiểu luận cho môn học. Do kinh nghiệm còn hạn chế nên trong tiểu luận không tránh khỏi các sai sót kính mong sự góp ý chân thành của quý thầy cô và bạn đọc. 0.2 Mục đích yêu cầu Đưa ra các phương pháp cho phương trình vi phân cấp một, cho hệ phương trình vi phân cấp 1, phương trình vi phân cấp cao, phương trình vi phân đạo hàm riêng. 0.3 Phương pháp nghiên cứu Chủ yếu là nghiên cứu tài liệu và thảo luận nhóm để đưa ra các kết luận đưa vào tiểu luận. 0.4 Giới hạn của đề tài Trong tiểu luận này chúng tôi chỉ trình bày, đưa ra phương pháp và mỗi phương pháp chỉ trình bày một ví dụ để minh hoạ. 4 Chương 1 PHƯƠNG PHÁP SỐ CHO PHƯƠNG TRÌNH VI PHÂN CẤP 1 1.1 Phương pháp Euler để giải phương trình vi phân cấp 1 Ta đã biết phương trình vi phân cấp 1 có dạng F (x, y, y  ) = 0, và nó có thể viết tường minh y  = f(x, y). Thường phương trình vi phân người ta cho thêm một điều kiện ban đầu về nghiệm thoả mãn. Trong phần này ta sẽ xét phương trình vi phân cấp 1 và điều kiện có dạng: y  = f(x, y); y(x 0 ) = y 0 (1.1) giả sữ f là bài toán có duy nhất nghiệm trên đoạn có chứa x 0 . Ta sẽ bàn về các phương pháp để tính các giá trị số của các nghiệm, ở đây ta chỉ cần nêu một cách thức cho nghiệm của các phương trình không khả dụng hoặc quá phức tạp để tính toán. Các phương pháp mà ta thực hiện để làm điều này là phương pháp gần đúng theo từng bứơc (step-by-step motheds). Ta bắt đầu từ việc có giá trị y 0 = y(x 0 ) và tiến hành theo các bước, tính các giá trị gần đúng của nghiệm y(x) tại các nút "mesh points" x 1 = x 0 + h; x 2 = x 0 + 2h; x 3 = x 0 + 3h; . . . với h là bước nhãy (step size) cố định, chẳng hạn 0.1 hay 0.2 tuỳ chúng ta chọn. Tính toán trong mỗi bước được thực hiện theo cách thức như nhau. Cách thức đó là dựa vào việc khai triển chuổi Taylor: y(x + h) = y(x) + hy  (x) + h 2 2 y  (x) + ··· (1.2) Xét với các giá trị nhỏ của h, các số hạng bậc cao h 2 , h 3 , ··· là rất nhỏ,ta có thể bỏ qua, do vậy: y(x + h) ≈ y(x) + hy  (x) = y(x) + hf(x, y) 5 (vế phải đạt được ở trên là từ phương trình vi phân y  (x) = f(x, y)) và theo các quá trình lặp. Trong bước đầu tiên ta tính y 1 = y 0 + hf(x 0 , y 0 ) với cách lấy gần đúng y(x 1 ) = y(x 0 + h). Trong bước thứ hai ta tính y 2 = y 1 + hf(x 1 , y 1 ) và một cách gần đúng thì y(x 2 ) = y(x 0 + 2h) và tổng quát: y n+1 = y n + hf(x n , y n ); (n = 0, 1, 2, ···) (1.3) Đây được gọi là Phương pháp Euler hay Phương pháp Euler-Cauchy. Phương pháp thô sơ này hầu như ít được dùng trong thực hành nhưng từ phương pháp đơn giản này, ta giải thích cho nguyên tắc dùng các phương pháp dựa trên cơ sở khai triển chuổi Taylor. Hình 1: Phương pháp Euler Công thức Taylor với khai triển dạng y(x + h) = y(x) + hy  (x) + 1 2 h 2 y  (ξ) với x ≤ ξ ≤ x + h. Nó diễn tả rằng Phương pháp Euler là làm ngắn lại các sai số trong mỗi bước hay nó làm ngắn sai số bộ phận (local truncation error) tỉ lệ với h 2 , được viết O(h 2 ). Trên một khoảng x cố định mà ta muốn giải một phương trình số các bước tỉ lệ với 1/h. Sai số bộ phận hay sai số toàn phần ở đây tỉ lệ với h 2 (1/h) = h 1 . Do nguyên nhân này mà phương pháp Euler được gọi là Phương pháp cấp 1. Ngoài ra còn có sai số do làm tròn và do các phương pháp khác, nó gây ảnh hưởng đến độ chính xác của các giá trị y 1 , y 2 , ··· Ví dụ 1.1. Dùng phương pháp Euler để giải bài toán điều kiện đầu, chọn h = 0.2 và tính y 1 , ··· , y 5 y  = x + y, y(0) = 0 (1.4) 6 Giải: f(x, y) = x + y, và ta thấy rằng (1.3) trở thành: y n+1 = y n + 0.2(x n + y n ) Bảng 1.1 diễn tả cách tính toán, giá trị chính xác của nghiệm của (1.4) là y(x) = e x −x−1. Trong thực hành tính toán chính xác nghiệm là chưa biết, nhưng sự chính xác của các giá trị có thể tìm được bằng việc áp dụng phương pháp Euler từ một lần khác với bước nhảy 2h = 0.4 và so sánh với sai số tương ứng. Kết quả tính này là: x n y n 0.4(x n + y n y n trong bảng (1.1) Sự sai khác 0.0 0.000 0.000 0.000 0.000 0.4 0.000 0.160 0.040 0.040 0.8 0.160 0.274 0.114 ở đây sai số là của h 2 , trong miền từ h đến 2h nó được nhân với 2 2 = 4, nhưng vì ta chỉ cần một nữa của bước nhãy trước đó, nên nó chỉ nhân với 4/2 = 2. Do đó hiệu số 2 2 − 2 = 0.040, sai số  2 của y 2 trong bảng 1.1 (với kết quả thực là 0.052) và 0.114 của y 4 (chính xác là 0.152). n x n y n 0.2(x n + y n ) Giá trị đúng Sai số 0 0.0 0.000 0.000 0.000 0.000 1 0.2 0.000 0.040 0.021 0.021 2 0.4 0.040 0.088 0.092 0.052 3 0.6 0.128 0.146 0.222 0.094 4 0.8 0.274 0.215 0.426 0.152 5 1.0 0.489 0.718 0.229 Bảng 1.1. Phương pháp Euler áp dụng cho (1.4) trong ví dụ 1.1 và sai số. Lựa chọn biến bước nhảy một cách ngẫu nhiên trong các mã hiện đại. Những mã này lựa chọn kiểu các biến nhãy h n sao cho sai số của nghiệm không lớn hơn giá trị cực đại TOL (dung hạn được đề nghị). Với phương pháp Euler, khi bước nhãy là h n , sai số bộ phận tại x n là cở 1 2 h 2 n | y  (x n ) |. Ta quy định giá trị này bằng dung hạn TOL 1 2 h 2 n | y  (x n ) |= T OL, nên h n =  2T OL | y  (x n ) | (1.5) y  (x) phải khác không trên đoạn J : x 0 ≤ x ≤ x N . Chọn K là giá trị cực tiểu của | y  (x n ) | trên J và giả sử K > 0 . Giá trị cực tiểu | y  (x n ) | tương ứng với giá trị cực đại h = H =  2T OL K của (1.5). Vì vậy, √ 2T OL = H √ K. Đưa giá trị này vào (1.5) ta đạt được h n = ϕ(x n )H, ϕ(x n ) =  K | y  (x n ) | (1.6) 7 Đối với các phương pháp khác,lựa chọn biến bước nhảy một cách ngẫu nhiên là như nguyên tắc này. 1.2 Phương pháp Euler cải tiến (Phương pháp Heun) Khi ta chú ý nhiều đến các số trong (1.2) ta đạt được các phương pháp số bậc cao và chính xác. Nhưng đây là vấn đề thực hành. Nếu ta thế y  = f (x, y(x)) vào (1.2) ta được: y(x + h) = y(x) + hf + 1 2 h 2 f  + 1 6 h 3 f  + ··· (1.7) ở đây, vì f phụ thuộc vào x nên f  = f x + f y y  = f x + f y f và các đạo hàm cấp cao f  , f  trở nên cồng kềnh hơn. Phương pháp bây giờ là huỷ bỏ các tính toán đó mà thay vào đó là tính f bởi một hay nhiều giá trị phụ trợ được chọn thích hợp của (x, y). "Thích hợp" có nghĩa là chúng được chọn làm cấp của phương pháp cao có thể thực hiện được (có độ chính xác cao). Ta nói về hai phương pháp thực hành quan trọng. Phương pháp thứ nhất gọi là Phương pháp Euler cải tiến hay Phương pháp Euler - Cauchy cải tiến (còn gọi là Phương pháp Heun). Trong mỗi bước của phương pháp này ta tính giá trị phụ đầu tiên (1.8a) và rồi tính giá trị mới (1.8b) y ∗ n+1 = y n + f(x n , y n ) (1.8a) y n+1 = y n + 1 2 h[f(x n , y n ) + f(x n+1 , y ∗ n+1 )] (1.8b) Hình 2: Phương pháp Euler cải tiến 8 Phương pháp này có cách giải thích hình học đơn giãn. Thực tế ta có thể trong khoảng từ x n đến x n + 1 2 h ta có nghiệm gần đúng y bằng đường thẳng qua điểm (x n , y n ) với hệ số góc f(x n , y n ), và chúng ta tiếp tục dọc theo đường thẳng với hệ số góc f(x n+1 , y ∗ n+1 ) cho đến x là x n+1 . Phương pháp Euler - Cauchy cải tiến là một Phương pháp predictor - corrector, bởi vì trong mỗi bước ta đầu tiên ta tiên đoán một giá trị trong (1.8a) và hiểu chính cho chính xác nó trong (1.8b). Ta dùng kí hiệu k 1 = hf(x n , y n ) trong (1.8a) và k 2 = hf(x n+1 , y ∗ n+1 ) trong (1.8b) ta có thể viết sơ đồ dạng này trong bảng 1.2. Ví dụ 1.2. Vận dụng phương pháp Euler cải tiến để giải bài toán (1.4), chọn h = 0.2 như trước. Giải: Với bài toán lúc này. k 1 = 0.2(x n + y n ) k 2 = 0.2(x n + 0.2)y n + 0.2(x n + y n ) y n+1 = y n + 0.2 2 (2.2x n + 2.2y n + 0.2) + 0.22(x n + y n ) + 0.02. Bảng 1.3 cho thấy rằng kết quả các kết quả hiện tại là chính xác hơn các kết quả trong ví dụ 1.1, xem bảng 1.6 . Thuật toán Euler (f, x 0 , y 0 , h, N) Thuật toán này tìm nghiệm bài toán với giá trị đầuy  = f(x, y), y(x 0 ) = y 0 tại các điểm cách đều x 1 = x 0 + h, x 2 = x 0 + 2h, ··· , x N = x 0 + Nh, ở đây, f như một bài toán có duy nhất nghiệm trên đoạn [x 0 , x N ]. Nhập vào: giá trị ban đầu x 0 , y 0 , bước đi(bước nhảy) h số bước đi trong khoảng khảo sát N Giá trị ra: Giá trị gần đúng y n+1 của nghiệm y(x n+1 ) tại x n+1 = x 0 +(n+1)h. Với n = 0, 1, ··· , N − 1. For n = 0, 1, ··· , N − 1 do: x n+1 = x n + h k 1 = hf(x n , y n ) k 2 = hf(x n+1 , y n + k 1 ) y n+1 = 1 2 (k 1 + k 2 ) Lấy ra: x n+1 , y n+1 Kết thúc Tạm dừng Kết thúc Phương pháp Euler Bảng 1.2. Phương pháp Euler cải tiến(Phương pháp Heun) 9 n x n y n 0.22(x n + y n ) + 0.02 Giá trị chính xác Sai số 0 0.0 0.0000 0.0200 0.0000 0.0000 1 0.2 0.0200 0.0684 0.0214 0.0014 2 0.4 0.0884 0.1274 0.0918 0.0034 3 0.6 0.2158 0.1995 0.2221 0.0063 4 0.8 0.4153 0.2874 0.4255 0.0102 5 1.0 0.7027 0.7183 0.0156 Bảng 1.3. Phương pháp Euler cải tiến áp dụng cho (1.4) và sai số Sai số bộ phận: Sai số bộ phận của phương pháp Euler cải tiến là số hạng h 3 . Thật vậy, đặt  f n = f(x n , y(x n )) và dùng (1.7), ta được y(x n + h) −y(x n ) = h  f n + 1 2 h 2  f n  + 1 2 h 3  f n  + ··· (1.9) Lấy gần đúng biểu thức trong ngoặc của (1.8b) bằng  f n +  f n+1 và dùng khai triển Taylor ta được từ (1.8b) y n+1 − y n ≈ 1 2 h[  f n +  f n+1 ] = 1 2 h[  f n + (  f n + h  f n  + 1 2 h 2  f n  + ···)] = h  f n + 1 2 h 2  f n  + 1 4 h 3  f n  + ··· (1.10) Trừ (1.9) cho (1.10) ta có sai số h 3 6  f n  − h 3 4  f n  + ··· = − h 3 12  f n  + ··· Vì số các bước nhãy trên đoạn x tỉ lệ với 1 h , nên sai số toàn phần là h 3 h = h 2 . ở đây phương pháp Euler cải tiến được gọi là Phương pháp cấp hai 1.3 Phương pháp Runge - Kutta Vẫn còn phương pháp thực hành quan trọng chính xác hơn nửa là Phương pháp bốn số cổ điển Runge - Kutta, thường gọi một cách ngắn gọn là Phương pháp Hunge - Kutta. Nó được diễn tả trong bảng 1.4. Ta thấy rằng trong mỗi bước việc đầu tiên ta tính bốn số k 1 , k 2 , k 3 , k 4 và tiếp đó tính giá trị mới y n+1 . Công thức có vẻ phức tạp ở dạng đầu tiên, nhưng thực tế nó lại dễ cho một bài toán. Việc tính tay f(x, y) bằng tay thì rất phức tạp nhưng nó sẽ không thành vấn đề đối với máy tính. Phương pháp này là hoàn hảo cho máy tính bởi vì không cần đến các tính toán ban đầu, nó làm sáng tỏ sự tích lũy, và dùng lặp lại các kết quả một cách trực tiếp. Nó là số ổn định. Chú ý, nếu f chỉ phụ thuộc vào x, ta dùng công thức tích phân Simpson. 10 Ví dụ 1.3. áp dụng phương pháp Runge - Kutta đối với bài toán (1.4) trong ví dụ 1.1, chọn h = 0.2 như trước và tính năm bước. Giải: Với bài toán này, ta có f(x, y) = x + y nên ta có k 1 = 0.2(x n + y n ), k 2 = 0.2(x n + 0.1 + y n + 0.5k 1 ) k 3 = 0.2(x n + 0.1 + y n + 0.5k 2 ), k 4 = 0.2(x n + 0.2 + y n + k 3 ) Từ các biểu thức đơn giản, ta tìm giá trị thích hợp của k 1 và thay vào k 2 ta đạt được kết quả k 2 = 0.22(x n + y n ) + 0.02, thay giá trị này vào k 3 ta tìm được k 3 = 0.222(x n + y n ) + 0.022, và cuối cùng thay giá trị này vào k 4 ta được k 4 = 0.2444(x n + y n ) + 0 .0444. Nếu ta dùng các số trên, công thức y n+1 trong bảng 1.4 trở thành y n+1 = y n + 0.2214(x n + y n ) + 0.0214. (1.11) Tất nhiên, các quá trình thay vào này là không tiêu biểu cho phương pháp Kunge - Kutta và sẽ không là vấn đề chung. Bảng 1.5 diễn tả quá trình tính toán. Từ bảng 1.6 ta thấy rằng các giá trị là chính xác hơn các giá trị trong ví dụ 1.1 và ví dụ 1.2 Thuật toán Runge - Kutta (f, x 0 , y 0 , h, N) Thuật toán này tìm nghiệm bài toán với giá trị đầuy  = f(x, y), y(x 0 ) = y 0 tại các điểm cách đều x 1 = x 0 + h, x 2 = x 0 + 2h, ··· , x N = x 0 + Nh, ở đây, f như một bài toán có duy nhất nghiệm trên đoạn [x 0 , x N ]. Nhập vào: giá trị ban đầu x 0 , y 0 , bước đi(bước nhảy) h số bước đi trong khoảng khảo sát N Giá trị ra: Giá trị gần đúng y n+1 của nghiệm y(x n+1 ) tại x n+1 = x 0 +(n+1)h. Với n = 0, 1, ··· , N − 1. For n = 0, 1, ··· , N − 1 do: k 1 = hf(x n , y n ) k 2 = hf(x n + 1 2 h, y n + 1 2 k 1 ) k 3 = hf(x n + 1 2 h, y n + 1 2 k 2 ) k 4 = hf(x n + h, y n + k 3 ) x n+1 = x n + h y n+1 = y n + 1 6 (k 1 + 2k 2 + 2k 3 + k 4 ) Lấy ra: x n+1 , y n+1 Kết thúc Tạm dừng Kết thúc Phương pháp Runge - Kutta Bảng 1.4. Phương pháp Runge - Kutta cổ điển cấp bốn [...]... hai hay nhiều đường) 4.1 Các phương pháp cho các phương trình vi phân kiểu Elip 4.1.1 Các phương trình vi phân cho phương trình Laplace và phương trình Poisson Phương trình Laplace là 2 u = uxx + uyy = 0 (4.2) u = uxx + uyy = f (x, y) (4.3) Phương trình Poisson 2 Các phương trình này là các phương trình elip quan trọng nhất trong áp dụng Để đạt được các phương pháp của lời giải số, ta thay đạo hàm riêng... Phương pháp Runge - Kutta - Nystr¨m áp dụng cho phương trình Airy, o tính toán của hàm Airy y = Ai(x) 22 Chương 4 PHƯƠNG PHÁP CHO CÁC PHƯƠNG TRÌNH VI PHÂN ĐẠO HÀM RIÊNG Các phương trình vi phân đạo hàm riêng đặc biệt là phương trình Laplace, phương trình Poisson, phương trình truyền nhiệt và phương trình sóng có cơ sở là sự phụ thuộc theo thời gian theo các kiểu khác nhau Các kiểu đó được phân thành phương. .. , ym (x0 ) = Km 3.1 Phương pháp Euler cho hệ phương trình Các phương pháp cho phương trình vi phân bậc nhất đơn giản có thể được mở rộng cho hệ phương trình (3.1) bằng cách vi t dưới dạng vectơ hàm y và f thay cho các hàm y và f trước đây, ở đấy x là một đại lượng vô hướng 18 Ví dụ 3.1 Phương pháp Euler cho phương trình vi phấn cấp hai Hệ khối lượng lò xo Giải bài toán tắt dần cho hệ khối lượng -... × sai số của y1 0 12 24 33 36 35 y2,n (xn ) -0.25881 940 -0.25240 464 -0.23583 073 -0.21279 185 -0.18641 171 -0.15914 687 Bảng 3.2 Phương pháp Runge - Kutta cho hệ phương trình: Các giá trị y1,n (xn ) của hàm Airy Ai(x) trong ví dụ 3.2 3.3 Phương pháp Runge - Kutta - Nystr¨m (phương o pháp RKN) Phương pháp RKN là mở rộng trực tiếp phương pháp RK (phương pháp Runge - Kutta) cho phương trình vi phân cấp... kết quả cũ tại một nữa tại bước hiện thời và thử h/2 như bước mới Phương pháp (2.7), (2.8) chỉ cần 2 giá trị cho mỗi bước, phương pháp Runge - Kutta cần 4 giá trị; tuy nhiên phương pháp Runge - Kutta có thể có số bước lớn hơn hai rất lớn 17 Chương 3 Phương pháp cho hệ phương trình và các phương trình bậc cao Ta xét hệ phương trình vi phân cấp một có điều kiện đầu sau: y = f (x, y), y(x0 ) = y0 , (3.1)... pháp trong chương 1 đều là phương pháp một bước Trái lại, phương pháp nhiều nút là phương pháp mà mỗi bước dùng các giá trị từ các bước thứ tự Lý do mà chúng ta dùng các bước tương đương là thêm các thông tin có thể làm tăng độ chính xác của kết quả Các phương pháp đó sẽ lần được trình bày như ở dưới đây: 2.1 Phương pháp Adams - Bashforth Ta hãy xét phương trình vi phân có điều kiện đầu sau y = f (x,... trị chính xác đến 12 số thập phân là y(0.1) = 1.20033467209 Do đó sai số chính xác của y1 là −4.4 · 10−10 , nhỏ hơn trong bảng 1.7 bằng hằng số 200 Bảng 1.8 tổng kết các kết quả cơ bản của các phương pháp trong chương 1 này Nó có thể các phương pháp này là các sai số ổn định Chúng là các phương pháp một bước bởi vì mỗi bước ta dùng dữ kiện của bước trước một cách có thế tự Phương pháp Euler Euler cải... Chẳng hạn: Phương trình Laplace • Kiểu parabol nếu ac − b2 = 0 Chẳng hạn: Phương trình nhiệt • Kiểu hyperbol nếu ac − b2 ≤ 0 Chẳng hạn: Phương trình sóng (với phương trình sóng và phương trình nhiệt, y là thời gian t) Các hệ số a, b, c có thể là các hàm của x, y, vì vậy các kiểu của (4.1) có thể khác nhau trong các miền khác nhau của mặt phẳng xy Sự phân loại này không chỉ là đúng các quy cách vật chất... sai số của yn 0 3 7 12 12 12 11 9 6 1 −1 Bảng 1.9 Phương pháp Adams - Moulton áp dụng vào bài toán (2.9); giá trị tiên đoán được tính bằng (2.7) và các giá trị được hiệu chính bằng (2.8) 14 Chương 2 PHƯƠNG PHÁP NHIỀU NÚT Phương pháp một bước(một nút) là phương pháp mà trong mỗi bước chúng ta dùng các kết quả đạt được từ các bước trước một cách có thứ tự Tất cả các phương pháp trong chương 1 đều là phương. .. (0) = −2.5 bằng cách dùng phương pháp Euler cho hệ thống với bước nhãy h = 0.2 và x từ 0 đến 1 Giải: Phương pháp Euler (1.3) ở chương 1 khái quát hoá cho hệ thống yn+1 = yn + hf (xn , yn ) (3.5) với các thành phần y1,n+1 = y1,n + hf1 (xn , y1,n , y2,n ) y2,n+1 = y2,n + hf2 (xn , y1,n , y2,n ) và tương tự cho hệ phương trình nhiều hơn hai phương trình Dựa vào (3.4) các phương trình đã cho chuyển đổi . chỉ trình bày, đưa ra phương pháp và mỗi phương pháp chỉ trình bày một ví dụ để minh hoạ. 4 Chương 1 PHƯƠNG PHÁP SỐ CHO PHƯƠNG TRÌNH VI PHÂN CẤP 1 1.1 Phương pháp Euler để giải phương trình vi phân. phương trình . . . . . . . . . 19 3.3 Phương pháp Runge - Kutta - Nystr¨om (phương pháp RKN) . . . . . 20 4 Phương pháp cho các phương trình vi phân đạo hàm riêng 22 4.1 Các phương pháp cho các phương. 15 3 Phương pháp cho hệ phương trình và phương trình vi phân bậc cao 17 3.1 Phương pháp Euler cho hệ phương trình . . . . . . . . . . . . . . . . 17 3.2 Các phương pháp Runge - Kutta cho hệ phương

Ngày đăng: 05/08/2014, 14:21

Từ khóa liên quan

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

Tài liệu liên quan