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.
Trang 1ĐẠ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 trong 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 hiện : Nguyễn Văn Hùng 1511360
Nguyễn Thành Luân 1511894 Huỳnh Hoàng Kha 1511449
Lê Hoàng Huy 1511232
Lê Văn Thiện 1513200 Đặng Nhật Trình 1513685 Phạm Văn Lĩnh 1511792
Trang 3Mục lục
1 Kiến thức và kết quả chuẩn bị 3
1.1 Nhắc lại chuyển động ném xiên trong trọng trường 3 1.2 Chuyển động ném xiên trong trọng trường có lực cản môi trường 3
2 Xác định quỹ đạo chuyển động ném xiên trong trọng trường có lực cản môi trường với Matlab 5
Trang 41 Kiến thức và kết quả chuẩn bị
1.1 Nhắc lại chuyển động ném xiên trong trọng trường
Chuyển động ném xiên trong trọng trường là chuyển động với gia tốc đều trong không gian hai chiều trong đó : a=const⃗ , với: a=⃗ d ⃗v
dt và ⃗v= d ⃗r
dt
Ta suy ra được vectơ vị trí của vật: r =⃗r⃗ 0+⃗v0t+1
2⃗a t
2
Ta chọn một hệ trục tọa độ như hình trên với góc O là điểm mà vật bắt đầu chuyển động (r⃗0=0) ta có : r =⃗v⃗ 0t+1
2a t⃗
2
Chuyển động của vật có thể phân thành hai chuyển động hình chiếu trên Ox và Oy.
- Chuyển động hình chiếu trên Ox
Vì a x=g x=0 => chuyển động hình chiếu trên Ox là chuyển động thẳng đều với
v 0 x=v o cosα
- Chuyển động hình chiếu trên Oy
đều
Với: v 0 y=v o sinα => v y=−¿+v o sinα
và y=−1
2 g t
2
Từ (1) và (2) ta suy ra phương trình quỹ đạo chuyển động của vật:
2 v02 cos 2α x
2
+(tanα ) x
Vậy: Qũy đạo chuyển động ném xiên của vật trong trọng trường là một parabol
1.2 Chuyển động ném xiên trong trọng trường có lực cản môi trường
Chuyển động ném xiên trong trọng trường có lực cản môi trường là chuyển động ném xiên trong trọng trường chịu thêm tác dụng của lực cản tỉ lệ với vectơ vận tốc ⃗F C=−h ⃗v
trong đó h là hệ số lực cản của môi trường.
Lúc này phương trình chuyển động ném xiên trong trọng trường có lực cản môi trường được biểu diễn theo biểu thức sau:
m ⃗a=m⃗g−h ⃗v
Chuyển động của vật có thể phân thành hai chuyển động hình chiếu trên Ox và Oy.
- Chuyển động hình chiếu trên Ox
Ta có phương trình chuyển động là m ⃗a x=−h ⃗v x
Ta suy ra phương trình vi phân ứng với v(t): m v ' x¿−hv x
Trang 5Giải phương trình vi phân:
m d v x
dt = −h v x
∫d v v x
x
= ∫−m h dt
ln|v x| = −m ht + C
|v x| = e−m ht e C
v x = C1e−m ht (C1≠ 0¿
Tại t = 0 thì v x=v 0 x nên ta có:
v 0 x=C1e0 C1=v 0 x
Vậy v x = v 0 x e−m ht
Ta tiếp tục suy ra được phương trình vi phân ứng với x (t ) : x '
=v 0 x e
−ht m
Giải phương trình vi phân:
dx
dt = v
0 x e
−ht m
∫dx = ∫v 0 x e
−ht
m dt
x = −v 0 x m
h e
−ht
m + C2
Tại t = 0 thì x = 0 nên ta có:
C2=mv 0 x
h với v 0 x=v0cos (∝)
Vậy:
x = m v0 cos (∝)
m v0cos( ∝)
−ht
- Chuyển động hình chiếu trên Oy
Ta có phương trình chuyển động là m ⃗a y=m⃗g−h ⃗v y
Ta suy ra phương trình vi phân ứng với v(t): m v ' y¿mg−hv y
Giải phương trình vi phân:
v ' y=g− h
m v y
Đặt z= h
m v y−g thì m h z '=v ' y
Phương trình trở thành:
m
h z
'
=−z
∫dz z = ∫−m h dt
ln|z| = −m ht+ ¿ C
ln|m h v y−g | = −m ht+¿ C
|m h v y−g | = e−m ht e C
Trang 6 v y = m h (C1e−m ht
+g)
Tại t = 0 thì v y=v 0 y nên ta có:
v 0 y=m
h(C¿¿1e
0
+g)¿ C1=h v 0 y
Vậy: v y = mg h + h v 0 y−gm
−ht m
Ta tiếp tục suy ra được phương trình vi phân ứng với y (t) : y '= mg h + h v 0 y−gm
−ht m
Giải phương trình vi phân:
dy
dt = mg h + h v 0 y−gm
−ht m
∫dy = ∫ (mg h +
h v 0 y−gm
−ht m
)dt
y = mgt h −m(h v 0 y−gm)
−ht
m + C2
Tại t = 0 thì y = 0 nên ta có:
C2=m(h v 0 y−gm)
h2 với v 0 y=v0sin ( ∝),
Vậy
2
+hm v0sin ( ∝)
m(gm−h v0sin ( ∝))
−ht
Từ (3) và (4) ta có hệ phương trình tham số của chuyển động ném xiên trong trọng trường có lực cản môi trường:
m v0cos ( ∝)
−ht m
2
+hm v0sin ( ∝)
m(gm−h v0sin ( ∝))
−ht m
Qũy đạo chuyển động ném xiên trong trọng trường có lực cản môi trường là một đường cong không cân xứng Chúng ta sẽ thấy rõ điều này khi khi vẽ đồ thị bằng Matlab được đề cập ở phần sau
2 Xác định quỹ đạo chuyển động ném xiên trong trọng trường có lực cản môi trường với Matlab
Chúng ta sẽ xây dựng chương trình Matlab để xác định quỹ đại chuyển động ném xiên trong trọng trường có lực cản môi trường
Đầu tiên chúng ta cần khai báo và nhập vào các giá trị m , g , v o , α , h ,t ,time lần lượt là khối lượng của 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 và thời gian bay Trong Matlab ta có thể thực hiện bằng lệnh như sau:
syms m g v0 alpha time ; %Khai bao cac bien
m=input( 'Nhap khoi luong cua vat m (kg): ' );
g=input( 'Nhap gia toc trong truong g (m/s^2): ' );
g=-g; %Doi dau gia tri g de phu hop voi he truc toa do 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): ' );
Trang 7Để nhập các giá trị trị m=1, g=9.81, v o=150 , α=π
3, h=0.2, time=20 ta thực hiện trong Matlab như sau:
Giờ ta sẽ đi tìm phương trình tham số của x(t) và 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 của x(t): mx ''=−hx '
với x '(0 )=v o cosα và x (0)=0
- Phương trình vi phân tương ứng của y(t): m y ''=mg−hy '
với y ' (0)=v o sinα và y (0)=0
Để giải các phương trình vi phân trong Matlab, ta có thể thực hiện các lệnh 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 được kết quả như sau:
Ta có thể hiển thị trực quan các phương trình x(t) và y(t) bằng lệnh pretty như sau:
Trang 8Ta có thể thấy kết quả trả về đúng với kết quả trong phần chuẩn bị kiến thức được đề cập ở mục 1
Trang 9Giờ ta sẽ thay các giá trị mà ta đã nhập vào đầu chương trình cho các biến trong
phương trình x(t) và y(t) và vẽ đồ thị bằng phương trình tham số từ lúc t=0 đến t=time
Trong Matlab ta thực hiện bằng lệnh như sau:
ezplot(subs(x(t)),subs(y(t)),[0 time]);
Ta thu được kết quả:
Với kết quả như trên ta có thể thấy rõ tính bất đối xứng của quỹ đạo chuyển động ném xiên trong trọng trường có lực cản môi trường
Giờ ta sẽ tổng hợp các phần của chương trình lại với nhau, đồng thời hiệu chỉnh một
số điểm để chương trình được trực quan và thuận tiện trong qua trình sử dụng như hiển thị các tiêu đề, cho phép lựa chọn đơn vị góc, vẽ hình liên tiếp và có tùy chọn giữ lại hay không giữ lại hình vẽ trước Chương trình của chúng ta như sau:
clc;
clear all ;
syms m g v0 dvgoc alpha time 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 trong truong g (m/s^2): ' );
g=-g; %Doi dau gia tri g de phu hop voi he truc toa do duoc chon
Trang 10if (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 do thi
xn=input( 'Ban muon ve do thi khong(C/K): ' , 's' );
disp( ' ' );
if xn== 'c' | xn== 'C'
disp( '3 Ve do 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 trong truong co luc can moi truong' );
xlabel( 'x(t)' );
ylabel( 'y(t)' );
grid on ;
shg;
xn=input( 'Ban muon ve do 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 do 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 ngay lam viec tot lanh Hen gap lai!' );
Giờ ta sẽ chạy chương trình với các giá trị biến đã nhập ở trên và xem xét đồ thị với các góc ném alpha khác nhau, ta chọn chế độ giữ lại các đồ thị cũ để tiện so sánh:
Trang 11- Với α= π
12
- Với α= π
6 (Đường màu cam)
Trang 12- Với α= π
4 (Đường màu vàng)
- Với α= π
3 (Đường màu tím)
Trang 14- Với α= 5 π
12 (Đường màu xanh)