Solving 7 Differential equations

1 view (last 30 days)
smatamar
smatamar on 7 Jul 2015
Commented: Torsten on 7 Jul 2015
I want to solve the 7 differential equations which are functions of time for the 7 unknowns. I wanted to find the solutions of the equations:
eo(t)=f1(e_0(t),e_1(t),e_2(t),e_3(t),w_1(t),w_2(t),w_3(t))
e1(t)=f2(e_0(t),e_1(t),e_2(t),e_3(t),w_1(t),w_2(t),w_3(t))
e2(t)=f3(e_0(t),e_1(t),e_2(t),e_3(t),w_1(t),w_2(t),w_3(t))
e3(t)=f4(e_0(t),e_1(t),e_2(t),e_3(t),w_1(t),w_2(t),w_3(t))
w1(t)=f5(e_0(t),e_1(t),e_2(t),e_3(t),w_1(t),w_2(t),w_3(t))
w2(t)=f6(e_0(t),e_1(t),e_2(t),e_3(t),w_1(t),w_2(t),w_3(t))
w3(t)=f7(e_0(t),e_1(t),e_2(t),e_3(t),w_1(t),w_2(t),w_3(t))
I have generated the equations of e0, e1, e2, e3, w1, w2, w3. Now, how do I solve these equations, and which commands are needed?
I need to find the values of e0, e1, e2, e3, w1, w2, w3 and get the numerical value of these with respect to t.
The equations which have to be solved are
e0 = - (e_1(t)*w_1(t))/2 - (e_2(t)*w_2(t))/2 - (e_3(t)*w_3(t))/2
e1 = (e_0(t)*w_1(t))/2 - (e_2(t)*w_3(t))/2 - (e_3(t)*w_2(t))/2
e2 =(e_0(t)*w_2(t))/2 - (e_1(t)*w_3(t))/2 + (e_3(t)*w_1(t))/2
e3 = (e_0(t)*w_3(t))/2 + (e_1(t)*w_2(t))/2 - (e_2(t)*w_1(t))/2
w1 = w_2(t)*(1.98019*e_3(t)*(e_1(t)*w_1(t) + e_2(t)*w_2(t) + e_3(t)*w_3(t)) + 1.980*e_0(t)*(e_0(t)*w_3(t) + e_1(t)*w_2(t) - 1.0*e_2(t)*w_1(t)) - 1.980*e_1(t)*(e_0(t)*w_2(t) - 1.0*e_1(t)*w_3(t) + e_3(t)*w_1(t)) - 1.9801*e_2(t)*(e_2(t)*w_3(t) - 1.0*e_0(t)*w_1(t) + e_3(t)*w_2(t))) - 1.0*w_1(t)*(1.0*e_0(t)*(e_1(t)*w_1(t) + e_2(t)*w_2(t) + e_3(t)*w_3(t)) + 1.0*e_1(t)*(e_2(t)*w_3(t) - 1.0*e_0(t)*w_1(t) + e_3(t)*w_2(t)) - 1.0*e_2(t)*(e_0(t)*w_2(t) - 1.0*e_1(t)*w_3(t) + e_3(t)*w_1(t)) - 1.0*e_3(t)*(e_0(t)*w_3(t) + e_1(t)*w_2(t) - 1.0*e_2(t)*w_1(t))) - 1.0*w_3(t)*(1.0*e_0(t)*(e_0(t)*w_2(t) - 1.0*e_1(t)*w_3(t) + e_3(t)*w_1(t)) - 1.0*e_2(t)*(e_1(t)*w_1(t) + e_2(t)*w_2(t) + e_3(t)*w_3(t)) + 1.0*e_1(t)*(e_0(t)*w_3(t) + e_1(t)*w_2(t) - 1.0*e_2(t)*w_1(t)) + 1.0*e_3(t)*(e_2(t)*w_3(t) - 1.0*e_0(t)*w_1(t) + e_3(t)*w_2(t))) - (63.366*kappa^2*(0.72470*w_1(t) + 0.355*kappa*(2.0*e_0(t)e_1(t)(2.0*e_0(t)*e_3(t) + 2.0*e_1(t)*e_2(t)) + 2.0*e_1(t)e_3(t)(e_0(t)^2 - 1.0*e_1(t)^2 + e_2(t)^2 - 1.0*e_3(t)^2)) - 0.3623*kappa*((e_0(t)^2 + e_1(t)^2 - 1.0*e_2(t)^2 - 1.0*e_3(t)^2)*(e_0(t)^2 - 1.0*e_1(t)^2 + e_2(t)^2 - 1.0*e_3(t)^2) + (2.0*e_0(t)*e_3(t) + 2.0*e_1(t)e_2(t))(2.0*e_0(t)*e_3(t) - 2.0*e_1(t)*e_2(t)))))/(l^5*rho)
w2 = w_3(t)*(0.505*e_1(t)*(e_1(t)*w_1(t) + e_2(t)*w_2(t) + e_3(t)*w_3(t)) - 0.505*e_0(t)*(e_2(t)*w_3(t) - 1.0*e_0(t)*w_1(t) + e_3(t)*w_2(t)) + 0.505*e_2(t)*(e_0(t)*w_3(t) + e_1(t)*w_2(t) - 1.0*e_2(t)*w_1(t)) + 0.505*e_3(t)*(e_0(t)*w_2(t) - 1.0*e_1(t)*w_3(t) + e_3(t)*w_1(t))) - 1.0*w_1(t)*(0.505*e_3(t)*(e_1(t)*w_1(t) + e_2(t)*w_2(t) + e_3(t)*w_3(t)) + 0.505*e_0(t)*(e_0(t)*w_3(t) + e_1(t)*w_2(t) - 1.0*e_2(t)*w_1(t)) - 0.505*e_1(t)*(e_0(t)*w_2(t) - 1.0*e_1(t)*w_3(t) + e_3(t)*w_1(t)) - 0.505*e_2(t)*(e_2(t)*w_3(t) - 1.0*e_0(t)*w_1(t) + e_3(t)*w_2(t))) - 1.0*w_2(t)*(1.0*e_0(t)*(e_1(t)*w_1(t) + e_2(t)*w_2(t) + e_3(t)*w_3(t)) + 1.0*e_1(t)*(e_2(t)*w_3(t) - 1.0*e_0(t)*w_1(t) + e_3(t)*w_2(t)) - 1.0*e_2(t)*(e_0(t)*w_2(t) - 1.0*e_1(t)*w_3(t) + e_3(t)*w_1(t)) - 1.0*e_3(t)*(e_0(t)*w_3(t) + e_1(t)*w_2(t) - 1.0*e_2(t)*w_1(t))) - (32.0*kappa^2*(0.7184*w_2(t) - 0.3592*kappa*(2.0*e_0(t)e_1(t)(e_0(t)^2 + e_1(t)^2 - 1.0*e_2(t)^2 - 1.0*e_3(t)^2) + 2.0*e_1(t)e_3(t)(2.0*e_0(t)*e_3(t) - 2.0*e_1(t)*e_2(t)))))/(l^5*rho)
w3 = w_1(t)*(1.0*e_2(t)*(e_1(t)*w_1(t) + e_2(t)*w_2(t) + e_3(t)*w_3(t)) - 1.0*e_0(t)*(e_0(t)*w_2(t) - 1.0*e_1(t)*w_3(t) + e_3(t)*w_1(t)) + 1.0*e_1(t)*(e_0(t)*w_3(t) + e_1(t)*w_2(t) - 1.0*e_2(t)*w_1(t)) + 1.0*e_3(t)*(e_2(t)*w_3(t) - 1.0*e_0(t)*w_1(t) + e_3(t)w_2(t))) + w_2(t)(1.980*e_0(t)*(e_2(t)*w_3(t) - 1.0*e_0(t)*w_1(t) + e_3(t)*w_2(t)) - 1.980*e_1(t)*(e_1(t)*w_1(t) + e_2(t)*w_2(t) + e_3(t)*w_3(t)) + 1.980*e_2(t)*(e_0(t)*w_3(t) + e_1(t)*w_2(t) - 1.0*e_2(t)*w_1(t)) + 1.980*e_3(t)*(e_0(t)*w_2(t) - 1.0*e_1(t)*w_3(t) + e_3(t)*w_1(t))) - 1.0*w_3(t)*(1.0*e_0(t)*(e_1(t)*w_1(t) + e_2(t)*w_2(t) + e_3(t)*w_3(t)) + 1.0*e_1(t)*(e_2(t)*w_3(t) - 1.0*e_0(t)*w_1(t) + e_3(t)*w_2(t)) - 1.0*e_2(t)*(e_0(t)*w_2(t) - 1.0*e_1(t)*w_3(t) + e_3(t)*w_1(t)) - 1.0*e_3(t)*(e_0(t)*w_3(t) + e_1(t)*w_2(t) - 1.0*e_2(t)*w_1(t))) + (63.366*kappa^2*(0.3551*kappa*((e_0(t)^2 + e_1(t)^2 - 1.0*e_2(t)^2 - 1.0*e_3(t)^2)*(e_0(t)^2 - 1.0*e_1(t)^2 + e_2(t)^2 - 1.0*e_3(t)^2) - 1.0*(2.0*e_0(t)*e_3(t) + 2.0*e_1(t)e_2(t))(2.0*e_0(t)*e_3(t) - 2.0*e_1(t)*e_2(t))) - 0.724*w_3(t) + 0.362*kappa*((e_0(t)^2 + e_1(t)^2 - 1.0*e_2(t)^2 - 1.0*e_3(t)^2)*(e_0(t)^2 - 1.0*e_1(t)^2 + e_2(t)^2 - 1.0*e_3(t)^2) + (2.0*e_0(t)*e_3(t) + 2.0*e_1(t)e_2(t))(2.0*e_0(t)*e_3(t) - 2.0*e_1(t)*e_2(t)))))/(l^5*rho)
I used this code in MATLAB after assigning the values
soll=ode45(e0,e1,e2,e3,w1,w2,w3,e_0(t),e_1(t),e_2(t),e_3(t),w_1(t),w_2(t),w_3(t)) But I got the following error message:
Undefined function 'exist' for input arguments of type 'sym'.
Error in odearguments (line 59) if (exist(ode)==2)
Error in ode45 (line 113) [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...
Which solver must i use to solve this equation Please enlighten me where I have gone wrong.
  1 Comment
Torsten
Torsten on 7 Jul 2015
I don't see any time differentials in your equations - so why using ODE45 ?
Write your (differential ?) equations in a mathematical notation. Then someone might be able to help.
Best wishes
Torsten.

Sign in to comment.

Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!