求解乙個有趣的常微分方程組

2021-07-25 22:39:49 字數 2978 閱讀 5622

我同學提出了乙個有趣的微分方程組,如下:

(1) dx

dt+d

ydt=

v0(2) m(

dxdt

)2+m

(dyd

t)2+

k(y−

x−l)

2=mv

20從方程看,第二個是能量守恆,第乙個應該是動量守恆,系統中有兩個質量為

m 的物體,有乙個初始長度為

l的彈簧。(2)式兩邊同時乘以12

可知初始能量為12

mv20

。 要想解開這個方程,需要把它先化為我們熟知的微分方程類別,例如二階常係數微分方程。

考慮(1)的平方。 (d

xdt)

2+(d

ydt)

2+2d

xdtd

ydt=

v20

(3)兩邊都乘以m,得, m(

dxdt

)2+m

(dyd

t)2+

2mdx

dtdy

dt=m

v20

(4)

對(4)和(2)求差,得 2m

dxdt

dydt

=k(y

−x−l

)2(5)

對(5)兩側求自變數t的導數 2m

(d2x

dt2d

ydt+

dxdt

d2yd

t2)=

2k(y

−x−l

)(dy

dt−d

xdt)

(6)

對(1)兩側求自變數t的導數 d2

xdt2

+d2y

dt2=

0 (7)

也就是說 d2

xdt2

=−d2

ydt2

(8)

將(8)應用到(6),消去y的二階導數,得 2m

d2xd

t2(d

ydt−

dxdt

)=2k

(y−x

−l)(

dydt

−dxd

t)(9)

整理(9)得, md

2xdt

2=k(

y−x−

l)(10)

對(1)兩側做積分,得 ∫(

dxdt

+dyd

t)dt

=∫v0

dt(11)

也就是 x+

y=v0

t+c

(12)

如果考慮在t=0時候,x=

0,y=

l ,也就是假設彈簧處於原長,則, c=

l (13)

然後,(12)可以修訂為 x+

y=v0

t+l

(14)

將(14)應用到(10),消去y,得 md

2xdt

2=k(

v0t+

l−x−

x−l)

=k(v

0t−2

x)(15)

從而得到 mx

′′+2k

x=kv

0t(16)

整理得 x′′

+2km

x=kv

0mt

(17)

進一步採用常係數二階非齊次微分方程求解方法可得 x(

t)=c

1cos

at+c

2sin

at+c

3t+c

4 (18)

經過對初值條件得分析,則可以得到正確表示式 x(

t)=v

02t+

v02m

2k−−

−√sin2km

−−−√

t−l2

(19)

結合(14)可知, y(

t)=v

02t−

v02m

2k−−

−√sin2km

−−−√

t+l2

(20)

我的朋友用不同的方法也得到了同樣的結果。在他的個人部落格中,提到了這個微分方程組對應的物理現象。在光滑跑道上有兩個質量為

m 的物體,兩個物體中間連有乙個初始長度為

l的彈簧。在初始時刻,賦予其中乙個物體乙個速度v0

,求解這兩個物體的運動方程。

起初,我並不知道這些初始條件,物理場景,所以嘗試把方程轉化為我們學習過的類別。比如,一階常微分方程,二階常係數常微分方程。因為方程(2)包含有平方項,所以當務之急是消去它。消去兩個平方項,得到了方程(5),又陷入困境:怎麼處理dx

dtdy

dt這樣的交叉項呢?看書也並無幫助,我回過頭來對兩邊求導,後面又發現兩個物體的加速度,或者位移的二階導數是等大反向,所以可以提出乙個公因式,dy

dt−d

xdt ,如果假設這個公因式不為0,就可以從等式兩邊消去,從而得到乙個更加簡單的二階方程。後面的事情就很好處理了。

命題,dy

dt−d

xdt=

0 是不可能成立的。

證明:如果d

ydt−

dxdt

=0,則方程的解顯然是y=

x 。這相當於在初始時刻給予兩個物體相同的初速度v0

/2,然後兩個物體做勻速直線運動,故而彈簧沒有伸縮,沒有彈性勢能。初始動能是12

m(v0

2)2+

12m(

v02)

2=14

mv20

而不是12

mv20

,得證。

參考資料:

丁同仁,李承治, 常微分方程,第二版, 高等教育出版社

劉珈銘,jia-ming (frank) liou, 微分方程講義補充,國立成功大學數學系

Matlab求解微分方程組

我們採用ode方法 1 求解普通微分方程組 使用ode45方法 1.建立乙個函式檔案eq2.m,在函式檔案中描述這個解的微分方程組 eq2.m檔案 描述微分方程組 function dy eq2 t,y 說明微分變數是二維的,令y 1 x,y 2 y dy zeros 2,1 微分方程組 dy 1 ...

全區間積分的雙邊法 常微分方程組的求解

功能 全區間積分的雙邊法 常微分方程組的求解 include stdio.h include stdlib.h include math.h 全區間積分的定步長尤拉方法 全區間積分的維梯方法 全區間積分的定步長龍格 庫塔方法 typedef struct fode fode,fodep 全區間積分的...

常微分方程的數值解法系列一 常微分方程

在慣性導航以及vio等實際問題中利用imu求解位姿需要對imu測量值進行積分得到需要的位置和姿態,其中主要就是求解微分方程。但之前求解微分方程的解析方法主要是應用於一些簡單和特殊的微分方程求解中,對於一般形式的微分方程,一般很難用解析方法求出精確解,只能用數值方法求解。該系列主要介紹一些常用的常微分...