2016-12-15 88 views
0

我給出微分方程y'' = -g + a(t)/ma(t) = k*y'^2,其中yt(時間)的函數。我的初始條件是y(0) = 600;y'(0) = 0;在MATLAB中定義並求解嵌套的非線性ODE

在MATLAB我知道如何與

ydd = diff(y,t,2) == -g + a(t)/m; 

定義y''但我的事實,這是一個「套」非線性微分方程,我迷路了不太清楚如何定義它,更不用說在MATLAB中解決它。

+0

只需定義'a(t)'並調用'dsolve' ...? – TroyHaskin

+0

我不知道我可以將'y''定義爲'y'= diff(y,t)'... @TroyHaskin – Ortix92

回答

1

更好的一階系統是

v' = -g + k/m*v^2 
y' = v 

因爲不再有第三個未知功能a(t)參與。


挑戰:通過分離變量和部分分式分解或識別所述區切線hyperbolicus作爲積分爲v側縮放手動解決第一個方程。

+0

這是一個很好的答案。我會接受它。我可能是第一個,但這個更好。 – duffymo

1

這是兩個耦合的一階ODE。

z = y'。然後,你必須:

z' = -g + a(t)/m 
y' = sqrt(a(t)/k) 

您需要的初始條件y(0)=600z(0)=0

該等式z(0)=0意味着a(0)/m = g。求解a(0) = gm

這些是你需要解決的方程。

+0

我已更新我的問題,初始條件爲 – Ortix92

+1

@ Ortix92,爲什麼你不解決那麼那些條件呢?這就是你在數學上應該如何去做的。 – Adriaan