2016-09-02 4 views
0

の二つの変数でMathWorks社のMATLAB ODE45は、私はそれを解決するためにODE45メソッドを使用したいが、私はどのように知らない私はMathWorks社のMATLAB形式で、以下のように微分方程式を持っているのと同じ順序

syms x y m g r l J 
% x,y are variables, the others are constant 

1: 0.5*m*(r^2*x^2+l^2*(Dx-Dy)^2+2*r*l*Dx*(Dx-Dy)*cos(y))+0.5*J*(Dx-Dy)^2=m*g* 
(l*sin(x-y)-r*(1-cos(x))); 
2: J*(D2x-D2y)+l^2*(D2x-D2y)-r*l*(Dx)^2*sin(y)+r*l*D2x*cos(y)-m*g*l*cos(x-y)=0, 
3: x(0)=pi/2,y(0)=pi/2,Dx(0)=0,Dy(0)=0, 

を微分方程式を解きますそのような状況で使用する

答えて

0

明示的なODEを取得するには、D2xとD2yを解決する必要があります。それらの方程式は1つしかないので、DAE微分代数方程式(系)があります。

したがって、DAEソルバを使用するか、または2次導関数の2次方程式を得るために最初の方程式の導関数を計算し、必要に応じてそれらを分離してから2番目の導関数として解く必要があります注文ODE。

eq3 = diff(eq1, t) 

deriv(t,w) 
    x,y,Dx,Dy = w 

    solve(eq2,eq3 for D2x,D2y) 

    deriv = [ Dx, Dy, D2x, D2y ] 
関連する問題