Điều kiện Sinh viên cần có ki n thế ức về ập trình cơ bả l n trong MATLAB Tìm hi u các lể ệnh Matlab liên quan symbolic và đồ ọa.. Sử dụng các lệnh symbolic để giả ệi h phương trình
Trang 1ĐẠ I HỌC QU C GIA TPHCM Ố TRƯỜNG ĐẠI HỌC BÁCH KHOA
BÁO CÁO BÀI TẬP L N Ớ
Nhóm 8
Môn: V t lý 1 ậ
ĐỀ TÀI 12
XÁC ĐỊ NH QUỸ ĐẠO CHUY ỂN ĐỘ NG NÉM XIÊN
GVHD: Nguyễn Như Sơn Thủy
L p: L21ớ
STT Mã s ố SV Tên Nhi m v ệ ụ được phân công
1
2
3
4
5
Trang 2MỤC L C Ụ
CHƯƠNG 1 MỞ ĐẦU ……… ………… ……… 3
1.1.Yêu c ầu……… 3
1.2.Điề u ki ện……… ……… 3
1.3.Nhi m v ệ ụ……… 3
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT … ……… …… 4
2.1.Lý thuy ết cơ bản……… 4
2.2.Lý thuy t áp d ế ụng……… 4
C HƯƠNG 3 MẪ U MATLAB VÀ GI I THÍCH Ả ……… …5
3.1.M ẫu MATLAB……… ……….… 5
3.2.Gi i thích m ả ẫu MATLAB……… …… …… 6
3.3.Ví dụ……… ……….…… 8
3.4.K t lu ế ận……… ….……10
CHƯƠNG 4 TÀI LIỆU THAM KHẢO ………11
Trang 3CHƯƠNG 1 MỞ ĐẦU
1.1 Yêu c u ầ
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 = mg - hv
Với điều kiện ban đầu x 0y 00;v 0x v cos(0 );v 0y vsin(0 )
Bài t p này yêu c u sinh viên s dậ ầ ử ụng Matlab để ải phương trình chuyển độ gi ng trên, tính toán quỹ đạo và v ẽ đồ thị qu ỹ đạo thay đổi phụ thuộc vào h s lệ ố ực cản
h
1.2 Điều kiện
Sinh viên cần có ki n thế ức về ập trình cơ bả l n trong MATLAB
Tìm hi u các lể ệnh Matlab liên quan symbolic và đồ ọa h
1.3.Nhiệm vụ
Xây dựng chương trình MATLAB
Nhập các giá tr ị m, , v , , t (th i gian bay) h 0 ờ
Thiết lập các phương trình vi phân ứng với x(t) và y(t) Sử dụng các lệnh symbolic
để giả ệi h phương trình
Vẽ trên m t ộ đồ thị quỹ đạo của chất điểm v i các h s khác nhau (ớ ệ ố h h=0,01; 0,05; 0,1; 0,5), các thông số còn lại là như nhau (mỗi quỹ đạo có màu sắc khác nhau)
Trang 4CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 Lý thuyết cơ bản
1 Để giải quyết bài toán, ta sẽ sử dụng kiến thức về chuyển động ném xiên
lên, là một chuyển động vốn đã được đề cập đến trong nội dung chương trình học
2 Ta có phương trình chuyển động ném xiên lên như sau:
x= cos t 𝑣0 y=𝑣0.sin t –1
2g𝑡2
Trong đó:
𝑣0: vận tốc ném ban đầu của vật( m/s)
𝛂:Góc ném alpha( radian)
g: gia tốc trọng trường của Trái Đất( g≈9.8 m/𝑠2)
t: thời gian bay của vật(s) Thời gian bay ở đây là một giá trị biến đổi liên tục từ thời điểm ban đầu( t=0s) cho đến khi vật chạm đất
3 Ởđây, ta sẽ ch n chiọ ều dương cho trục Ox là từ trái sang phải, và chiều dương của trục Oy là t ừ dưới lên
2.2 Áp dụng lý thuy t ế
1 Theo nội dung của đề tài, qu o ném xiên cỹ đạ ủa vật còn ph ụ thuộc vào khối lượng của vật m(kg) và hệ s lố ực cản c a ủ môi trường h được biểu diễn theo phương trình:
m 𝑎 = m − h v g
2 Như ta đã biết, đạo hàm cấp 1 của vị trí sẽ là vận tốc, và đạo hàm cấp 2 vị trí của vật là gia tốc Vậy nên, chúng ta sẽ tìm phương trình thể hiển sự liên hệ giữa gia tốc
và vận tốc, từ đó có được hệ phương trình vi phân tương ứng với quỹ đạo của vật:
Chiếu phương trình trên lên trục Ox ta có:
m a = -h a=− v 𝑚ℎ v
Thay a=x''(t) và v=x'(t), ta được:
x''(t) +ℎ
𝑚.x'(t) = 0 (1)
Tiếp tục chiếu lên trục Oy ta có:
a=−𝑚ℎ v -g
Thay a =y''(t) và v=y'(t):
y''(t) + ℎ
𝑚.y'(t) + g = 0 (2)
Từ (1) và (2), ta có hệ phương trình vi phân:
{ 𝑥′′(𝑡) +
ℎ
𝑚 𝑥′(𝑡) = 0 (𝑡) +
𝑚 𝑦′(𝑡) + 𝑔 = 0
Trang 5Với điều kiện ban đầu x0= y0 =0; 𝑣𝑜𝑥= 𝑣0 cos ; 𝑣0𝑦 =𝑣 𝑠𝑖𝑛0
Giải hệ phương trình này, ta sẽ có x(t) và y(t)
CHƯƠNG 3 MẪU MATLAB VÀ GIẢI
THÍCH
3.1 Mẫu MATLAB
clear
clc
clf
syms x y t
m=input('nhap gia tri khoi luong m(kg)=');
v0=input('nhap gia tri van toc v0(m/s)=');
a=input('nhap gia tri goc nem alpha(rad)=');
h1=input('nhap gia tri hang so luc can h1(kg/s)=');
h2=input('nhap gia tri hang so luc can h2(kg/s)=');
h3=input('nhap gia tri hang so luc can h3(kg/s)=');
h4=input('nhap gia tri hang so luc can h4(kg/s)=');
t0=input('nhap thoi gian chuyen dong t(s)=');
g=9.8
disp('phuong trinh chuyen dong cua vat')
%ung voi luc can h1
x1=dsolve('D2x+(h1/m)*Dx=0','x(0)=0','Dx(0)=v0*cos(a)','t');
x1=eval(x1)
y1=dsolve('D2y+(h1/m)*Dy+g=0','y(0)=0','Dy(0)=v0*sin(a)','t');
Trang 6y1=eval(y1)
z=ezplot(x1,y1, [0,t0]);
set(z,'color','black');
%ung voi luc can h2
hold on
x2=dsolve('D2x+(h2/m)*Dx=0','x(0)=0','Dx(0)=v0*cos(a)','t');
x2=eval(x2)
y2=dsolve('D2y+(h2/m)*Dy+g=0','y(0)=0','Dy(0)=v0*sin(a)','t');
y2=eval(y2)
p=ezplot(x2,y2, [0,t0]);
set(p,'color','red');
%ung voi luc can h3
hold on
x3=dsolve('D2x+(h3/m)*Dx=0','x(0)=0','Dx(0)=v0*cos(a)','t');
x3=eval(x3)
y3=dsolve('D2y+(h3/m)*Dy+g=0','y(0)=0','Dy(0)=v0*sin(a)','t');
y3=eval(y3)
n=ezplot(x3,y3, [0,t0]);
set(n,'color','yellow');
%ung voi luc can h4
hold on
x4=dsolve('D2x+(h4/m)*Dx=0','x(0)=0','Dx(0)=v0*cos(a)','t');
x4=eval(x4)
y4=dsolve('D2y+(h4/m)*Dy+g=0','y(0)=0','Dy(0)=v0*sin(a)','t');
y4=eval(y4)
k=ezplot(x4,y4, [0,t0]);
set(k,'color','green');
grid on
3.2 Giải thích CODE
Giải thích các lệnh được dùng
Clear: xóa các bi n khế ỏi bộ nh ớ
Clc: xóa cửa sổ ệ l nh
Clf: xóa hình ảnh đồ thị ệ ạ hi n t i
Syms: khai báo bi n(x y t) ế
Input: Nhập giá trị đầu vào (Các đầu vào: m,v0,a,h1,h2,h3,h4,t0)
Disp: Hiển th n i d ng cị ộ ụ ủa chuỗi
Dsolve(Solve system of differential equations): Giải phương trình vi phân
Eval(Evaluate) : Đánh giá(xác định) đầu ra giá trị của biểu thức
Hold on: giữ lại đồ thị cũ đã tính trư c đóớ
Ezplot: Tạo một biểu đồ ủa phương trình c
Set: Thiết lập các đặc tính chất cho đối tượng(VD: set(z,’color’,’black’ thiết lập màu đen cho đồ ị th z)
Grid on: Tạo và hi n th ể ị lưới tọa độ
Trang 7Giải thích code
Đầu tiên, ta sẽ nhập dữ liệu đầu vào cho các giá trị m, v0, alpha, t và giá trị h1, h2 h3,h4
để khảo sát Để nhận một giá trị từ bàn phím, ta sẽ sử dụng lệnh input trong Matlab Từ
đó ta có đoạn code từ 5 đến 12 như sau:
m=input('nhap gia tri khoi luong m(kg)=');
v0=input('nhap gia tri van toc v0(m/s)=');
a=input('nhap gia tri goc nem alpha(rad)=');
h1=input('nhap gia tri hang so luc can h1(kg/s)=');
h2=input('nhap gia tri hang so luc can h2(kg/s)=');
h3=input('nhap gia tri hang so luc can h3(kg/s)=');
h4=input('nhap gia tri hang so luc can h4(kg/s)=');
t0=input('nhap thoi gian chuyen dong t(s)=');
Ở dòng 13 ta gán giá trị ủ c a gia tốc trọng trường g=9.8 m/s2
g=9.8
Phần quan trọng nhất của chương trình là tính toán các giá trị x và y tương ứng với các giá trị h nhập vào, xuất ra các đồ thị tương ứng với các trường hợp của mỗi giá trị h:
-Ứng với lực cản h1 ta có
x1=dsolve('D2x+(h1/m)*Dx=0','x(0)=0','Dx(0)=v0*cos(a)','t');
x1=eval(x1)
y1=dsolve('D2y+(h1/m)*Dy+g=0','y(0)=0','Dy(0)=v0*sin(a)','t');
y1=eval(y1)
-Vẽ đồ thị của h1:
z=ezplot(x1,y1, [0,t0]);
set(z,'color','black');
-Ứng với lực cản của h2 ta có:
hold on
x2=dsolve('D2x+(h2/m)*Dx=0','x(0)=0','Dx(0)=v0*cos(a)','t');
x2=eval(x2)
y2=dsolve('D2y+(h2/m)*Dy+g=0','y(0)=0','Dy(0)=v0*sin(a)','t');
y2=eval(y2)
-Vẽ đồ thị của h2 :
p=ezplot(x2,y2, [0,t0]);
set(p,'color','red');
Trang 8-Ứng với lực cản của h3: ta có
hold on
x3=dsolve('D2x+(h3/m)*Dx=0','x(0)=0','Dx(0)=v0*cos(a)','t');
x3=eval(x3)
y3=dsolve('D2y+(h3/m)*Dy+g=0','y(0)=0','Dy(0)=v0*sin(a)','t');
y3=eval(y3)
-Vẽ đồ thị của h3 :
n=ezplot(x3,y3, [0,t0]);
set(n,'color','yellow');
-Ứng với lực cản của h4:
hold on
x4=dsolve('D2x+(h4/m)*Dx=0','x(0)=0','Dx(0)=v0*cos(a)','t');
x4=eval(x4)
y4=dsolve('D2y+(h4/m)*Dy+g=0','y(0)=0','Dy(0)=v0*sin(a)','t');
y4=eval(y4)
-Vé đồ thị của h4:
k=ezplot(x4,y4, [0,t0]);
set(k,'color','green');
-Ta sẽ có phương trình vi phân chiếu lên trục Ox và Oy tương ứng với h1, h2, h3, h4 ở các dòng
-Bằng việc sử dụng lệnh eval, chúng ta có thể đánh giá và tính toán các phương trình vi phân trên
-Sau đó, bằng cách sử dụng lệnh ezplot ta vẽ được đồ thị tương ứng h1, h2 ,h3 ,h4 -Khi ta đưa vào x1,y1, chương trình sẽ vẽ đồ thị dựa trên sự thay đổi của các giá trị x,y dựa vào hệ phương trình tham số được viết
- Khi ta đưa cấu trúc [0,t] vào ezplot, chương trình sẽ hiểu đồ thị được vẽ từ t=0 đến t=t0 -Trước khi vẽ đồ thị tiếp theo, chúng ta sử dụng lệnh hold on với mục đích để giữ lại đồ thị cũ trước khi vẽ đồ thị mới
-Ta sử dụng lệnh set để chỉnh màu cho từng đường đồ thị để dễ dàng cho việc đánh giá và khảo sát Lệnh grid on dùng để kẻ ô lưới cho đồ thị
3.3.Ví dụ
- Ví dụ 1:
Trang 9Mô tả ví d : ném xiên vụ ật có khối lượng 5 kg trong trọng trường trong các trường h p có ợ
h ng s lằ ố ực cản là 0.1 kg/s, 0.2 kg/s, 0.3 kg/s và 0.4 kg/s; với vậ ốc ban đần t u 30 m/s; góc ném alpha là 𝜋
4trong 20s
nhap gia tri khoi luong m(kg)= 5
nhap gia tri van toc v0(m/s)= 30
nhap gia tri goc nem alpha(rad)= 𝜋
4
nhap gia tri hang so luc can h1(kg/s)= 0.1
nhap gia tri hang so luc can h2(kg/s)= 0.2
nhap gia tri hang so luc can h3(kg/s)= 0.3
nhap gia tri hang so luc can h4(kg/s)= 0.4
nhap thoi gian chuyen dong t(s)= 20
- Ví dụ 2:
Trang 10Mô tả ví d : ném xiên vụ ật có khối lượng 10 kg trong trọng trường trong các trường h p ợ
có hằng s lố ực cản là 0.2 kg/s, 0.4 kg/s, 0.6 kg/s và 0.8 kg/s; v i vớ ận tốc ban đầu 40 m/s; góc ném alpha là 𝜋
3 trong 15s
nhap gia tri khoi luong m(kg)= 10
nhap gia tri van toc v0(m/s)= 40
nhap gia tri goc nem alpha(rad)= 𝜋
3
nhap gia tri hang so luc can h1(kg/s)= 0.2
nhap gia tri hang so luc can h2(kg/s)= 0.4
nhap gia tri hang so luc can h3(kg/s)= 0.6
nhap gia tri hang so luc can h4(kg/s)= 0.8
nhap thoi gian chuyen dong t(s)=15
3.4 K T LU N Ế Ậ
Từ kết quả đã được th c nghiự ệm ở ph n 3.4, chúng ta có th k t lu n v qu o cầ ể ế ậ ề ỹ đạ ủa chuyển động ném xiên lên trong trọng trường có lực cản môi trường như sau:
1 Trong cùng một điều ki n ném, các thông sệ ố m , 0 v , , t là không đổi, khi
h s lệ ố ực cản h tăng dần thì t m cao và t m xa cầ ầ ủa đường cong quỹ đạo s ẽ
Trang 11gi m dả ần Như trong ví d 1, ta nh n th y rụ ậ ấ ằng đường cong màu đen ứng
v i h = 0.1 ớ có tầm cao và t m xa là l n nh t, và t h2 tr ầ ớ ấ ừ ở đi ta thầ ầy t m cao
và xa giảm d n ng vầ ứ ới đường đỏ là h2 màu vàng là h3 màu xanh lá là h4
2 Kết quả này là phù h p vợ ới điều ki n thệ ực tế khi thực hiện ném xiên trong điều kiện cản tr cở ủa môi trường càng lớn do ảnh hưởng bởi các yếu t ố ngoại cảnh (gió, ma sát không khí…) đượ- c minh ho b ng h s lạ ằ ệ ố ực cản h thì tầm cao và t m xa c a cú ném s ầ ủ ẽ càng bị ả gi m d n ầ
CHƯƠNG 4 TÀI LIỆU THAM KHẢO
A L Garcia and C Penland, MATLAB Projects for Scientists and Engineers, Prentice Hall, Upper Saddle River, NJ, 1996 http://www.algarcia.org/fishbane/fishbane.html
B Giá o t rì nh Vật lí đại cương A1
C Bài t p Vậ ật lí đại cương A1, NXB Đạ ọi h c Qu c gia TPHCMố