Bài giảng Phương pháp số trong tính toán cơ khí - Bài 8: Hệ phương trình vi phân thường bậc I và Phương trình vi phân bậc cao cung cấp cho học viên các kiến thức về hệ phương trình vi phân thường bậc I, phương pháp Euler tường minh, phương pháp RK2-Euler cải tiến, phương pháp RK2-Heun, phương pháp RK2-Ralston,... 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 8: Hệ phương trình vi phân thường bậc I Phương trình vi phân bậc cao Thời lượng: tiết Nội dung học phương pháp Hệ Phương trình vi phân thường bậc I Hệ phương trình vi phân thường bậc I có dạng: Dạng véctơ: dy1 dx f1 x, y1 , y2 , , yn ; dy2 f x, y , y , , y ; 2 n dx dyn f x, y , y , , y ; n n dx d T y y f x , y dx ; y x0 y y1 x y2 x y x ; y x n y1 x0 y01 y2 x0 y02 (1) yn x0 y0 n f1 x, y T T f x , y 2 T f x, y T f n x, y (2) So sánh phát biểu PTVP Hệ PTVP thường bậc I dy dx y f x, y ; y a y0 ; x0 a x b xn d T y y f x , y ; dx y a y ; x0 a x b xN Hầu hết phương pháp dùng để giải phương trình vi phân thường bậc I áp dụng để giải hệ PTVP bậc I, với định dạng Véctơ Phương pháp Euler tường minh i từ đến N-1 T φi f xi , y i i f xi , yi yi 1 yi h i y i 1 y i h φi ; x x h x x h i i i 1 i 1 T f x , y y1 xi 1 i i T y x f x , y i i i T yi ; f xi , y i y x T n i f n xi , y i (3) Phương pháp Euler tường minh dy1 dx y1 y1 y2 x dy2 y y y x 2 dx y1 y1,0 Với điều kiện ban đầu: y2 y2,0 (5) (4) b a 30 Cho biết: h 0.25 N 12 h 0.25 Dạng Véctơ: d T 2 f x , y y y f x , y y x y y x T dx ; y x ; f x, y T y2 x y x0 y f x, y y1 y2 x y y y x - Từ (4): 6 1 dy2 y2 y1 y1 x - Đạo hàm hai vế (6): dx - Thế (6) (7) vào (5): 7 1 2 5 y1 y1 x y1 y1 y1 x x 2 y1 y1 y1 x 2 - Tìm nghiệm chung phương trình (8): Phương trình đặc trưng: y1 y1 y1 2 0 2 (8) (10) (9) 17 17 ; 2 Y1 x C1e 10 1 4 4 17 3 x C2 e 17 3 x (11) - Tìm nghiệm riêng phương trình (9), có dạng: y1 x Ax B y1 x Ax Bx C y x A - Vậy: 2 A Ax B Ax Bx C x 2 A A 2 1 A B 3B C x2 3A x A x2 B 12 2 2 A B A 3B C C 44 2 2 - Vậy lời giải đầy đủ hàm y1(x) là: y1 x Y1 x y1 x y1 x C1e 17 3 x C2 e 17 3 x x 12 x 44 (12) - Đi tìm y2(x): Ta đạo hàm vế (12) dy1 17 C1 e 12 y1 x dx 17 3 x 17 C2 e 17 3 x x 12 - Thế (13) vào (6): 17 C1 e y2 x C e 2 17 3 x 17 3 x C2 e 17 C2 e 17 3 x 17 3 x x 12 x x 22 x (13) 17 3 x 17 3 x 17 17 y2 x C1 e C2 e x 10 x 34 4 Vậy: 17 3 17 3 x x 4 y1 x C1e C e x 12 x 44 17 3 17 3 x x 17 17 4 y x C e C e x 10 x 34 4 10 (14) (15) - Để tìm C1 C2 ta dựa vào điều kiện ban đầu: 47 919 17 C C 44 y1 C1 170 17 17 1 C1 C2 34 y2 C 47 919 17 2 170 (16) - Chuyển (41) hệ phương trình vi phân thường bậc I F t d2 y C dy K y m dt m m dt y 0; y y y1 y y2 67 dy1 dt y2 F t C K dy2 y2 y1 m m m dt y1 0; y2 d T y2 y dt y f t , y f t , y y1 t T ; y t ; f t, y C F t K T y2 t y t0 y f t , y y2 y1 m m m Giải phương pháp số tương tự ví dụ Bài tốn kỹ thuật y 68 Cho dầm Công-xon (ngàm) chiều dài L với độ cứng uốn EIz, chịu tải trọng lực P đặt vào đầu tự hình vẽ O x Hãy xây dựng phương trình chuyển vị (độ võng y) dầm giải phương pháp số để tìm quy luật độ võng góc xoay dầm Điều kiện ban đầu: y(0)=0, y’(0)=0 Khảo sát với x Є [0; L], với bước h=L/10 69 - Theo kiến thức môn “Sức bền vật liệu”, ta có: Phương trình chuyển vị dầm: d2y dx Mz EI z dy 1 dx Trong biểu thức nội lực mơmen uốn có dạng: (42) M z P x L (43) a) Lời giải xác: Nếu để phương trình dạng (42) khơng thể có lời giải xác dạng giải tích Do phải giản lược với (dy/dx)≈0 d y 42 dx P x L EI z P y x x Lx EI z x y x P x Lx EI z - độ võng - góc xoay b) Lời giải số: 70 Khi thực lời giải số, ta xét phương trình (42) mà khơng cần giản lược thành phần (dy/dx): dy1 y2 dx 2 y y d y P dy dy P x L y2 x L EI z dx dx dx EI y y2 z y 0; y y 0; y d y2 T y dx y f x, y f x , y y1 x 1 T ; y x ; f x, y P 2 T y2 x y x0 y f x, y EI 1 y2 x L z 0 Giải phương pháp số tương tự ví dụ P 10 kN ; EI z 104 kN.m ; L m Phương pháp Euler tường minh: 71 P k N ;E I k N m ;L m z Phương pháp RK2 - Euler cải tiến: 72 P k N ;E I k N m ;L m z Phương pháp RK2 – Heun: 73 P k N ;E I k N m ;L m z Phương pháp RK2 – Ralston: 74 P k N ;E I k N m ;L m z Phương pháp RK3 – Cổ điển: 75 P k N ;E I k N m ;L m z Phương pháp RK3 – Heun: 76 P k N ;E I k N m ;L m z Phương pháp RK4 – Cổ điển: 77 Giải hệ PTVP với câu lệnh MATLAB so kết dy1 y1 y1,0 y y y x 1 dx ; dy y y y x y2 y2,0 2 dx b a 30 h 0.25 N 12 h 0.25 function dydx = DiffEq(x,y) dydx = [(-1/2)*y(1) + y(2) + x^2 y(1) - y(2) - 2*x]; end 78 format long; 0.2807764065 x tspan = [0:0.25:3]; % Mien cua bien doc lap:Tu a den b voi buoc h 1.21097606e 1.780776406 x x 12 x 44 y1 x 45.78902394e y0 = 3; % Gia tri ban dau cua ham phu thuoc y 1.780776406 x 0.2807764065 x 1.550989567 e x 10 x 34 y_0 = 1/5; % Gia tri ban dau cua dao ham phu thuoc y' y2 x 35.7509895 e [x,yMATLAB] = ode45(@DiffEq,tspan,[y0 y_0]) % Su dung ham ode45 yExact = 45.78902394*exp(.2807764065.*x)+1.21097606*exp(-1.780776406*x)-2.*x.^2-12.*x-44 % Loi giai chinh xac cua ham y y_Exact = -1.550989567*exp(-1.780776406.*x)+35.75098957*exp(.2807764065*x)-2.*x.^2-10.*x-34 % Loi giai chinh xac cua dao ham y' % Nhap ket qua tinh tay theo mot so phuong phap, vi du PP Euler tuong minh yExEuler = [3;2.675;2.581250;2.62578125;2.765527344;2.985705566;3.287864685;3.683298683;4.189440703;4.8279138;5.623504507;6.603652255;7.79822 9113] y_ExEuler = [0.2;0.9;1.21875;1.309375;1.263476562;1.138989258;0.975668335;0.8037174225;0.6486127375;0.533819729;0.4823432468;0.5176335618;0.66 4138235] % Tinh sai so giua loi giai chinh xac va MATLAB error_Exact_MATLAB_y = abs((yExact - yMATLAB(:,1))./yExact)*100 error_Exact_MATLAB_y_ = abs((y_Exact - yMATLAB(:,2))./y_Exact)*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_y = abs((yExact - yExEuler)./yExact)*100 error_Exact_ExEuler_y_ = abs((y_Exact - y_ExEuler)./y_Exact)*100 % Ve thi ham loi giai chinh xac x = [0:0.01:3]; yExact = 45.78902394*exp(.2807764065.*x)+1.21097606*exp(-1.780776406*x)-2.*x.^2-12.*x-44; y_Exact = -1.550989567*exp(-1.780776406.*x)+35.75098957*exp(.2807764065*x)-2.*x.^2-10.*x-34; axes('fontsize',14) plot(x,yExact,'linewidth',1.5) hold on plot(x,y_Exact,'linewidth',1.5,'Color' ,'red') hold on scatter(tspan,yMATLAB(:,1),'k') %ve cac diem loi giai cua MATLAB cho ham y hold on scatter(tspan,yMATLAB(:,2),'k') %ve cac diem loi giai cua MATLAB cho ham y' hold on scatter(tspan,yExEuler,'d','filled') %Ve cac diem loi giai cua tinh tay cho ham y hold on scatter(tspan,y_ExEuler,'d','filled') %Ve cac diem loi giai cua tinh tay cho ham y' 79 80 y x y x Bài tập nhà 1) Giải tay phương pháp giải tích Tìm hàm lời giải xác (Slide 61-66) 2) Biến đổi hệ phương trình vi phân thường bậc I Tùy đề yêu cầu, giải hệ 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.1 Khảo sát thời gian t Є [0;1] 10 đ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 15/21/27/33/38/43/48): 4) Sử dụng Code MATLAB theo mẫu Slide 78-79 để kiểm nghiệm lại in kết quả, vẽ đồ thị so sánh kết (Slide 80) 81 ... phương pháp dùng để gi? ?i phương trình vi phân thường bậc I áp dụng để gi? ?i hệ PTVP bậc I, v? ?i định dạng Véctơ Phương pháp Euler tường minh i từ đến N-1 T ? ?i f xi , y i ? ?i f xi , yi ... sai số phương pháp Euler tường RK2-Euler c? ?i tiến RK2-Heun RK2-Ralston RK3-Cổ ? ?i? ??n RK3-Heun 50 RK4-Cổ ? ?i? ??n So sánh sai số phương pháp Euler tường RK2-Euler c? ?i tiến RK2-Heun RK2-Ralston RK3-Cổ... n i f1 xi , y iT T f x , y i i T f xi , y i T f x , y n i i (19) Phương pháp RK2-Euler c? ?i tiến g? ?i RK2 ? ?i? ??m Phương pháp RK2-Euler c? ?i tiến