Error using odearguments Inputs must be floats, namely single or double.
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hello,
I used ode45 to solve the system but when i run this code i have an error can you help me
tf = 2;
q0 = [pi/4;0;0;pi/2;0;0]; qp0 = [0;0;0;0;0;0];
qr0 = [pi/12;0;0;pi/5;0;0]; qpr0 = [0;0;0;0;0;0];
x0 = [q0;qp0;qr0;qpr0];
%---------- Intégration numérique ------------------------------
[Temps, LesX] = ode45(@systeme,[0 tf],x0);
%----------------------------------------------------------------------------
function xp = systeme(t,x)
q = x(1:6); qp = x(7:12); qr = x(13:18); qpr = x(19:24);
xp(1:6) = qp;
xp(13:18) = qpr;
u = control(t,x);
[M,Mr,C,Cr,G,Gr] = Dynamique(q,qp,qr,qpr);
qpp = (inv(M)) * ((-C * qp) - G);
qppr = (inv(Mr)) * ((-Cr * qpr) - Gr + u);
xp =[qp;qpp;qpr;qppr];
return
This is the following error:
Error using odearguments (line 113)
Inputs must be floats, namely single or double.
Error in ode45 (line 115)
odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, options, varargin);
Error in main (line 11)
[Temps, LesX] = ode45(@systeme,[0 tf],x0);
1 comentario
Ameer Hamza
el 18 de Abr. de 2020
How are functions control and Dynamique defined? Without them, it is quite difficult to track down the error?
Respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!