Tải bản đầy đủ (.pdf) (16 trang)

báo cáo giải tích số phương pháp adam giải phương trình vi phân

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>Báo cáo giải tích số</b>

<b>Phương pháp Adam giải phươngtrình vi phân</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">

Mục lục

<b>Lý thuyết của phương pháp</b>

Phương pháp Adam-Bashforth Phương pháp Adam-Moulton

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

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>

×