Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.09 MB, 16 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI</b>
<b><small>Giảng viên hướng dẫn:</small></b> <small>TS Hà Thị Ngọc Yến</small>
<b><small>MSSV: </small></b><small>20200446</small>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">Xét bài toán Cauchy: <small>y'f x y( , )</small> với <small>y x( )0y0</small>với <small>x0xX</small>. Các điểm trên đoạn [<small>x0</small>,<small>X</small>] là <small>x x1, ,....,2</small> <sub>n</sub><small>x</small>có bước là <sup>h</sup> <sup>X</sup><small>n</small> <sup>x</sup><sup>0</sup>. Tích phân phương trình vi
phân trên đoạn <small>x x</small><sub>k</sub><small>,</small> <sub>k</sub><small>1</small>, ta được
<small>()( )( , )k</small>
Xây dựng công thức Adam-Bashford m bước :
Công thức được xây dựng bằng cách sử dụng đa thức nội suy Newton lùi<small>1( )</small>
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">Nếu công thức dừng lại ở sai phân bậc k, ta có sai số của cơng thức là:
Xây dựng cơng thức Adam-Moulton m bước :
Công thức được xây dựng khi sử dụng thêm điểm <small>(x</small><sub>i</sub><small>1, (f x</small><sub>i</sub><small>1, (y x</small><sub>i</sub><small>1))</small>như 1 điểm dùng trong phép nội suy của đa thức nội suy. Áp dụng đa thức nội suy Newton tại móc <small>xi1</small>:
Thuật toán đa bước thỏa mãn điều kiện nghiệm của phương trình đặc
<small>( )mmm...</small>
nghiệm .Nếu <sup>1</sup> thì là nghiệm duy nhất của phương trình.Thuật tốn đa bước ổn định nếu và chỉ nếu nó thỏa mãn điều kiện nghiệm của phương trình (2).
Định lý : Phương pháp đa bước ổn định mạnh nếu =1 là nghiệm duy nhất của <small>P( )</small>.Nếu <sup>1</sup>thì thuật tốn có tính ổn định yếu.
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><small>( )....((1))( )( )</small>
<small>!(1) ln(1)</small>
Xét hệ số của số hạng <small>m</small>
<small>t</small> , ta có quan hệ của các <small>ak</small>: <small>0</small>
Lưu các hệ số hệ số của các <small>y'</small><sub>i</sub>trong ma trận vuông cấp n và lưu các hệ số <small>ak</small>ở ma trận hàng có n cột .Nhân 2 ma trận ta sẽ có được ma trận chứahệ số của phương pháp
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><small>(1)( )(1)...((2))( 1)</small>
Lưu các hệ số hệ số của các <small>y'</small><sub>i</sub>trong ma trận vuông cấp n và lưu các hệ số <small>ak</small>ở ma trận hàng có n cột .Nhân 2 ma trận ta sẽ có được ma trận chứahệ số của phương pháp:
OUTPUT: các hệ số của phương pháp Adam
Bước 1: Tạo ra ma trận chứa hệ số của các <small>y'</small><sub>i</sub> trong khai triển của<small>'</small>
<small>y</small> :
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">Bước 6 Trong phương pháp Adam-Moulton: for k in range (1,n):
<small>k</small>=0-sum( <small>k</small>*(1/(np.arange(k+1,1,-1)))) print( <small>k</small>)
Bước 7 : nhập các <small>k</small>thành 1 hàng với k từ 0 đến m-1 thành ma trận hàng B
Bước 8: Nhân ma trận B với ma trận A
Thuật toán Adam-Bashforth 4 bước dự đoán và điều chỉnh:
INPUT: 2 điểm đầu mút <small>x X0,</small> , số mốc chia N, điều kiện ban đầu <small>y x( )0a</small>OUTPUT: Giá trị xấp xỉ của <small>y</small>tại điểm <small>xN1</small>
Bước 1: Đặt <small>h</small> <sup>X</sup> <sup>0</sup><sup>x</sup><small>,t0x y0,0aN</small>
Bước 2: For i=1,2,3:
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><small>Khf tyKhKhf ty</small>
<small>KhKhf tyKhf th yK</small>
Bước 3:
<small>txih</small> Bước 4: OUTPUT <small>( , )t y</small><sub>i</sub> <sub>i</sub>Bước 5 : For i=4,5,…,N+1: Đặt <small>tix0ih</small>
<small>1(55 (1,1) 59 (2,2) 37 (3,3) 9 (4,4))24</small>
Bước 6 : OUTPUT <small>( , )t y</small><sub>i</sub> <sub>i</sub>Bước 7: STOP
Thuật toán Adam-Moulton 4 bước dự đoán và điều chỉnh:
INPUT: 2 điểm đầu mút <small>x X0,</small> , số mốc chia N, điều kiện ban đầu <small>y x( )0a</small>OUTPUT: Giá trị xấp xỉ của <small>y</small>tại điểm <small>xN1</small>
Bước 1: Đặt <small>h</small> <sup>X</sup> <sup>0</sup><sup>x</sup><small>,t0x y0,0aN</small>
Bước 2: For i=1,2,3,…,N:
<small>Khf tyKhKhf ty</small>
<small>KhKhf tyKhf th yK</small>
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">Bước 3:
<small>txih</small> Bước 4: OUTPUT <small>( , )t y</small><sub>i</sub> <sub>i</sub>Bước 5 : For i=4,5,…,N: Đặt <small>tix0ih</small>
<small>1(9 ( , ) 19 ( ,11) 5 (2,2)(3,3))24</small>
Bước 2: For i=1,2,3:
<small>Khf tyKhKhf ty</small>
<small>KhKhf tyKhf th yK</small>
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">Bước 3:
<small>txih</small> Bước 4: OUTPUT <small>( , )t y</small><sub>i</sub> <sub>i</sub>Bước 5 : For i=4,5,…,N+1: Đặt <small>tix0ih</small>
<small>(55 ( ,) 59 (,) 37 (,) 9 (,))24</small>
<small>(9 ( , ) 19 (,) 5 (,)(,))24</small>
<small>y</small> có dạng là:
<small>100011 0012 1013 31</small>
Ma trận hàng chứa các tích phân là:
<small>2 12 24</small>Nhân ma trận hàng với ma trận hệ số của các <small>'</small>
<small>y</small>,ta có:
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><small>2 1224</small>
<small>100011 0012 1013 31</small> =
<small>5559 37924242424</small>Cơng thức Adam-Bashforth bậc 4 có dạng:
<small>y</small> có dạng là:
<small>100011 0012 1013 31</small>
Ma trận hàng chứa các tích phân là:
<small>21224</small>Nhân ma trận hàng với ma trận hệ số của các <small>'</small>
<small>9195124 2424 24</small>Công thức Adam-Moulton bậc 4 có dạng:
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">Ví dụ : Xét bài toán: <small>y'xy</small>, <small>y(0) 1</small>, <small>x[0,1]</small> với h= <small>0,1</small>
Kết quả của bài toán khi giải theo thuật toán Adam-Bashforth 4 bước:
<small>xyn</small> 0 1.0000000.1 1.1103420.2 1.242805
0.6 2.0442040.7 2.3274570.8 2.6510140.9 3.019117
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">Kết quả của bài toán khi giải theo phương pháp AB-AM 4 bước dự báo hiệu chỉnh:
<small>xnyn</small> <b>(dự báo) </b><small>yn</small> (điềều ch nh)ỉ
0.000000 nan 1.0000000.100000 nan 1.1103420.200000 nan 1.2428050.300000 nan 1.3997170.400000 1.583640 1.5836490.500000 1.797433 1.7974430.600000 2.044227 2.0442380.700000 2.327495 2.3275070.800000 2.651070 2.6510840.900000 3.019194 3.0192091.000000 3.436551 3.436567
Ví dụ : Xét bài tốn: <small>y'x2y2</small>, <small>y(0) 0</small>, với <small>x0,1</small>và h= <small>0,1</small>Kết quả của bài toán khi giải theo thuật toán Adam-Bashforth 4 bước:
<small>xyn</small> 0 0.000000
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">Kết quả của bài toán khi giải theo phương pháp AB-AM 4 bước dự báo hiệu chỉnh:
<small> xn</small><sub> </sub><small>y</small><sub>n</sub> <b><sub>(dự báo) </sub></b><small>y</small><sub>n</sub><sub> (điềều ch nh)</sub><sub>ỉ</sub>
<small>0.000000 nan 0.0000000.100000 nan 0.0003330.200000 nan 0.0026670.300000 nan 0.0090030.400000 0.021354 0.0213600.500000 0.041779 0.0417930.600000 0.072427 0.0724530.700000 0.115627 0.1156680.800000 0.174029 0.1740950.900000 0.250828 0.2509301.000000 0.350108 0.350269</small>
<b>4-Kết luận:</b>
Các thuật tốn Adam có ưu điểm là chỉ cần tính <small>x1</small> qua <small>xn</small> bằng việc tínhqua hàm <small>f</small> mà khơng cần chú ý đến bậc chính xác
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">Các thuật tốn Adam có nhược điểm là phải sử dụng thêm các thuật tốnkhác để tính tốn m bước đầu tiên.
Hướng dẫn sử dụng code:
File bao gồm 4 chương trình : chương trình tìm hệ số của phương pháp, thuật toán AB 4 bước, thuật toán AM 4 bước, THuật toán AB-AM 4 bước dự báo hiệu chỉnh
Để giải bài toán Cauchy chỉ cần nhập vào các biến x0,y0,xf,n và hàm deff(x,y)
</div>