于志明
(連云港師范高等??茖W(xué)校物理系,江蘇 連云港 222006)
?
·問題討論·
用數(shù)值方法分析兩例力學(xué)問題
于志明
(連云港師范高等專科學(xué)校物理系,江蘇 連云港 222006)
利用計(jì)算機(jī)進(jìn)行數(shù)值計(jì)算來研究科學(xué)技術(shù)中的復(fù)雜問題,已經(jīng)成為現(xiàn)代科學(xué)技術(shù)研究的一種重要方法.本文用兩個(gè)例子來介紹比較復(fù)雜的力學(xué)問題的數(shù)值計(jì)算研究方法.
文獻(xiàn)[1]研究了圖1所示的雙振子彈簧系統(tǒng)中物體的運(yùn)動(dòng)問題.
圖1
在圖1中,物塊A、B的質(zhì)量相等,在物塊A上施加一水平恒力F作用,物塊B足夠長,放置在水平地面上,所有接觸面都是光滑的,輕彈簧開始處于原長,運(yùn)動(dòng)過程中始終處于彈性限度內(nèi),開始時(shí)物塊A、B是靜止的.求物塊A、B運(yùn)動(dòng)的速度隨時(shí)間的變化規(guī)律.
建立如圖1所示的坐標(biāo)系O-x,坐標(biāo)原點(diǎn)在開始運(yùn)動(dòng)時(shí)B物塊的左端點(diǎn)處.設(shè)某一時(shí)刻t,物塊A、B的位置坐標(biāo)分別為x1、x2,如圖1所示.由牛頓第二定律得
(1)
(2)
式(1)、(2)中的m為物塊A、B的質(zhì)量,k為彈簧的勁度系數(shù),l為彈簧的原長.這是一道比較復(fù)雜的力學(xué)題,用數(shù)學(xué)分析的方法來求解比較難,但用數(shù)值計(jì)算的方法就比較容易.
以下是筆者利用MATLAB軟件編寫的計(jì)算程序:[2]
x1=1;x2=0;v1=0;v2=0;F/m=10;
k/m=50;
dt=0.001;
for j=0:1000
a1=F/m-k/m *(x1-x2-1);
a2=k/m *(x1-x2-1);
v1=v1+a1*dt;
v2=v2+a2*dt;
x1=x1+v1*dt;
x2=x2+v2*dt;
plot(0.001*j,v1, 0.001*j,v2,′r:′)
hold on
end
圖2
圖2與根據(jù)文獻(xiàn)[1]中給出的物塊A、B的速度與時(shí)間的關(guān)系式畫出的曲線完全相同.
如果物塊A、B的質(zhì)量不同,如果有摩擦及空氣阻力的作用,則數(shù)值計(jì)算的方法就會(huì)比數(shù)學(xué)分析的方法更有優(yōu)勢(shì).圖3是物塊B的質(zhì)量是A的質(zhì)量的2倍時(shí)數(shù)值計(jì)算得到的結(jié)果.
圖3
圖4
文獻(xiàn)[3]討論了如圖4所示的“獵犬追擊狐貍”運(yùn)動(dòng)的時(shí)間問題.
在圖4中,有一只狐貍以不變的速度v1沿直線AB逃跑,一獵犬以不變的速度v2追擊狐貍,獵犬運(yùn)動(dòng)的方向始終指向狐貍.設(shè)開始時(shí)獵犬與狐貍的垂直距離為L.求獵犬追上狐貍的時(shí)間.
設(shè)狐貍相對(duì)于O點(diǎn)的位置矢量為r1,獵犬相對(duì)于O點(diǎn)的位置矢量為r2,狐貍相對(duì)于獵犬的位置矢量為r,顯然r=r1-r2.由于r的方向就是獵犬運(yùn)動(dòng)的方向,故獵犬運(yùn)動(dòng)的速度可表示為
(3)
根據(jù)狐貍的運(yùn)動(dòng)知x1=v1t,y1=L.
由式(3)可得
(4)
(5)
如果能由式(4)、(5)求出獵犬的坐標(biāo)x2、y2與時(shí)間t的關(guān)系式,利用獵犬追上狐貍時(shí),y2=L,x2=v1t,就可以求得獵犬追擊狐貍運(yùn)動(dòng)的時(shí)間,但用數(shù)學(xué)分析的方法是比較困難的,下邊我們用數(shù)值計(jì)算的方法來解決.
本題數(shù)值計(jì)算方法的思路:取定v1、v2、L,從獵犬追擊狐貍運(yùn)動(dòng)的開始時(shí)的x1、y1、x2、y2開始,讓時(shí)間增加一個(gè)微小的量dt,由式(4)、(5)求出增加的dx2、dy2,將dx2、dy2加到之前的x2、y2上就得到了獵犬運(yùn)動(dòng)dt時(shí)間以后的位置坐標(biāo),然后再讓時(shí)間增加一個(gè)微小的量dt,用同樣的方法得到獵犬運(yùn)動(dòng)2dt時(shí)間后的坐標(biāo),如此循環(huán)下去,得到獵犬運(yùn)動(dòng)過程中各個(gè)時(shí)刻的位置坐標(biāo).
以下是用MATLAB軟件編寫的計(jì)算程序:
v1=10;v2=12; L=10;
x1=0;x2=0;y2=0; dt=0.001;
for j=1:3000
x1=x1+dt.*v1;
x2=x2+dt.*v2.*(x1-x2)./((x1-x2).^2+(L-y2).^2).^0.5;
y2=y2+dt.*v2.*(L-y2)./((x1-x2).^2+(L-y2).^2).^0.5;
plot(0.001*j,x2,0.001*j,x1,′-′)
hold on
end
在程序中取v1=10m/s,v2=12m/s,L=10m,dt=0.001s.由程序得到的狐貍和獵犬坐標(biāo)x1、x2與時(shí)間t的關(guān)系曲線如圖5所示.
圖5
追擊成功的條件是x2=x1,由圖5可見,獵犬追擊的時(shí)間約為2.7s.與文獻(xiàn)[3]中的結(jié)果相同.
通過數(shù)值計(jì)算,我們還可以方便地得到獵犬追擊運(yùn)動(dòng)的軌跡曲線如圖6所示.
圖6
根據(jù)數(shù)值計(jì)算的數(shù)據(jù),可以畫出各種關(guān)系曲線,擬合出各種變化的關(guān)系式.
1 韓忠全等.雙振子彈簧系統(tǒng)兩振子的速度-時(shí)間圖像究竟是哪一個(gè)?[J].物理教師,2013,34(3):55-57.
2 彭芳麟等.MATLAB應(yīng)用:論力學(xué)計(jì)算機(jī)模擬[M].北京:清華大學(xué)出版社,2002.
3 陳澤等.談“獵犬追上狐貍的時(shí)間”另一求法[J].物理教師,2013,34(10):92.
2016-12-12)