郭俊濤 李浩宇 陳兆 謝文高
摘 要:本項(xiàng)目通過(guò)應(yīng)用Matlab的編程來(lái)展示物體整個(gè)運(yùn)動(dòng)過(guò)程及整個(gè)過(guò)程中速度、加速度的分析。通過(guò)Matlab來(lái)輔助學(xué)習(xí)運(yùn)動(dòng)學(xué)和解決運(yùn)動(dòng)學(xué)問(wèn)題,對(duì)學(xué)習(xí)運(yùn)動(dòng)學(xué)知識(shí)有很大的作用。
關(guān)鍵詞:Matlab軟件;運(yùn)動(dòng)學(xué);速度;加速度
0 引 言
在傳統(tǒng)的運(yùn)動(dòng)學(xué)學(xué)習(xí)的過(guò)程中,由于計(jì)算工具和計(jì)算手段、分析思路不全等情況,一般只能解決物體運(yùn)動(dòng)過(guò)程某個(gè)狀態(tài)或時(shí)刻的速度、加速等問(wèn)題(即瞬態(tài)分析),而缺少對(duì)物體整個(gè)過(guò)程的分析?;谔摂M現(xiàn)實(shí)技術(shù)對(duì)運(yùn)動(dòng)學(xué)問(wèn)題進(jìn)行過(guò)程分析,展現(xiàn)物體運(yùn)動(dòng)過(guò)程的軌跡圖像及物體運(yùn)動(dòng)整個(gè)過(guò)程中的速度、加速度的變化,從而加深學(xué)習(xí)者對(duì)運(yùn)動(dòng)規(guī)律的了解。本文以運(yùn)動(dòng)學(xué)中的典型題目為例,通過(guò)Matlab軟件的應(yīng)用,使物體的運(yùn)動(dòng)軌跡可視化,同時(shí)展現(xiàn)物體整個(gè)運(yùn)動(dòng)過(guò)程的速度及加速度的變化。
1 算例演示
1.1 原題目
圖示機(jī)構(gòu)中滑塊A的速度為常值,vA=0.2m/s,AB= 0.4m.求當(dāng)AC=CB,θ=30o時(shí)桿CD的速度和加速度。
1.2 題目改編
圖示機(jī)構(gòu)中滑塊A的速度為常值,vA=0.2m/s,AB=0.4m。分析桿CD整個(gè)過(guò)程中速度及加速度的變化。
1.2.1 MATLAB軟件編程
clear all %清理窗口
figure
scrsz = get(0,ScreenSize); %是為了獲得屏幕大小,Screensize是一個(gè)4元素向量[left,bottom, width, height]
set(gcf,Position,scrsz);
Va=0.2; %定義初始速度Va為0.2m/s
ab=0.4; %定義AB桿長(zhǎng)度為0.4m
od=sqrt(3)/10; %點(diǎn)O到CD桿的距離
T=(ab-od)/Va; %計(jì)算出完整過(guò)程的總時(shí)間T
t=0:0.001:T; %將時(shí)間T分為1000,每一份為t
oa=od+(Va.*t); %計(jì)算出t時(shí)的數(shù)據(jù)
xita=acos(oa./ab); %夾角θ
pa=ab.*sin(xita); %pa段的長(zhǎng)度
ac=(Va*t)./cos(xita); %ac段的長(zhǎng)度
h=(Va*t).*tan(xita); %o到滑塊B的高度h
Wab=Va./(pa); %ab桿的角速度ωab
pq=pa-h; %pq段的長(zhǎng)度
pc=sqrt((pq.^2)+(Va.*t).^2); %pc段的長(zhǎng)度
af=atan(pq./(Va.*t)); %夾角α
Vce=pc.*Wab; %滑塊C的牽引速度Vce
r=pi/2-af-xita; %夾角γ(Gamma)
Vc=Vce.*sin(r)./sin(af+r); %滑塊C的速度
Vcr=Vce.*cos(xita+r)./cos(xita); %滑塊C的相對(duì)速度Vcr
Aban=ab.*(Wab.^2);
Abat=Aban.*cos(xita)./cos((pi/2)-xita);
AFab=Abat./ab; %AB桿的角加速度αab
Ac1at=ac.*AFab; %C點(diǎn)桿內(nèi)的加速度
Ake=2.*Wab.*Vcr; %滑塊C的科氏加速度
Ac=(Ac1at+Ake)./cos(xita); %滑塊C的加速度
subplot(4,1,1); %圖1:C的位置的高度h與時(shí)間的關(guān)系
axis([0,T,0,max(h)]);
hold on
title(‘C的位置高度h與時(shí)間的關(guān)系); %輸入標(biāo)題1
xlabel(‘\itt\rm/s); %畫出x軸
ylabel(‘\ith\rm/m); %畫出y軸
plot(t,h,k,LineWidth,2);
legend(‘C的位置高h(yuǎn),location,SouthEast); %列出圖例
subplot(4,1,2); %圖2:θ的度數(shù)與時(shí)間的關(guān)系
dushu=rad2deg(xita); %將θ的弧度轉(zhuǎn)換成度數(shù)
axis([0,T,0,max(dushu)]);
hold on
title(‘\theta的度數(shù)與時(shí)間的關(guān)系); %輸入標(biāo)題2
xlabel(‘\itt\rm/s); %畫出x軸
ylabel(‘\theta\rm/\circ); %畫出y軸
plot(t,dushu,g,LineWidth,2);
legend(‘\theta的度數(shù),location,NorthEast); %列出圖例
subplot(4,1,3); %圖3:C點(diǎn)速度v_{c}(m/s)與時(shí)間的關(guān)系
axis([0,T,min(Vc),1]);
hold on
plot(t,Vc,r,LineWidth,2);
title(‘C點(diǎn)速度v_{c}(m/s)與時(shí)間的關(guān)系); %輸入標(biāo)題3
xlabel(‘\itt\rm/s); %畫出x軸
ylabel(‘\itv_{c}\rm/(m/s)); %畫出y軸
legend(‘C點(diǎn)速度v_{c}(m/s),location,SouthEast);
%列出圖例
subplot(4,1,4); %圖4:C點(diǎn)加速度a(m/s2)與時(shí)間的關(guān)系
axis([0,T,0,2]);
hold on
plot(t,Ac,b,LineWidth,2);
title(‘C點(diǎn)加速度a_{c}(m/s^{2})與時(shí)間的關(guān)系); %輸入標(biāo)題4
xlabel(‘\itt\rm/s); %畫出x軸
ylabel(‘\ita_{c}\rm/(m/s^{2})); %畫出y軸
legend(‘C點(diǎn)加速度a_{c}(m/s^{2}),location,SouthEast);%列出圖例
1.2.2 動(dòng)畫展示(部分狀態(tài))
1.2.3 函數(shù)圖像
2 結(jié)論
本文利用虛擬現(xiàn)實(shí)技術(shù)(即MATLAB)應(yīng)用于運(yùn)動(dòng)學(xué)的仿真當(dāng)中,將運(yùn)動(dòng)學(xué)的問(wèn)題可視化,對(duì)運(yùn)動(dòng)學(xué)問(wèn)題進(jìn)行過(guò)程分析,擺脫了人工計(jì)算只能分析物體某一時(shí)刻的速度、加速度的缺陷。將MATLAB應(yīng)用于解決運(yùn)動(dòng)學(xué)的問(wèn)題當(dāng)中,有利于更好地掌握運(yùn)動(dòng)規(guī)律。
參考文獻(xiàn):
[1]周群益,MATLAB可視化大學(xué)物理學(xué).清華大學(xué)出版社,物理與微電子科學(xué),2011.
[2]哈爾濱工業(yè)大學(xué)理論力學(xué)教研室,理論力學(xué)(Ⅰ),高等教育出版社,2016.
[3]尚玫,理論力學(xué)可視化教學(xué)Matlab Simulink.應(yīng)用物理,2010.