Báo cáo của bài tập lớn Vậy Lý 1 ĐH Bách Khoa, Đề tài: Bài 11_Xác định phương trình quỹ đạo của tên lửa bằng công cụ Matlab. Yêu cầu:Tên lửa dịch chuyển bằng dòng khí đẩy từ đuôi. Dòng khí đẩy này sinh ra bằng các phản ứng đốt cháy nhiên liệu chứa trong tên lửa nên khối lượng của nó giảm dần theo thời gian. Giải phương trình định luật II Newtom cho tên lửa:m dvdt=vdmdtmg
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KỸ THUẬT GIAO THÔNG LỚP VIỆT PHÁP HÀNG KHÔNG K20 NĂM HỌC 2020-2021 Báo cáo tập lớn môn Vật Lý Đề tài: Bài 11_Xác định phương trình quỹ đạo tên lửa công cụ Matlab SV: Nguyễn Viết Minh Quân MSSV: 2010558 Lớp: VP20HK TP HCM 5/2021 1|Page MỤC LỤC Contents I PHẦN 1: GIỚI THIỆU ĐỀ TÀI .3 Yêu cầu: Điều kiện: 3 Nhiệm vụ: II PHẦN 2: CƠ SỞ LÝ THUYẾT Định luật II Newton: Động lượng: Định luật bảo toàn động lượng: .4 III PHẦN 3: GIẢI BÀI TOÁN IV PHẦN 4: Các hàm MATLAB sử dụng tốn đoạn code hồn chỉnh Tổng quan chương trình MATLAB: Các hàm MATLAB sử dụng toán: Trình tự tạo lập dịng lệnh để giải toán .10 Đoạn code hoàn chỉnh cho toán: 11 Bộ test chạy thử đoạn code MATLAB: 13 2|Page I PHẦN 1: GIỚI THIỆU ĐỀ TÀI Xác định phương trình chuyển động tên lửa đẩy Yêu cầu: Tên lửa dịch chuyển dịng khí đẩy từ Dịng khí đẩy sinh phản ứng đốt cháy nhiên liệu chứa tên lửa nên khối lượng giảm dần theo thời gian Giải phương trình định luật II Newtom cho tên lửa: Với m khối lượng tên lửa, v’ vận tốc dịng khí Giải phương trình ta xác định gia tốc tên lửa từ ta suy phương trình chuyển động Bài tập yêu cầu sinh viên sử dụng MATLAB để biểu diễn đồ thị phương trình chuyển động tên lửa y(t) Điều kiện: Sinh viên cần có kiến thức lập trình MATLAB Tìm hiểu lệnh MATLAB liên quan đến symbolic đồ họa Nhiệm vụ: Xây dựng chương trình MATLAB 1) Nhập vào thông số tốc độ đốt nhiên liệu dm/dt, khối lượng, vị trí ban đầu tên lửa, vận tốc đẩy khí tên lửa v’ 2) Sử dụng cơng cụ Symbolic để xác định phương trình chuyển động tên lửa biểu diễn đồ thị Chú ý: sinh viên sử dụng cách tiếp cận khác không cần dùng symbolic 3|Page II PHẦN 2: CƠ SỞ LÝ THUYẾT Định luật II Newton: Một vật chịu tác dụng tổng hợp lực có gia tốc hướng với tổng hợp lực có độ lớn tỷ lệ thuận độ lớn lực tỷ lệ nghịch với khối lượng vật: Biểu thức: hay (1) Trong đó: tổng hợp lực tác dụng m (kg) khối lượng vật (m/s2) gia tốc vật Động lượng: Động lượng vật có khối lượng m di chuyển với vận tốc đại lượng xác định công thức: (2) Đơn vị động lượng kg.m/s Định luật bảo tồn động lượng: Từ phương trình (1) (2), ta có: Từ (3) ta thấy tức vật khơng có lực tác dụng có lực cân làm tổng hợp lực 0, động lượng Hay ta nói động lượng bảo tồn hệ cô lập III PHẦN 3: GIẢI BÀI TỐN Chọn hệ trục tọa độ hình vẽ: 4|Page Tên lửa lên theo phương Oy, ta cần tìm phương trình chuyển động y(t) Mặt đất Áp dụng định lý bảo toàn động lượng cho hệ tên lửa nhiên liệu Tại thời điểm : Động lượng tên lửa là: Tại thời điểm Động lượng tên lửa là: Chú ý: tên lửa giảm khối lượng khí Trong thời giam Chú ý: khí với vận tốc khơng đổi so tên lửa nên vận tốc khí so với hệ quy chiếu xOy Động lượng khí quãng thời gian nhỏ là: Bảo toàn động lượng cho thời thời điểm , ta có: 5|Page (bỏ qua phần vơ bé ) lực đẩy khí tác dụng lên tên lửa là: Đặt tên lửa trộng trường ta có thêm trọng lực (P = mg) tác dụng lên tên lửa, ta có phương trình ĐL Newton cho tên lửa: Để giải phương trình vi phân (1) ta cần biết mối quan hệ giữu khối lượng tên lửa thời gian Ta nhận thấy khối lượng khí v’ không đổi so với tên lửa nên khối lượng tên lửa giảm theo hàm tuyến tính theo thời gian, đó: Suy ra: (1) Vậy, vận tốc tên lửa là: (2) Gia tốc vủa tên lửa tính theo: Vậy, gia tốc tên lửa là: Phương trình chuyển động tên lửa theo thời gian: Vậy, phương trình chuyển động tên lửa là: IV PHẦN 4: Các hàm MATLAB sử dụng tốn đoạn code hồn chỉnh 6|Page Tổng quan chương trình MATLAB: - Matlab (viết tắt matrix laborary) ngơn ngữ lập trình bậc cao bốn hệ, mơi trường để tính tốn số học, trực quan lập trình Được phát triển MathWorks - Nó cho phép thao tác với ma trận, vẽ biểu đồ với hàm số liệu, thực thuật toán, tạo giao diện người dùng, bao gồm C,C++, Java Fortran ; phân tích liệu, phát triển thuật toán, tạo kiểu mẫu ứng dụng - Nó có nhiều lệnh hàm tốn học nhằm hỗ trợ đắc lực cho bạn việc tính tốn, vẽ hình vẽ, biểu đồ thơng dụng thực thi phương pháp tính tốn Các hàm MATLAB sử dụng toán: a Lệnh Function: Cú pháp “function example”; Ý nghĩa: Tạo hàm MATLAB, tên hàm “example” Trong Matlab ta tạo hàm gồm tập hợp nhiều dòng lệnh thực liên tiếp cách tạo function New Script lưu hàm file có m b Lệnh disp: cú pháp disp(x); disp(y);… ,disp(‘chuỗi ký tự’); Dùng để xuất giá trị chuỗi ký tự màng hình Ví dụ: >>disp(‘Monday, June 14, 2020’) >>x=sqrt(4) >>disp(x) c Lệnh syms: cú pháp syms x; Dùng để khai báo biến biến ký tự Để biến đổi số, biến hay đối tượng thành kiểu Symbolic ta sử dụng cách sau: >>s=sym(A) 7|Page >>x=sym(x) >>syms x y z % khai báo kết hợp → x, y z biến symbolic d Lệnh diff: cú pháp diff(x,1); diff(y,2);… Dùng để hàm bậc1, bậc2,… hàm x, y,… Ví dụ: >> syms x; >> f = x^2− cos(x); >> diff(f) ans = 2*x - sin(x) Dòng lệnh dùng để tìm đạo hàm cấp hàm Và cho kết e Lệnh int: cú pháp int(x); int(y);… Dùng để tích phân hàm x, y, … Ví dụ: >> syms x >> int(x^3*atan(x),x) ans = 1/4*x^4*atan(x)-1/12*x^3+1/4*x-1/4*atan(x) Dịng lệnh dùng để tính tích phân bất định hàm Matlab cho ta kết f Lệnh ezplot: Cú pháp ezplot(x,y); explot(x,y);… Dùng để vẽ đồ thị hàm y(x), y(t), … Ví dụ: >> syms x % khai báo x biến kiểu symbolic >> y=sin(x^3); >> ezplot(x,y) %ve y theo x 8|Page g Lệnh title: Cú pháp title(‘Chuỗi ký tự’); Dùng để đặt tên cho đồ thị h Lệnh xlabel; ylable: Cú pháp xlabel(‘chuỗi ký tự’); ylabel(‘chuỗi ký tự’);… Dùng để đặc tên cho trục Ox, Oy đồ thị Trình tự tạo lập dịng lệnh để giải tốn ý nghĩa chúng Dòng lệnh function tenlua; disp(‘Ten lua phut day xuat phat tu mat dat huong thang dung len tren’); disp(‘khí phut voi van toc khong doi lam day ten lua chuyen dong’); disp(‘Phuong trinh dinh luat II Newton cho ten lua la’); disp(‘m*dv/dt = -v0*dm/dt – mg’); syms t; g=input(‘Nhap gia tri gia toc truong noi phong ten lua =’); Ý nghĩa Tạo hàm tên tenlua Xuất nội dung hình Xuất nội dung hình Xuất nội dung hình Xuất nội dung hình Khai báo biến thời gian t biến ký tự Nhập vào giá trị g 9|Page alpha=input(‘Nhap he so giam khoi luong cua ten lua dm/dt = ‘); Nhập vào giá trị ứng với đẳng thức m0=input(‘Nhap khoi luong ban dau cua Nhập giá trị khối lượng ban đầu ten lua m0 = ‘); tên lửa v0=input(‘Nhap van toc day cua ten Nhập vận tốc khí lua v0 = ‘); disp(‘Van toc cua ten lua o thoi diem t la:’); Xuất nội dung hình v=-v0*log((m0-alpha*t)/m0)-g*t ; Tính giá trị vận tốc thời điểm t Xuất nội dung hình disp(‘Gia toc cua ten lua tai thoi diem t =’); a=diff(v,1); disp(a); disp(‘Phương trình chuyển động ten lua theo thoi gian t là:’); y=int(v); disp(y); disp(‘Đo thi cua ham y(t) nhu sau’); Tính đạo hàm bậc v Xuất hình giá trị a Xuất nội dung hình Gán y tích phân v Xuất hình giá trị a Xuất nội dung hình ezplot(t,y); title(‘Do thi bieu dien phuong trinh chuyen dong cua ten lua’); xlabel(‘Thoi gian t’); ylabel(‘Vi tri y’); Vẽ đồ thị hàm y(t) Đặt tên cho đồ thị end Kết thúc chương trình Đặt tên cho trục x y Đoạn code hoàn chỉnh cho tốn: function tenlua disp('Tên lửa khí đẩy xuất phát mặt đất hướng thẳng đứng lên trên'); disp('Khí với vận tốc không đổi tên lửa chuyển động'); disp('Phương trình định luật II Newton cho tên lửa là:'); disp('m*dv/dt = -v0*dm/dt – mg'); syms t; g=input('Nhập giá trị gia tốc trọng trường nơi phóng tên lửa ='); 10 | P a g e alpha=input('Nhập hệ số giảm khối lượng tên lửa dm/dt ='); m0=input('Nhập khối lượng ban tên lửa m0 ='); v0=input('Nhập vận tốc đẩy khí củaa tên lửa ='); disp('Gia tốc tên lửa thời điểm t ='); v=-v0*log((m0-alpha*t)/m0)-g*t ; a=diff(v,1); disp(a); disp('Phương trình chuyển động tên lửa t là:'); y=int(v); disp(y); disp('Đồ thị hàm y(t) sau'); ezplot(t,y); title('Đồ thị chuyển động tên lửa'); xlabel('Thoi gian t'); ylabel('Vi tri y'); grid on; end 11 | P a g e 12 | P a g e Bộ test chạy thử đoạn code MATLAB: Lấy tên lửa R-7 nga làm ví dụ, khối lượng tên lửa khoảng 280 tấn, có tần đốt nhiên liệu coi vận tốc nhiên liệu 1800 m/s, độ giảm khối lượng tên lửa giây (alpha=2000kg) Chạy thử toán Matlab ta được: 13 | P a g e ... ra: (1) Vậy, vận tốc tên lửa là: (2) Gia tốc vủa tên lửa tính theo: Vậy, gia tốc tên lửa là: Phương trình chuyển động tên lửa theo thời gian: Vậy, phương trình chuyển động tên lửa là: IV PHẦN 4:... Newton cho tên lửa: Để giải phương trình vi phân (1) ta cần biết mối quan hệ giữu khối lượng tên lửa thời gian Ta nhận thấy khối lượng khí v’ khơng đổi so với tên lửa nên khối lượng tên lửa giảm... chứa tên lửa nên khối lượng giảm dần theo thời gian Giải phương trình định luật II Newtom cho tên lửa: Với m khối lượng tên lửa, v’ vận tốc dịng khí Giải phương trình ta xác định gia tốc tên lửa