2016-12-15 7 views
0

にはa(t) = k*y'^2を代入します。ここで、yt(時間)の関数です。私の初期条件はy(0) = 600;とMATLABでMATLABでネストされた非線形ODEを定義して解く

y'(0) = 0;私は

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

y''を定義する方法を知っているが、私は、これは「ネストされた」非線形微分方程式であり、私は事実で迷ってしまいましたMATLABでそれを解決することはもちろん、それをどのように定義するかについてはあまりよく分かりません。

+0

'a(t)'を定義し、 'dsolve'を呼び出します...? – TroyHaskin

+0

私はちょうど 'y '= diff(y、t)'として定義することはできませんでした... @TroyHaskin – Ortix92

答えて

1

より良好な一次システムは

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

ではありません。


チャレンジ:変数の分離部分分数分解を介して手動で最初の方程式を解くまたはv側の積分としてエリア接線hyperbolicusのスケーリングを識別する。

+0

これはすばらしい答えです。私はそれを私の上に受け入れるだろう。私は最初のことがありますが、これはより良いです。 – duffymo

1

これは2つの結合された1次ODEです。

z = y'とする。次に、あなたが持っている:あなたは、初期条件y(0)=600z(0)=0が必要

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

この式z(0)=0は、a(0)/m = gを意味します。解答はa(0) = gmです。

これは解く必要がある方程式です。もはや関与する第三の未知関数a(t)あるよう

+0

私は初期条件で私の質問を更新しました – Ortix92

+1

@ Ortix92だからどうしたらいいですか?それらの条件とそれは次にですか?これは、あなたが数学的にそれをどうやってやるべきかです。 – Adriaan

関連する問題