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