1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài giảng Phương pháp số trong tính toán cơ khí - Bài 7: Phương trình vi phân thường bậc I

62 19 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 5,97 MB

Nội dung

Bài giảng Phương pháp số trong tính toán cơ khí - Bài 7: Phương trình vi phân thường bậc I cung cấp cho học viên các kiến thức về phân loại đạo hàm (vi phân), phân loại phương trình vi phân, phương pháp đơn bước – tường minh, phương pháp Euler tường minh, phương pháp Euler ẩn tàng, phương pháp Taylor bậc hai, phương pháp Runge-Kutta bậc 2 (RK2), phương pháp Runge-Kutta bậc 3 (RK3),... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!

Trường Đại học Cơng nghiệp thành phố Hồ Chí Minh Khoa Cơng nghệ Cơ khí Bộ mơn Cơ sở - Thiết kế Bài 7: Phương trình trình vi phân thường bậc I Thời lượng: tiết Nội dung học phương pháp Phân loại đạo hàm (vi phân) Đạo hàm Đạo hàm dv dt v hàm biến độc lập t Đạo hàm riêng u y u hàm biến độc lập (x,y,z,t,…) Phân loại phương trình vi phân Phương trình vi phân Phương trình vi phân thường d v  6tv  dt Gồm hay nhiều đạo hàm hàm ẩn số theo biến độc lập Phương trình đạo hàm riêng u u  0 y x 2 Gồm nhiều đạo hàm toàn phần hàm ẩn số theo nhiều biến độc lập Khái niệm phương trình vi phân - Phương trình vi phân (PTVP) phương trình mà chứa đạo hàm hàm số chưa biết Nghiệm PTVP hàm số mà thỏa mãn PTVP - PTVP mà có biến số gọi Phương trình vi phân thường (Ordinary Differential Equation - ODE) x biến độc lập; y biến phụ thuộc dy    Phương trình có chứa x, y, dy/dx (1) f x , y ,     PTVP thường bậc phương trình chứa dx   hàm x, hàm y dy/dx dy  ax  by  PTVP thường bậc (dy/dx), tuyến tính (đối với y) - Ví dụ 1: dx - Ví dụ 2: dy  a yxb y  dx PTVP thường bậc (dy/dx), phi tuyến (đối với y) Phương trình vi phân đầy đủ - Ví dụ 1: - Ví dụ 2: d y  x   ax  b  y  x   dx d y  x  a  y  x  x  b y  x  dx y(x) hàm ẩn x – biến độc lập Bậc phương trình vi phân d x t   x  t   et dt PTVP bậc d x t  d x t  5  x  t   cos  t  dt dt PTVP bậc d x t  d x t    x t   dt dt PTVP bậc Phương trình vi phân tuyến tính phi tuyến Một PTVP tuyến tính hàm ẩn số đạo hàm xuất với lũy thừa Khơng có tích hàm số và/hoặc đạo hàm - Ví dụ 1: d x t  t  x t   e dt - Ví dụ 2: d x t  d x t  - PTVP phi tuyến   t x t  cos t     dt dt - Ví dụ 3:  d x t      2t x  t   cos  t   dt  - PTVP tuyến tính - PTVP phi tuyến Phương trình vi phân tuyến tính phi tuyến Một PTVP phi tuyến hàm ẩn số đạo hàm xuất với lũy thừa khác Ngồi có tích hàm số và/hoặc đạo hàm - Ví dụ 4: d x t  t  cos  x  t    e dt - PTVP phi tuyến - Ví dụ 5: d x t  d x t  5  x t   2 dt dt - PTVP phi tuyến - Ví dụ 6: d x t  d x t  5  x t   dt dt - PTVP phi tuyến Điều kiện phụ để giải PTVP 10 Nghiệm phương trình vi phân: d x t   x  t    x  t   c1 sin  2t   c2 cos  2t  dt Tất hàm số nghiệm PTVP, chúng khác số c1, c2 Để xác định xác c1, c2 cần có thêm điều kiện phụ:  d x t   4x t     dt  x    a; x    b  - PTVP bậc 2 điều kiện phụ b  x  t   sin  2t   a cos  2t  Để giải PTVP bậc n ta cần n điều kiện phụ Phương pháp Runge-Kutta bậc (RK3) k1,i  f  xi , yi   k  f  x  h, y  hk  i 1,i   i  2,i 3     2   k3,i  f  xi  h, yi  hk2,i  3     h  yi 1  yi    k1,i  3k3,i   48 (28) xi 1  xi  h h  yi 1  yi    f  xi , yi   f   2 x  h , y  hf i  i 3  1     xi  h, yi  hf  xi , yi     3    (29) Phương pháp Runge-Kutta bậc (RK3) 49  dy 0.3 x  f x , y   1.2 y  e     dx  y    3;  x  4; h  0.5  n   i=0: k1,0  f  x0 , y0   1.2   7e 0.30  3.4   0.3   1 0.5 0.5 3.4 3.4       k  f x  h , y  hk  f ,3   3.4  f ,  7e  5.978605972  2,0 1,0        1.2  3     6    2   1  1  k  f x  h , y  hk  f ,3   5.978605972  f ,1.9928686 57  3,0 2,0       3 3         0.3  1.2 1.992868657  7e  3.942419538    y1  y0  h   k1,0  3k3,0    0.5   3.4   3.942419538   4.093407327  4 Tương tự cho vòng lặp sau Phương pháp Runge-Kutta bậc (RK3) y  x  e  x  70 109 x 43   e     Phương pháp RK3-Heun (h=0.5) Lời giải xác 50 Phương pháp Runge-Kutta bậc (RK4) dy  y  f  x, y  ; y  a   y0 ; x0  a  x  b  xn dx x1  x0  h; x2  x0  2h; ; xn  x0  nh yi 1  yi  h    xi , yi  (30) yi 1  yi  h   a1k1,i  a2 k2,i  a3k3,i  a4 k4,i  (RK4) k1,i   k2,i  (31) k3,i   k4,i  f  xi , yi  f  xi  b1h, yi  c11k1,i h  f  xi  b2 h, yi  c21k1,i h  c22 k 2,i h  f  xi  b3h, yi  c31k1,i h  c32 k2,i h  c33k3,i h  51 Phương pháp Runge-Kutta bậc (RK4) k1,i  f  xi , yi   k  f  x  h, y  hk  i 1,i   i  2,i 2    k  f  x  h, y  hk   3,i i 2,i   i 2     k4,i  f  xi  h, yi  hk3,i   h  yi 1  yi    k1,i  2k2,i  2k3,i  k4,i    xi 1  xi  h (32) 52 Phương pháp Runge-Kutta bậc (RK4) i=0:  dy 0.3 x  f x , y   1.2 y  e     dx  y    3;  x  4; h  0.5  n   k1,0  f  x0 , y0   1.2   7e 0.30  3.4  k  f  x  h, y  hk   f 0.25,3  0.25  3.4  f 0.25,3.85  1.2  3.85  7e 0.30.25  1.874204404     1,0    2,0 2    1    k  f x  h , y  hk 2,0   f  0.25,3  0.25  1.874204404   f  0.25,3.468551101   3,0 2     1.2  3.468551101  7e 0.30.25  2.331943083   k4,0  f  x0  h, y0  hk3,0   f  0.5,3  0.5  2.331943083  f  0.5, 4.165971542   0.30.5   1.2  4.165971542  e  1.025789985   h 0.5 y  y   k  k  k  k     3.4  1.874204404   2.331943083  1.025789985     1,0 2,0 3,0 4,0 6   4.069840413  Tương tự cho vòng lặp sau 53 Phương pháp Runge-Kutta bậc (RK3) y  x  e  x  70 109 x 43   e     Phương pháp RK4 Cổ điển (h=0.5) Lời giải xác 54 Sử dụng lệnh có sẵn MATLAB  dy 0.3 x  f x , y   1.2 y  e     dx  y    3;  x  4; h  0.5  n   Lời giải xác y  x  e  x 55  70 109 x 43   e     1) Tạo file hàm số xác định hàm dy/dx = f(x,y): function dydx = DiffEq(x,y) dydx = -1.2*y + 7*exp(-0.3*x); end - 2) Tạo file script lời giải: - - Giải số câu lệnh có sẵn MATLAB, ví dụ ode45 Giải lời giải xác Nhập vào MATLAB lời giải tay mà ta tính dựa số phương pháp học So sánh kết lời giải xác MATLAB So sánh kết lời giải xác lời giải tay 0  x   h  0.5 y  0  y  x  e  x  70 109 x 43   e     format long; 56 tspan = [0:0.5:4]; % Mien cua bien doc lap:Tu a den b voi buoc h y0 = 3; % Gia tri ban dau cua ham phu thuoc y [x,yMATLAB] = ode45(@DiffEq,tspan,y0) % Su dung ham ode45 yExact = exp((-6/5)*x).*((70/9)*exp((9/10)*x) - 43/9) % Loi giai chinh xac % Nhap ket qua tinh tay theo mot so phuong phap, vi du PP Euler tuong minh y_ExEuler = [3;4.7;4.892477918;4.549854940;4.051640506;3.541496929;3.06988170 6;2.650946492;2.285160719] % Tinh sai so giua loi giai chinh xac va MATLAB error_Exact_MATLAB = abs((yExact - yMATLAB)./yExact)*100 % Tinh sai so giua loi giai chinh xac va mot so pp ma ta giai tay, vi du PP Euler tuong minh error_Exact_ExEuler = abs((yExact - y_ExEuler)./yExact)*100 % Ve thi ham loi giai chinh xac x = [0:0.01:4]; %Chia nho lai khoang x de ve thi cho muot yExact = exp((-6/5)*x).*((70/9)*exp((9/10)*x) - 43/9); plot(x,yExact,'b') hold on scatter(tspan,yMATLAB,'k') %ve cac diem loi giai cua MATLAB hold on scatter(tspan,y_ExEuler,'d') %Ve cac diem loi giai cua tinh tay 57 Véctơ x Véctơ lời giải y theo câu lệnh ode45 MATLAB Véctơ lời giải xác Phương pháp Euler tường minh (h=0.5) Véctơ lời giải theo số phương pháp số tính tay Sai số lời giải xác lời giải câu lệnh MATLAB Sai số lời giải xác lời giải tính tay theo số pp Lời giải xác Lời giải theo câu lệnh ode45 MATLAB Bài toán kỹ thuật 58 Cho ống nước chảy vào bể nước hình trụ có bán kính Rtank Cùng thời điểm đáy bể, nước vịi ống trịn có bán kính rhole Cho biết quy luật dòng chảy nước vào bể có dạng: dmin  K1  K cos  Ct  dt (33) Cho biết thời điểm ban đầu t0=0 nước bể độ cao h0 Hãy tính độ cao bể nước thời điểm t* (s) kể từ bắt đầu Cho biết khối lượng riêng nước ρ Để giản lược tính tốn, ta chấp nhận giản lược sau độ cao h tính dịng chảy khỏi bể: h  0.008h (34) Giải phương trình vi phân phương pháp giải tích xác số phương pháp số có học để so sánh Cho bước lặp 0.5 Khảo sát thời gian t Є [0;10] 59 - Dòng chảy vòi ống đáy bể: Ahole   r hole s - Khối lượng nước qua ống độ dài s: mout dmout ds    Ahole  s     Ahole  dt dt (34) v - Vận tốc nước đáy bể nước có độ cao h: - Dịng chảy vòi đáy bể là: v  gh dmout 2     rhole  gh     rhole  g  0.008h dt (35) (36) 60 - Độ biến thiên khối lượng nước bể: - Khối lượng nước bể có độ cao h: m    Atank  h (37) - Độ biến thiên nước bể: dm dh     Rtank  dt dt (38) - Theo định luật bảo toàn khối lượng: dm dmin dmout dh 2       Rtank   K1  K cos  C  t      rhole  g  0.008h dt dt dt dt  dh rhole K2 K1 cos  C  t     f  h, t     0.008 g  h  2 Rtank    Rtank    Rtank   dt h  t   h  (39) rhole  0.01  m  ;  dh 100 cos  3t  100  f h , t   0.3543557534E-5  h         997  997  dt h     Rtank   m  ; K1  100  kg s  ; K  100  kg s  ;   997 kg m  ; C   s 1  ; t0  (s); 1) Giải tay phương pháp giải tích Tìm hàm lời giải xác (Slide 19) 2) Tùy đề yêu cầu, giải số phương pháp (Bấm máy tính CASIO khơng dùng MATLAB hay Excel hỗ trợ để luyện tập thi cuối kz) Chú {: bước lặp 0.5 Khảo sát thời gian t Є [0;10]  20 điểm 3) Lập bảng tính tay so sánh lời giải xác lời giải số theo mẫu (Slide 22/26/32/36/40/43/47/50/54): h0  (m); t   (s); g  9.81  m s  4) Sử dụng Code MATLAB theo mẫu Slide 56 để kiểm nghiệm lại in kết quả, vẽ đồ thị so sánh kết (Slide 57) 61 Phương trình vi phân thường bậc I Phương pháp Euler tường minh (h=0.5) Lời giải xác Phương pháp RK3 cổ điển (h=0.5) Phương pháp Ralston (h=0.5) Phương pháp Heun (h=0.5) Phương pháp Euler cải tiến (h=0.5) Phương pháp Taylor bậc (h=0.5) Phương pháp Euler ẩn tàng (h=0.5) 62 ...  nh Trong phương pháp đơn bước – tường minh, ước tính nghiệm l? ?i gi? ?i số (xi+1,yi+1) tính từ l? ?i gi? ?i biết (xi,yi) L? ?i gi? ?i số Độ dốc = ? ?i Đường cong l? ?i gi? ?i xác L? ?i gi? ?i xác  xi 1  xi ... l? ?i gi? ?i ? ?i? ??m để tính l? ?i gi? ?i ? ?i? ??m thứ hai gần Tiếp theo l? ?i gi? ?i ? ?i? ??m thứ ba, thứ tư, v.v…Ý tưởng sử dụng giá trị hàm số v? ?i ? ?i? ??m trước đem đến ước tính tốt cho vi? ??c tìm l? ?i gi? ?i Phân lo? ?i phương. .. nhiều biến độc lập Kh? ?i niệm phương trình vi phân - Phương trình vi phân (PTVP) phương trình mà chứa đạo hàm hàm số chưa biết Nghiệm PTVP hàm số mà thỏa mãn PTVP - PTVP mà có biến số g? ?i Phương trình

Ngày đăng: 16/12/2021, 09:45

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w