Word BTL Lýa1 19.11.23

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 21

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA



Bài Tập Lớn – Vật Lý Đại


Cương A1
- “Vẽ quỹ đạo chuyển động ném xiên
trong trọng trường bỏ qua lực cản và
xác định một vài thông số liên quan” -

GVHD: TS.Lý Anh Tú

PAGE \* MERGEFORMAT 2 | PTRang161age


Lớp: L20
Danh sách nhóm:

PAGE \* MERGEFORMAT 2
STT Họ và tên sinh viên MSSV Gmail

1 Nguyễn Minh Chiến 2310348 chien.nguyen2025y@hcmut.edu.vn


2 Bùi Hoàng Danh 2130407 danh.buibhdanh2002@hcmut.edu.vn
3 Nguyễn Công Danh 2310416 danh.nguyen2310416@hcmut.edu.vn
4 Nguyễn Đức Dũng 2310556 dung.nguyenduc2703@hcmut.edu.vn
5 Nguyễn Hùng Dũng 2310557 dung.nguyenhung10557@hcmut.edu.vn

PAGE \* MERGEFORMAT 2
MỤC LỤC
LỜI NÓI ĐẦU 4

PHẦN NỘI DUNG


I. Yêu cầu và nhiệm vụ 5

1. Yêu cầu 5

2. Điều kiện 5

3. Nhiệm vụ 5

II. Kiến thức vận dụng 5

III. Thuật toán 12

IV. Viết chương trình trên Matlab 12

V. Thực hiện yêu cầu 15


VI.Giải thích code 16

VII. Nhận xét 19

VIII. Kết luận 19

TÀI LIỆU THAM KHẢO 19

PAGE \* MERGEFORMAT 2
DANH MỤC HÌNH VẼ

Hình 1. 1: Chuyển động ném ngang


Hình 1. 2: Vecto vị trí
Hình 1. 3: Vecto vận tốc
Hình 1. 4: Vecto gia tốc tức thời
Hình 1. 5: Gia tốc tiếp tuyến và pháp tuyến
Hình 1. 6: Công thức về gia tốc

PAGE \* MERGEFORMAT 2
LỜI MỞ ĐẦU

Vật lý đại cương 1 là môn học đại cương có tầm quan trọng đối với sinh
viên ĐH Bách Khoa TPHCM nói riêng và sinh viên các ngành khối khoa học kỹ
thuật – công nghệ nói chung. Do đó, việc dành cho môn học này một khối lượng
thời gian nhất định và thực hành là điều tất yếu để giúp cho sinh viên có được cơ
sở vững chắc về các môn KHTN và làm tiền đề để học tốt các môn khác trong
chương trình đào tạo.
Sự phát triển của toán tin ra đời đã hỗ trợ rất lớn trong quá trình phát triển
của các môn học vật lý. Việc ứng dụng tin học trong quá trình giải thích các cơ
sở dữ liệu của vật lý, giải các bài toán vật lý đã làm cho thời gian bỏ ra được rút
ngắn lại và mang hiệu quả cao hơn. Như ta đã biết, phần mềm ứng dụng Matlab
đã giải quyết được các vấn đề đó. Vì thế việc tìm hiểu matlab và ứng dụng
matlab trong việc thực hành môn học vật lý đại cương 1 rất quan trọng và có
tính cấp thiết cao.
Ở bài tập lớn này, nhóm thực hiện nội dung “Vẽ quỹ đạo chuyển động
ném xiên trong trọng trường bỏ qua lực cản và xác định một vài thông số liên
quan” thông qua phần mềm Matlab. Bên cạnh đó, tính các thông số khác như
bán kính cong của quỹ đạo. Đây là bài toán quan trọng và phổ biến trong
chương Động học chất điểm.

Sau đây là nội dung tìm hiểu bài tập lớn của nhóm. 😊

PAGE \* MERGEFORMAT 2
PHẦN NỘI DUNG
I. Yêu cầu và nhiệm vụ

1. Yêu cầu

Sử dụng Matlab để giải bài toán sau:


“Một quả bóng được bắn từ mặt đất vào không khí tại độ cao 6 m với vận tốc
m/s. Bỏ qua sức cản của không khí. Xác định độ cao cực đại và tầm bay xa
của quả bóng. Lấy g =10 m/s2. Vẽ quỹ đạo của quả bóng.

2. Điều kiện
1) Sinh viên cần có kiến thức về lập trình cơ bản trong MATLAB.
2) Tìm hiểu các lệnh Matlab liên quan symbolic và đồ họa.

3. Nhiệm vụ
Xây dựng chương trình Matlab:
1) Nhập các giá trị ban dầu (những đại lượng đề cho).
2) Thiết lập các phương trình tương ứng. Sử dụng các lệnh symbolic để giải hệ phương
trình.
3) Vẽ quỹ đạo của vật.

II. Kiến thức vận dụng


1. Lí thuyết

1.1 Chuyển động ném ngang

 Chọn hệ trục toạ độ và gốc thời gian

- Chọn hệ trục toạ độ xOy, trục Ox hướng theo vecto vận tốc ⃗v , trục Oy hướng theo
vecto trọng lực ⃗P.

PAGE \* MERGEFORMAT 2
- Gốc thời gian là lúc bắt đầu ném.
 Phân tích cuyển động ném ngang

1.1 Chuyển động ném ngang


- Chuyển động ném ngang có thể phân tích thàn hai chuyển động thành phần theo
hai trục toạ độ. Chuyển động của các hình chiếu Mx và My trên các trục Ox và Oy gọi là
các chuyển động thành phần của vật M.
+ Chuyển động thành phần theo trục Ox là chuyển động thẳng đều với các phương trình:

{
v 0 x =v 0
ax =0
v x =0

+ Chuyển động thành phần theo trục Oy là chuyển động rơi tự do với cá phương trình:

{
v 0 y =0
a y =g
v y =g . t

+ Phương trình chuyển động của vật là:

{
x=v 0 .t
2
g .t
y=
2

PAGE \* MERGEFORMAT 2
1.2 Quỹ đạo chuyển động
- Quỹ đạo là đường mà chất điểm vạch lên trong không gian suốt quá trình chuyển
động. Phương trình quỹ đạo là phương trình biểu diễn mối liên hệ giữa các độ
không gian chất điểm.

- Vecto vị trí chất điểm

. i+ y . ⃗j + z . ⃗k
r⃗ =x ⃗

{ }
x=f ( t )
M y=g ( t )
z=h(t )

Hình 1.2: Vecto vị trí

- Trên đây là phương trình tham số tổng quát của chất điểm chuyển động trong hệ toạ
độ không gian Oxyz. Theo đề bài, có thể coi hệ toạ độ Oxy là trường hợp đặc biệt
được suy ra từ trường hợp tổng quát này.

Khi đó: Tập hợp các giá trị (x;y) tương ứng với mỗi giá trị t sẽ tạo thành một đường
cong gọi là quỹ đạo chuyển động của chất điểm.

1.3 Vận tốc và gia tốc

PAGE \* MERGEFORMAT 2
1.3.1 Vận tốc

- Vecto vận tốc đặc trưng cho phương chiều và độ nhanh chậm của chuyển động

- Vận tốc tức thời lúc t:

Δ ⃗r d ⃗r
⃗v = =
Δt dt

- ⃗v tiếp tuyến quỹ đạo, hướng theo chiều chuyển động.

Hình 1.3: Vectơ vận tốc

- Trong hệ toạ độ Descartes :

r⃗ =x . ⃗i + y . ⃗j + z . ⃗k

d r⃗ dx ⃗ dy ⃗ dz ⃗
⃗v = = i+ j+ k
d t⃗ dt dt dt

¿ v x i⃗ + v y ⃗j+ v z ⃗k

v=√ (v x ) +(v y ) +(v z )


2 2 2

PAGE \* MERGEFORMAT 2
1.3.2 Gia tốc

Vector gia tốc a⃗ đặc trưng cho sự


thay đổi cả về phương, chiều và độ
lớn của vector vận tốc.

 Vectơ gia tốc tức thời a⃗ :

d ⃗v d v x ⃗ d v y ⃗ d v z ⃗
a⃗ = = i+ j+ k
d ⃗t dt dt dt

¿ a x i⃗ +a y ⃗j+ a z ⃗k

a=√ (ax )2+(a y )2 +(a z)2 Hình 1.4: Vecto gia tốc tức thời

Với:

{ }
ax=( vx )' ( t )=x '' ( t )
' ''
ay= ( vy ) (t )= y (t )
'
az=( vz ) ( t )=z ' ' (t)

Vectơ gia tốc tức thời được chiếu phương tiếp tuyến và phương pháp tuyến, ta có
gia tốc tiếp tuyến⃗
a t gia tốc pháp tuyến⃗
a n.

a⃗ =⃗
a t +⃗
an a=√ at 2+ an2

PAGE \* MERGEFORMAT 2
Hình 1.5: Gia tốc tiếp tuyến và pháp tuyến

 Vecto gia tốc tiếp tuyến a⃗ t :

- Vecto gia tốc tiếp tuyến a⃗ t đặc trưng cho sự biến đổi về độ lớn của vectơ vận tốc.

- Phương trùng với tiếp tuyến quỹ đạo

- Chiều:
dv >0 , v 2> v 1 : chuyển động nhanh dần=¿ ⃗at ↑ ↑ ⃗v dv <0 , v 2 < v 1 :chuyển động chậm dần=¿ a⃗ t ↑↓ v⃗

dv '
- Độ lớn: a t= dt =v ( t )

 Vecto gia tốc pháp tuyến a⃗ n

- Vecto gia tốc pháp tuyến a⃗ n đặc


trưng cho sự thay đổi về phương
của vecto vận tốc.

PAGE \* MERGEFORMAT 2
- Phương trùng với phương pháp tuyến của quỹ đạo tại vị trí đang xét.

- Chiều hướng về tâm quỹ đạo.


2
v
- Độ lớn: a n=√ a2−at2 =
R

2.Các bước làm bài:

{
Độ cao y o=6
- Giả sử : V o x=3 là những dữ kiện đầu vào
V o y=4

−1 o V y
- Ta có: α = tan V x = 53o
o

- Độ cao lớn nhất vật đạt được là:


2 2
Vo y 4
H max = y o + =6+ =¿ 6.82 (m)
2g 2× 9.8

- Tầm bay xa của vật:

( ) (
V o y + √ V o y +2 × y o × g
)
4+ √ 42 +2 ×6 × 9.8
2
L = Vo x× = 3× =4.6986
g 9.8

III. Thuật toán

PAGE \* MERGEFORMAT 2
Bước 1: Nhập phương trình chuyển động ném xiên của vật, biểu thức tính bán
kính cong và thời gian vật chạm đất.

Bước 2: Chạy chương trình:


- Hiển thị quỹ đạo của vật từ thời điểm t=0 cho đến lúc vật chạm đất.
- Xuất ra các giá trị bán kính cong R tại thời điểm t.

IV. Viết chương trình trên Matlab

clc
close all

g = 10;
x = 0;
dt = 0.01;
t = 0;

% Yêu cầu nhập độ cao ban đầu của vật


while true
y = input('Nhập độ cao ban đầu của vật (m): ');
if y >= 0
break;
else
disp('Giá trị không hợp lệ. Vui lòng nhập lại.');
end

PAGE \* MERGEFORMAT 2
end

% Yêu cầu nhập giá trị Vox


while true
vx = input('Nhập vào giá trị Vox (m/s): ');
if vx >= 0
break;
else
disp('Giá trị không hợp lệ. Vui lòng nhập lại.');
end
end

% Yêu cầu nhập giá trị Voy


while true
vy = input('Nhập vào giá trị Voy (m/s): ');
if vy >= 0
break;
else
disp('Giá trị không hợp lệ. Vui lòng nhập lại.');
end
end

% Tính góc ném Alpha


alpha = atan2d(vy, vx);
disp(['- Góc ném Alpha là: ' num2str(alpha) ' độ ('
num2str(alpha*pi/180) ' rad)']);

% Tính độ cao cực đại


Hmax = y + (vy^2)/(2*g);
disp(['- Độ cao cực đại của vật là: ' num2str(Hmax) ' m']);
PAGE \* MERGEFORMAT 2
% Tính tầm bay xa của vật
L = vx * (vy + sqrt(vy^2 + 2*y*g))/g;
disp(['- Tầm bay xa của vật là: ' num2str(L) ' m']);

hold on

% Thiết lập đồ thị


fig_quabong = plot(x, y, 'gx', 'MarkerSize', 10,
'markerfacecolor', 'c');
axis equal;
axis([0 20 0 20]);
xlabel('x (m)');
ylabel('y (m)');
grid on;
hold on;
title('Ðồ thị chuyển động của vật');

% Xác định quỹ đạo chuyển động trên đồ thị


while y >= 0
t = t + dt;
ay = -g;
vx = vx + 0;
vy = vy + ay * dt;
x = x + vx * dt;
y = y + vy * dt + 0.5 * ay * dt^2;
plot(x, y, 'o', 'markersize', 0.5, 'color', 'b');
set(fig_quabong, 'xdata', x, 'ydata', y);
pause(0.025);
end
PAGE \* MERGEFORMAT 2
V. Thực hiện yêu cầu

PAGE \* MERGEFORMAT 2
VI. Ý nghĩa của code:

clc: Là lệnh xóa màn hình command window để làm sạch không gian làm việc.

close all: Là lệnh đóng tất cả các cửa sổ đồ thị để bắt đầu với không gian làm việc
trống trải.

g = 10: Gán giá trị 10 cho biến g, đại diện cho gia tốc của trọng trường.

x = 0: Khởi tạo biến x với giá trị 0, là vị trí theo trục x.

dt = 0.01: Khởi tạo biến dt với giá trị 0.01, đại diện cho khoảng thời gian giữa các
bước thời gian trong vòng lặp.

t = 0: Khởi tạo biến t với giá trị 0, là biến thời gian.

while true...end: Bắt đầu một vòng lặp vô hạn.

input('Nhập độ cao ban đầu của vật (m): '): Yêu cầu người dùng nhập giá trị cho
độ cao ban đầu của vật, và gán giá trị đó cho biến y.

if y >= 0...end: Kiểm tra nếu giá trị y là không âm, thoát khỏi vòng lặp while.

disp('Giá trị không hợp lệ. Vui lòng nhập lại.'): Hiển thị thông điệp nếu giá trị
nhập vào không hợp lệ.

end: Kết thúc câu lệnh if.

while true...end: Tương tự như trên, vòng lặp để nhập giá trị cho vx (Vox).

while true...end: Tương tự như trên, vòng lặp để nhập giá trị cho vy (Voy).

alpha = atan2d(vy, vx): Tính góc ném alpha (góc tạo bởi vector vận tốc ban đầu)
và chuyển đổi nó thành đơn vị độ.

disp(['- Góc ném Alpha là: ' num2str(alpha) ' độ (' num2str(alpha*pi/180) '
rad)']): Hiển thị thông điệp với giá trị của góc ném alpha cả ở đơn vị độ và radian.

Hmax = y + (vy^2)/(2*g): Tính độ cao cực đại (Hmax) của vật.

PAGE \* MERGEFORMAT 2
disp(['- Độ cao cực đại của vật là: ' num2str(Hmax) ' m']): Hiển thị thông điệp
với giá trị của độ cao cực đại của vật.

L = vx * (vy + sqrt(vy^2 + 2yg))/g: Tính tầm bay xa (L) của vật.

disp(['- Tầm bay xa của vật là: ' num2str(L) ' m']): Hiển thị thông điệp với giá trị
của tầm bay xa của vật.
hold on: Đặt chế độ giữ các đối tượng đồ thị hiện tại khi thêm các đối tượng mới
vào đồ thị.

fig_quabong = plot(x, y, 'gx', 'MarkerSize', 10, 'markerfacecolor', 'c'): Vẽ một


điểm màu xanh lá cây (gx) tại vị trí ban đầu của vật trên đồ thị.

axis equal: Thiết lập tỷ lệ trục x và trục y là bằng nhau để đảm bảo đồ thị không bị
méo.

axis([0 30 0 20]): Thiết lập giới hạn của trục x và trục y trên đồ thị.

xlabel('x (m)'): Đặt nhãn cho trục x.

ylabel('y (m)'): Đặt nhãn cho trục y.

grid on: Hiển thị lưới trên đồ thị.

hold on: Tiếp tục giữ các đối tượng đồ thị.

title('Đồ thị chuyển động của vật'): Đặt tiêu đề cho đồ thị.

while y >= 0: Bắt đầu vòng lặp while, chạy khi độ cao của vật còn lớn hơn hoặc
bằng 0.

t = t + dt; ay = -g; vx = vx + 0; vy = vy + ay * dt; x = x + vx * dt; y = y + vy * dt


+ 0.5 * ay * dt^2; plot(x, y, 'o', 'markersize', 0.5, 'color', 'b'); set(fig_quabong,
'xdata', x, 'ydata', y); pause(0.025); end: Các câu lệnh trong vòng lặp while chạy
để mô phỏng chuyển động của vật theo thời gian. Các giá trị của x và y được cập
nhật theo các phương trình chuyển động và đồ thị được vẽ liên tục trong quá trình
chuyển động.

pause(0.025) dùng để tạo độ trễ giữa các bước của đồ thị và tạo hiệu ứng thị
giác khi chuyển động diễn ra.

PAGE \* MERGEFORMAT 2
end: Kết thúc vòng lặp while

PAGE \* MERGEFORMAT 2
VII. Nhận xét:
*Ưu điểm:
 Tính toán dễ dàng, tiện lợi, cho kết quả chính xác như cách phổ thông.
 Giúp hiểu thêm về ứng dụng Matlab trong các bài toán kỹ thuật.
 Tiết kiệm thao tác và thời gian so với cách tính phổ thông.
*Khuyết điểm:
 Thiết kế đoạn code mất nhiều thời gian, công sức.
 Chỉ làm trong phạm vi chủ đề được chỉ định, chưa sáng tạo sang các chủ
đề tính toán kỹ thuật khác.
VIII. Kết luận
Với sự phân công chuẩn bị kỹ lưỡng và cố gắng hết mình, nhóm đã hoàn thành
đề tài được giao và Matlab cho ra kết quả như mong muốn.
Qua phần bài tập lớn này nhóm đã:
 Biết được thao tác giải toán trên Matlab.
 Nâng cao sự hứng thú đối với môn học.
 Trau dồi kỹ năng học tập và làm việc nhóm.
 Nâng cao tinh thần trách nhiệm và thắt chặt tình đoàn kết của các thành
viên trong nhóm nói riêng và các bạn khoa Điện- Điện tử nói chung.

Danh mục tài liệu tham khảo


1/ 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.
2/ Giáo trình vật lí đại cương A1 – ĐHQG TPHCM.

PAGE \* MERGEFORMAT 2

You might also like