Báo cáo bài tập lớn đề tài số 3 với chủ đề Xác định quỹ đạo chuyển động nén xiên trong trọng trường có lực cản môi trường với Matlab của cô Dương Thị Như Tranh. File matlab đính kèm với đầy đủ code tính toán và vẽ hình mô phỏng kết quả tính toán.
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC – KỸ THUẬT MÁY TÍNH - - - - - o0o - - - - - VẬT LÝ 1_ BT (PH1004) Bài tập lớn Xác định quỹ đạo chuyển động ném xiên trọng trường có lực cản mơi trường với Matlab GVHD : Dương Thị Như Tranh SV thực : Nguyễn Văn Hùng Nguyễn Thành Luân Huỳnh Hoàng Kha Lê Hoàng Huy Lê Văn Thiện Đặng Nhật Trình Phạm Văn Lĩnh TP.HCM 15/11/2016 1511360 1511894 1511449 1511232 1513200 1513685 1511792 Mục lục Kiến thức kết chuẩn bị 1.1 Nhắc lại chuyển động ném xiên trọng trường Chuyển động ném xiên trọng trường chuyển động với gia tốc không gian hai chiều : , với: Ta suy vectơ vị trí vật: Ta chọn hệ trục tọa độ hình với góc O điểm mà vật bắt đầu chuyển động () ta có : Chuyển động vật phân thành hai chuyển động hình chiếu Ox Oy - Chuyển động hình chiếu Ox Vì => chuyển động hình chiếu Ox chuyển động thẳng với => (1) - Chuyển động hình chiếu Oy Vì => chuyển động hình chiếu Oy chuyển động thẳng thay đổi Với: => (2) Từ (1) (2) ta suy phương trình quỹ đạo chuyển động vật: Vậy: Qũy đạo chuyển động ném xiên vật trọng trường parabol 1.2 Chuyển động ném xiên trọng trường có lực cản mơi trường Chuyển động ném xiên trọng trường có lực cản mơi trường chuyển động ném xiên trọng trường chịu thêm tác dụng lực cản tỉ lệ với vectơ vận tốc h hệ số lực cản mơi trường Lúc phương trình chuyển động ném xiên trọng trường có lực cản mơi trường biểu diễn theo biểu thức sau: Chuyển động vật phân thành hai chuyển động hình chiếu Ox Oy - Chuyển động hình chiếu Ox Ta có phương trình chuyển động Ta suy phương trình vi phân ứng với v(t): Giải phương trình vi phân: = = ln|| = + C || = = ( Tại t = nên ta có: = Ta tiếp tục suy phương trình vi phân ứng với Giải phương trình vi phân: = = x=+ Tại t = x = nên ta có: với Vậy: x= - Chuyển động hình chiếu Oy Ta có phương trình chuyển động Ta suy phương trình vi phân ứng với v(t): Giải phương trình vi phân: (3) Đặt Phương trình trở thành: = ln|z| = C ln| | = C ||= = () Tại t = nên ta có: Vậy: = + Ta tiếp tục suy phương trình vi phân ứng với = + Giải phương trình vi phân: = + = y= + Tại t = y = nên ta có: với Vậy y= (4) Từ (3) (4) ta có hệ phương trình tham số chuyển động ném xiên trọng trường có lực cản mơi trường: Qũy đạo chuyển động ném xiên trọng trường có lực cản mơi trường đường cong không cân xứng Chúng ta thấy rõ điều khi vẽ đồ thị Matlab đề cập phần sau Xác định quỹ đạo chuyển động ném xiên trọng trường có lực cản mơi trường với Matlab Chúng ta xây dựng chương trình Matlab để xác định quỹ đại chuyển động ném xiên trọng trường có lực cản môi trường Đầu tiên cần khai báo nhập vào giá trị khối lượng vật, gia tốc trọng trường, vận tốc đầu, góc ném, hệ số lực cản, biến t thời gian bay Trong Matlab ta thực lệnh sau: syms m g v0 alpha h t time; %Khai bao cac bien m=input('Nhap khoi luong cua vat m (kg): '); g=input('Nhap gia toc truong g (m/s^2): '); g=-g; %Doi dau gia tri g de phu hop voi he truc toa duoc chon v0=input('Nhap van toc ban dau cua vat v0 (m/s): '); alpha=input('Nhap goc nem (Rad): '); h=input('Nhap he so luc can moi truong h: '); time=input('Nhap thoi gian bay cua vat t (s): '); Để nhập giá trị trị ta thực Matlab sau: Giờ ta tìm phương trình tham số x(t) y(t) thơng qua giải phương trình vi phân tương ứng Như đề cập mục 1, ta có: - Phương trình vi phân tương ứng x(t): với - Phương trình vi phân tương ứng y(t): với Để giải phương trình vi phân Matlab, ta thực lệnh sau: x(t)=dsolve('m*D2x=-h*Dx','Dx(0)=v0*cos(alpha)','x(0)=0') y(t)=dsolve('m*D2y=m*g-h*Dy','Dy(0)=v0*sin(alpha)','y(0)=0') Thu kết sau: Ta hiển thị trực quan phương trình x(t) y(t) lệnh pretty sau: Ta thấy kết trả với kết phần chuẩn bị kiến thức đề cập mục Giờ ta thay giá trị mà ta nhập vào đầu chương trình cho biến phương trình x(t) y(t) vẽ đồ thị phương trình tham số từ lúc t=0 đến t=time Trong Matlab ta thực lệnh sau: ezplot(subs(x(t)),subs(y(t)),[0 time]); Ta thu kết quả: Với kết ta thấy rõ tính bất đối xứng quỹ đạo chuyển động ném xiên trọng trường có lực cản mơi trường Giờ ta tổng hợp phần chương trình lại với nhau, đồng thời hiệu chỉnh số điểm để chương trình trực quan thuận tiện qua trình sử dụng hiển thị tiêu đề, cho phép lựa chọn đơn vị góc, vẽ hình liên tiếp có tùy chọn giữ lại hay khơng giữ lại hình vẽ trước Chương trình sau: clc; clear all; syms m g v0 dvgoc alpha h time t xn xn2; %Khai bao cac bien disp('XAC DINH QUY DAO CHUYEN DONG NEM XIEN TRONG TRONG TRUONG CO LUC CAN MOI TRUONG'),disp(' '),disp(' '); disp('1 Nhap cac gia tri can thiet:'),disp(' '); m=input('Nhap khoi luong cua vat m (kg): '); g=input('Nhap gia toc truong g (m/s^2): '); g=-g; %Doi dau gia tri g de phu hop voi he truc toa duoc chon v0=input('Nhap van toc ban dau cua vat v0 (m/s): '); dvgoc=input('Chon don vi goc (1:rad, 2:deg): '); %Tuy chon don vi goc if (dvgoc==1) alpha=input('Nhap goc nem (Rad): '); elseif (dvgoc==2) alpha=input('Nhap goc nem (Deg): '); alpha=alpha*pi/180; end; h=input('Nhap he so luc can moi truong h: '); time=input('Nhap thoi gian bay cua vat t (s): '); disp(' '); disp('2 Tim bieu thuc cua x(t) va y(t):'),disp(' '); disp('Phuong trinh bieu dien chuyen dong: m*vecto(a) = m*vecto(g) h*vecto(v)'); disp('Phuong trinh vi phan tuong ung cua x(t) va y(t):'); %Hien thị PTVP disp('m*x'''' = -h*x'''); disp('m*y'''' = m*g - h*y'''); disp('Nghiem cua cac phuong trinh vi phan:'),disp(' '); x(t)=dsolve('m*D2x=-h*Dx','Dx(0)=v0*cos(alpha)','x(0)=0'); disp('x(t)='); pretty(x(t)); y(t)=dsolve('m*D2y=m*g-h*Dy','Dy(0)=v0*sin(alpha)','y(0)=0'); disp('y(t)='); pretty(y(t)); %Doan chuong trình duoi phuc vu viec ve thi xn=input('Ban muon ve thi khong(C/K): ','s'); disp(' '); if xn=='c' | xn=='C' disp('3 Ve thi quy dao chuyen dong:'),disp(' '); ezplot(subs(x(t)),subs(y(t)),[0 time]); while xn=='c' | xn=='C' title('Do thi quy dao chuyen dong nem xien trong truong co luc can moi truong'); xlabel('x(t)'); ylabel('y(t)'); grid on; shg; xn=input('Ban muon ve thi voi gia tri alpha khac khong(C/K): ','s'); if xn=='c' | xn=='C' if (dvgoc==1) alpha=input('Nhap goc nem (Rad): '); elseif (dvgoc==2) alpha=input('Nhap goc nem (Deg): '); alpha=alpha*pi/180; end; xn2=input('Ban muon giu lai thi cu khong (C/K): ','s'); if xn2=='c' | xn2=='C' hold on; elseif xn2=='k' | xn2=='K' hold off; end; ezplot(subs(x(t)),subs(y(t)),[0 time]); end; end; end; disp(' '); disp('Chuc ban mot lam viec tot lanh Hen gap lai!'); Giờ ta chạy chương trình với giá trị biến nhập xem xét đồ thị với góc ném alpha khác nhau, ta chọn chế độ giữ lại đồ thị cũ để tiện so sánh: - Với - Với (Đường màu cam) - Với (Đường màu vàng) - Với (Đường màu tím) 10 - Với (Đường màu xanh) 11 ... sau Xác định quỹ đạo chuyển động ném xiên trọng trường có lực cản mơi trường với Matlab Chúng ta xây dựng chương trình Matlab để xác định quỹ đại chuyển động ném xiên trọng trường có lực cản môi. .. 1.2 Chuyển động ném xiên trọng trường có lực cản mơi trường Chuyển động ném xiên trọng trường có lực cản mơi trường chuyển động ném xiên trọng trường chịu thêm tác dụng lực cản tỉ lệ với vectơ... chuyển động ném xiên trọng trường có lực cản mơi trường: Qũy đạo chuyển động ném xiên trọng trường có lực cản mơi trường đường cong không cân xứng Chúng ta thấy rõ điều khi vẽ đồ thị Matlab đề