How to solve system of first order differential equations

25 views (last 30 days)
Hello, I need to solve a system of differential equations. It looks like c1*dy1/dt + c2*dy2/dt+c3*y1+c4*y2 = u1; m1*dy1/dt + m2*dy2/dt+m3*y1+m4*y2 = u2. How do I solve for y1 and y2? u1 and u2 are known functions of time.

Answers (2)

Star Strider
Star Strider on 12 Dec 2016
If you have the Symbolic Math Toolbox:
% c1*dy1/dt + c2*dy2/dt+c3*y1+c4*y2 = u1; m1*dy1/dt + m2*dy2/dt+m3*y1+m4*y2 = u2
syms c1 c2 c3 c4 m1 m2 m3 m4 u1 u2 y1(t) y2(t) y10 y20
Dy1 = diff(y1);
Dy2 = diff(y2);
Eqn1 = c1*Dy1 + c2*Dy2+c3*y1+c4*y2 == u1;
Eqn2 = m1*Dy1 + m2*Dy2+m3*y1+m4*y2 == u2;
[Y1,Y2] = dsolve(Eqn1, Eqn2, y1(0) == y10, y2(0) == y20);
Y1 = simplify(Y1, 'Steps',20)
Y2 = simplify(Y2, 'Steps',20)
Y1 =
(exp(-(t*(c1*m4 - c2*m3 + c3*m2 - c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2)))/(2*(c1*m2 - c2*m1)))*((2*c1^2*m4^2*y20 - 2*c1^2*m4*u2 - 2*c4*m1^2*u1 + 2*c4^2*m1^2*y20 - 2*c1*u2*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) + 2*m1*u1*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) + 2*c1*c2*m3*u2 + 2*c1*c3*m2*u2 + 2*c1*c4*m1*u2 - 4*c2*c3*m1*u2 + 2*c1*m1*m4*u1 - 4*c1*m2*m3*u1 + 2*c2*m1*m3*u1 + 2*c3*m1*m2*u1 + 2*c1*m3*y10*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - 2*c3*m1*y10*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) + 2*c1*m4*y20*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - 2*c4*m1*y20*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - 2*c1*c2*m3^2*y10 + 2*c3*c4*m1^2*y10 - 2*c3^2*m1*m2*y10 + 2*c1^2*m3*m4*y10 - 2*c1*c3*m1*m4*y10 + 2*c1*c3*m2*m3*y10 - 2*c1*c4*m1*m3*y10 + 2*c2*c3*m1*m3*y10 - 2*c1*c2*m3*m4*y20 - 2*c1*c3*m2*m4*y20 - 4*c1*c4*m1*m4*y20 + 4*c1*c4*m2*m3*y20 + 4*c2*c3*m1*m4*y20 - 2*c2*c4*m1*m3*y20 - 2*c3*c4*m1*m2*y20)/(2*(c1*m4 - c2*m3 + c3*m2 - c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2))*(c1^2*m4^2 + c2^2*m3^2 + c3^2*m2^2 + c4^2*m1^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 - 2*c3*c4*m1*m2)^(1/2)) - (exp((t*(c1*m4 - c2*m3 + c3*m2 - c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2)))/(2*c1*m2 - 2*c2*m1))*(m1*u1*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - c1^2*m4*u2 - c1*u2*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - c4*m1^2*u1 + c1*c2*m3*u2 + c1*c3*m2*u2 + c1*c4*m1*u2 - 2*c2*c3*m1*u2 + c1*m1*m4*u1 - 2*c1*m2*m3*u1 + c2*m1*m3*u1 + c3*m1*m2*u1))/((c1*m4 - c2*m3 + c3*m2 - c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2))*(c1^2*m4^2 + c2^2*m3^2 + c3^2*m2^2 + c4^2*m1^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 - 2*c3*c4*m1*m2)^(1/2)))*(c3*m2 - c2*m3 - c1*m4 + c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2)))/(2*c1*m3 - 2*c3*m1) - (exp((t*(c2*m3 - c1*m4 - c3*m2 + c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2)))/(2*(c1*m2 - c2*m1)))*((2*c1^2*m4^2*y20 - 2*c1^2*m4*u2 - 2*c4*m1^2*u1 + 2*c4^2*m1^2*y20 + 2*c1*u2*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - 2*m1*u1*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) + 2*c1*c2*m3*u2 + 2*c1*c3*m2*u2 + 2*c1*c4*m1*u2 - 4*c2*c3*m1*u2 + 2*c1*m1*m4*u1 - 4*c1*m2*m3*u1 + 2*c2*m1*m3*u1 + 2*c3*m1*m2*u1 - 2*c1*m3*y10*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) + 2*c3*m1*y10*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - 2*c1*m4*y20*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) + 2*c4*m1*y20*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - 2*c1*c2*m3^2*y10 + 2*c3*c4*m1^2*y10 - 2*c3^2*m1*m2*y10 + 2*c1^2*m3*m4*y10 - 2*c1*c3*m1*m4*y10 + 2*c1*c3*m2*m3*y10 - 2*c1*c4*m1*m3*y10 + 2*c2*c3*m1*m3*y10 - 2*c1*c2*m3*m4*y20 - 2*c1*c3*m2*m4*y20 - 4*c1*c4*m1*m4*y20 + 4*c1*c4*m2*m3*y20 + 4*c2*c3*m1*m4*y20 - 2*c2*c4*m1*m3*y20 - 2*c3*c4*m1*m2*y20)/(2*(c2*m3 - c1*m4 - c3*m2 + c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2))*(c1^2*m4^2 + c2^2*m3^2 + c3^2*m2^2 + c4^2*m1^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 - 2*c3*c4*m1*m2)^(1/2)) - (exp(-(t*(c2*m3 - c1*m4 - c3*m2 + c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2)))/(2*c1*m2 - 2*c2*m1))*(c1*u2*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - c1^2*m4*u2 - c4*m1^2*u1 - m1*u1*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) + c1*c2*m3*u2 + c1*c3*m2*u2 + c1*c4*m1*u2 - 2*c2*c3*m1*u2 + c1*m1*m4*u1 - 2*c1*m2*m3*u1 + c2*m1*m3*u1 + c3*m1*m2*u1))/((c2*m3 - c1*m4 - c3*m2 + c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2))*(c1^2*m4^2 + c2^2*m3^2 + c3^2*m2^2 + c4^2*m1^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 - 2*c3*c4*m1*m2)^(1/2)))*(c1*m4 + c2*m3 - c3*m2 - c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2)))/(2*c1*m3 - 2*c3*m1)
Y2 =
exp(-(t*(c1*m4 - c2*m3 + c3*m2 - c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2)))/(2*(c1*m2 - c2*m1)))*((2*c1^2*m4^2*y20 - 2*c1^2*m4*u2 - 2*c4*m1^2*u1 + 2*c4^2*m1^2*y20 - 2*c1*u2*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) + 2*m1*u1*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) + 2*c1*c2*m3*u2 + 2*c1*c3*m2*u2 + 2*c1*c4*m1*u2 - 4*c2*c3*m1*u2 + 2*c1*m1*m4*u1 - 4*c1*m2*m3*u1 + 2*c2*m1*m3*u1 + 2*c3*m1*m2*u1 + 2*c1*m3*y10*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - 2*c3*m1*y10*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) + 2*c1*m4*y20*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - 2*c4*m1*y20*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - 2*c1*c2*m3^2*y10 + 2*c3*c4*m1^2*y10 - 2*c3^2*m1*m2*y10 + 2*c1^2*m3*m4*y10 - 2*c1*c3*m1*m4*y10 + 2*c1*c3*m2*m3*y10 - 2*c1*c4*m1*m3*y10 + 2*c2*c3*m1*m3*y10 - 2*c1*c2*m3*m4*y20 - 2*c1*c3*m2*m4*y20 - 4*c1*c4*m1*m4*y20 + 4*c1*c4*m2*m3*y20 + 4*c2*c3*m1*m4*y20 - 2*c2*c4*m1*m3*y20 - 2*c3*c4*m1*m2*y20)/(2*(c1*m4 - c2*m3 + c3*m2 - c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2))*(c1^2*m4^2 + c2^2*m3^2 + c3^2*m2^2 + c4^2*m1^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 - 2*c3*c4*m1*m2)^(1/2)) - (exp((t*(c1*m4 - c2*m3 + c3*m2 - c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2)))/(2*c1*m2 - 2*c2*m1))*(m1*u1*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - c1^2*m4*u2 - c1*u2*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - c4*m1^2*u1 + c1*c2*m3*u2 + c1*c3*m2*u2 + c1*c4*m1*u2 - 2*c2*c3*m1*u2 + c1*m1*m4*u1 - 2*c1*m2*m3*u1 + c2*m1*m3*u1 + c3*m1*m2*u1))/((c1*m4 - c2*m3 + c3*m2 - c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2))*(c1^2*m4^2 + c2^2*m3^2 + c3^2*m2^2 + c4^2*m1^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 - 2*c3*c4*m1*m2)^(1/2))) + exp((t*(c2*m3 - c1*m4 - c3*m2 + c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2)))/(2*(c1*m2 - c2*m1)))*((2*c1^2*m4^2*y20 - 2*c1^2*m4*u2 - 2*c4*m1^2*u1 + 2*c4^2*m1^2*y20 + 2*c1*u2*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - 2*m1*u1*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) + 2*c1*c2*m3*u2 + 2*c1*c3*m2*u2 + 2*c1*c4*m1*u2 - 4*c2*c3*m1*u2 + 2*c1*m1*m4*u1 - 4*c1*m2*m3*u1 + 2*c2*m1*m3*u1 + 2*c3*m1*m2*u1 - 2*c1*m3*y10*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) + 2*c3*m1*y10*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - 2*c1*m4*y20*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) + 2*c4*m1*y20*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - 2*c1*c2*m3^2*y10 + 2*c3*c4*m1^2*y10 - 2*c3^2*m1*m2*y10 + 2*c1^2*m3*m4*y10 - 2*c1*c3*m1*m4*y10 + 2*c1*c3*m2*m3*y10 - 2*c1*c4*m1*m3*y10 + 2*c2*c3*m1*m3*y10 - 2*c1*c2*m3*m4*y20 - 2*c1*c3*m2*m4*y20 - 4*c1*c4*m1*m4*y20 + 4*c1*c4*m2*m3*y20 + 4*c2*c3*m1*m4*y20 - 2*c2*c4*m1*m3*y20 - 2*c3*c4*m1*m2*y20)/(2*(c2*m3 - c1*m4 - c3*m2 + c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2))*(c1^2*m4^2 + c2^2*m3^2 + c3^2*m2^2 + c4^2*m1^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 - 2*c3*c4*m1*m2)^(1/2)) - (exp(-(t*(c2*m3 - c1*m4 - c3*m2 + c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2)))/(2*c1*m2 - 2*c2*m1))*(c1*u2*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) - c1^2*m4*u2 - c4*m1^2*u1 - m1*u1*(c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2) + c1*c2*m3*u2 + c1*c3*m2*u2 + c1*c4*m1*u2 - 2*c2*c3*m1*u2 + c1*m1*m4*u1 - 2*c1*m2*m3*u1 + c2*m1*m3*u1 + c3*m1*m2*u1))/((c2*m3 - c1*m4 - c3*m2 + c4*m1 + (c1^2*m4^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + c2^2*m3^2 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 + c3^2*m2^2 - 2*c3*c4*m1*m2 + c4^2*m1^2)^(1/2))*(c1^2*m4^2 + c2^2*m3^2 + c3^2*m2^2 + c4^2*m1^2 - 2*c1*c2*m3*m4 - 2*c1*c3*m2*m4 - 2*c1*c4*m1*m4 + 4*c1*c4*m2*m3 + 4*c2*c3*m1*m4 - 2*c2*c3*m2*m3 - 2*c2*c4*m1*m3 - 2*c3*c4*m1*m2)^(1/2)))
You might find the matlabFunction function helpful if you want to evaluate these numerically.

michio
michio on 12 Dec 2016
First off, I'd suggest reformulate your equation into
dy1/dt = f1(y1,y2,u1,u2);
dy2/dt = f2(y1,y2,u1,u2);
Then you can apply the following example.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!