Phương pháp tính trong bài toán vật lý

43 583 2
Phương pháp tính trong bài toán vật lý

Đ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

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

1 Mục lục Mục lục 1 0.1 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 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 [...]... 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áptrong 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 pháp một bước Trái lại, phương pháp nhiều... -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 hai y = f (x, y, y ) như đã cho bằng phép toán E J Nystr¨m Đa thức tốt nhất được biết,... 06 32 42 108 × sai số của yn 0 11 24 32 33 44 Bảng 3.3 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... biên thứ ∂u hai hay bài toán Neumann nếu un = ∂n (đạo hàm riêng của u) được quy định trên C và bài toán thứ ba hay bài toán hỗn hợp nếu u được đặt ra trên một phần của C và un trên phần còn lại C là đường cong đóng (hay chứa 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... thuận lợi cho việc tính toán bởi vì cách giải chung của từng loại khác nhau là khác nhau nên ta thêm các điều kiện (điều kiện biên và điều kiện đầu) mà ta quan tâm đến áp dụng việc giải các phương trình elip thường dẫn đến các vấn đề về các bài toán giá trị biên trong miền R, gọi là bài toán giá trị biên thứ nhất hay bài toán 23 Dirichlet nếu u được chỉ định trên đường biên C của R, bài toán giá trị biên... · · · , 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... là thích hợp hơn phương pháp giải trực tiếp, ta nói rằng số phương trình là lớn khi nó lớn hơn 50 Đặc biệt ta có thể dùng phương pháp Gauss - Seidel, còn được gọi là phương pháp Liebmann .Phương pháp cũng thuận lợi cho phương trình lớn bởi vì khi một thành phần nghiệm được tính, giá trị củ của nó không cần dài và ghi đè lên Ta minh hoạ điều này bằng cách tiếp cận một ví dụ, giữ số phương trình nhỏ,... nút 4cm và áp dụng phương pháp Liebmann tìm (trạng thái không đổi) nhiệt độ tại các mắt lưới Giải: Trong trường hợp không phụ thuộc vào thời gian, phương trình nhiệt ut = c2 (uxx + uyy ) rút gọn phương trình Laplace Bài toán của chúng ta là bài toán Dirichlet Chọn lưới như ở hình 6b và xét tại các mắt lưới với các số p11 , P21 , P12 , P22 Ta dùng phương trình (4.15) và trong mỗi phương trình, vế phải... u12 − 4u22 = −100 (4.16) Trong tính toán ta sẽ giải hệ bằng phương pháp loại trừ Gauss, tìm được u11 = u21 = 87.5, u12 = u22 = 62.5 Các giá trị chính xác hơn của bài toán lần lượt là 88.1 và 61.9 (đạt được bằng dùng chuyển Fourier) Do đó, sai số cở 1%, đây là điều chính xác bất ngờ của lưới với độ rộng h Nếu hệ phương trình lớn ta sẽ giải bằng phương pháp gián tiếp, như phương pháp Liebmann Như (4.16)... đường chéo Trong trường hợp này rút gọn Gauss là đặc biệt đơn giản Đây nâng phương trình chưa biết nghiệm của bài toán cho phương trình Laplace hay Poisson có thể đạt được từ một hệ với các hệ số ma trận là chéo bậc ba Câu trả lời ở đây là được, và phương pháp phổ biến loại này, được gọi là phương pháp ADI (phương pháp biến đổi ẩn trực tiếp) được đưa ra bởi Peaceman và Rachford ý tưởng như sau, trong (4.13) . 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. các tính toán được trình bày trong bảng 3.1. Như các phương pháp đơn giãn, các kết quả sẽ không đủ chính xác cho mục đích tính toán. Tất nhiên ví dụ chỉ là để minh hoạ cho phương pháp còn bài toán. 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

Ngày đăng: 16/04/2014, 16:48

Từ khóa liên quan

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

Tài liệu liên quan