You are on page 1of 2

BM Vật lý Ứng dụng, Khoa KHUD, ĐHBK TP.

HCM Bài tập lớn Matlab – Vật lý A1

Bài tập 16:


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”
1. Yêu cầu

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


“Hai vật được ném lên từ mặt đất với cùng vận tốc ban đầu v 0. Coi trọng trường trái đất là đều và
bỏ qua sức cản không khí. Với góc ném α1 (góc này là đại lượng được nhập vào ở mỗi lần chạy
matlab) cho trước, tìm góc ném α2 để 2 vật có cùng tầm ném xa?”

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.
Xuất kết quả ra màn hình.
3) Vẽ hình quỹ đạo của vật tương ứng với 2 góc ném.

Chú ý: Sinh viên có thể dùng các cách tiếp cận khác.

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.

CÁC EM K22 KHÔNG NÊN BÊ Y NGUYÊN VÀO NỘP


NHÉ, CÓ GÌ LÀ TẤT CẢ CHÚNG TA ĐỀU BỊ BẾ ĐẤY!!!
THAM KHẢO THUI NHEN. HÃY CHỪA ĐƯỜNG SỐNG
CHO THẾ HỆ SAU VÌ 1 TƯƠNG LAI RA TRƯỜNG
ĐÚNG HẠN

1/1
BM Vật lý Ứng dụng, Khoa KHUD, ĐHBK TP.HCM Bài tập lớn Matlab – Vật lý A1

CODE:

close all;
clc;
clear;

% Khởi tạo các giá trị ban đầu


v0 = 15;
g = 10;
a1 = 60;

% Viết các phương trình cần dùng


syms a t
vx = v0*cos(a/180*pi);
vy = v0*sin(a/180*pi);
x = vx*t;
y = vy*t - 1/2*g*t^2;
L = v0^2*sin(2*a/180*pi)/g;

% Tìm góc alpha hai


a2 = solve([L == subs(L, a, a1), a ~= a1, a > 0, a < 90], a);

% Kết quả phương trình theo góc alpha thứ nhất


x1 = subs(x, a, a1);
y1 = subs(y, a, a1);
% Tính thời gian chuyển động
t1 = single(solve(x1 == subs(L, a, a1), t));

% Kết quả phương trình theo góc alpha thứ hai


x2 = subs(x, a, a2);
y2 = subs(y, a, a2);
% Tính thời gian chuyển động
t2 = single(solve(x2 == subs(L, a, a1), t));

% Kiểm tra thời gian có âm hay không


if (t1 < 0) || (t2 < 0)
disp("Error")
return
end

1/2

You might also like