Phát triển từ chương trình “Rơi tự do” viết bằng ngôn ngữ Matlab, ta mở rộng bài toán thành chuyển động hai chiều của vật trong trường trọng lực đều, hay còn gọi chuyển động ném xiên.
Trên trang Vật lý kỹ thuật cũng đã có chương trình chuyên nghiệp dành riêng cho mô phỏng chuyển động ném xiên. Có thể tìm hiểu và tải chương trình tại đây.
Xét một vật bị ném từ độ cao 20 m, tức vị trí ban đầu: \(x=0,y=20\), với vận tốc đầu 30 m/s chếch 60 độ theo phương ngang. Trạng thái ban đầu ấy được cho như sau:
1 2 3 4 5 6 7 8 9 | %% INPUT DATA x = 0; y = 20; v = 30; alpha = 60; t = 0; dt = 0.01; |
Phạm vi quan sát ta cài đặt ở tầm xa 100 m và độ cao 70 m:
1 2 3 4 5 6 7 8 |
Vòng lặp tính toán gia tốc, vận tốc và toạ độ theo phương pháp chuỗi Taylor:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | %% CALCULATION alpha = alpha/180*pi; vx = v*cos(alpha); vy = v*sin(alpha); while y>-0.01 t = t+dt; ax = 0; ay = -g; vx = vx+ax*dt; vy = vy+ay*dt; x = x+vx*dt+0.5*ax*dt.^2; y = y+vy*dt+0.5*ay*dt.^2; plot(x,y,'o','markersize',0.5,'color','k'); set(fig_quanang,'xdata',x,'ydata',y); set(ht,'string',sprintf('t = %0.2f s',t)); pause(0.002); end |
Video minh hoạ
Code chương trình
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | function chuyen_dong_nem_xien clc close all clear all %% CONSTANTS g = 9.81; %% INPUT DATA x = 0; y = 20; v = 30; alpha = 60; t = 0; dt = 0.01; %% FIGURE figure('name','Nem xien','color','white','numbertitle','off'); hold on fig_quanang = plot(x,y,'ro','MarkerSize',10,'markerfacecolor','r'); ht = title(sprintf('t = %0.2f s',t)); axis equal axis([-1 100 -1 70]); %% CALCULATION alpha = alpha/180*pi; vx = v*cos(alpha); vy = v*sin(alpha); while y>-0.01 t = t+dt; ax = 0; ay = -g; vx = vx+ax*dt; vy = vy+ay*dt; x = x+vx*dt+0.5*ax*dt.^2; y = y+vy*dt+0.5*ay*dt.^2; plot(x,y,'o','markersize',0.5,'color','k'); set(fig_quanang,'xdata',x,'ydata',y); set(ht,'string',sprintf('t = %0.2f s',t)); pause(0.002); end end |