dsolve running too long
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hey guys, I have an issue where I am trying to solve 7 ODEs with 7 initial conditions but it takes way to long to compute. I let it run for an hour and no solution. What can i do about it? Thanks in advance for help.
Heres the code:
eul_d=[pi/2 pi pi/3];
quat_d=eul2quat(eul_d);
eul_0=[0 0 0];
quat_0=eul2quat(eul_0);
eta_d=quat_d(1,1);
eta_0=quat_0(1,1);
epsilon_d=[quat_d(1,2); quat_d(1,3); quat_d(1,4)];
epsilon_0=[quat_0(1,2); quat_0(1,3); quat_0(1,4)];
I=[250000 0 0;0 100000 0;0 0 110000];
syms omega1(t) omega2(t) omega3(t) eta(t) epsilon1(t) epsilon2(t) epsilon3(t)
ode1 = diff(omega1,t) == (80000-2*epsilon1*eta_d-2*epsilon2*epsilon_d(3,1)+2*epsilon3*epsilon_d(2,1)+eta*epsilon_d(1,1)-1.5*omega1+3+I(2,2)*omega3*omega2-I(3,3)*omega2*omega3)/I(1,1);
ode2 = diff(omega2,t) == (155000-2*epsilon2*eta_d+2*epsilon_d(3,1)*epsilon1-epsilon1*epsilon_d(3,1)+epsilon_d(2,1)*eta-1.5*omega2+1.5-I(1,1)*omega3*omega1+omega1*I(3,3)*omega3)/I(2,2);
ode3 = diff(omega3,t) == (-292300-2*epsilon3*eta_d-2*epsilon1*epsilon_d(2,1)-epsilon_d(1,1)*epsilon2+eta*epsilon_d(3,1)-1.5*omega3+0.75+omega1*omega2*I(1,1)+omega1*omega2*I(2,2))/I(3,3);
ode4 = diff(epsilon1,t) == -0.5*(-omega2*epsilon2+omega2*epsilon3-eta*omega1);
ode5 = diff(epsilon2,t) == -0.5*(omega3*epsilon1-omega1*epsilon2-eta*omega2);
ode6 = diff(epsilon3,t) == -0.5*(-omega2*epsilon1+omega1*epsilon2-eta*omega3);
ode7 = diff(eta,t) == -0.5*(omega1*epsilon1+omega2*epsilon2+omega3*epsilon3);
odes = [ode1; ode2; ode3; ode4; ode5; ode6; ode7];
cond1 = omega1(0) == 1;
cond2 = omega2(0) == 0;
cond3 = omega3(0) == 0;
cond4 = epsilon1(0) == epsilon_0(1,1);
cond5 = epsilon2(0) == epsilon_0(2,1);
cond6 = epsilon3(0) == epsilon_0(3,1);
cond7 = eta(0) == eta_0;
conds = [cond1; cond2; cond3; cond4; cond5; cond6; cond7];
S=dsolve([odes, conds], 'MaxDegree',2);
2 Commenti
Torsten
il 24 Apr 2022
Your system of ODEs is nonlinear.
I think you can cancel the symbolic computation and use ODE45 or ODE15S to solve the system numerically.
Risposte (0)
Vedere anche
Categorie
Scopri di più su Equation Solving in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!