How to impose constraint in ode45 on output variable?
Mostrar comentarios más antiguos
I have a system of this type

to solve with ode45. I already built the mass matrix (several terms of this matrix depend on the x unknowns), the unknown vector x and the f vector (several terms of this vector depend on the x unknowns). My code is something like this:
options_ODE = odeset('AbsTol',1e-6,'Mass',@MassStickFree);
[vTime,vX] = ode45(@eqLongDynamicStickFree,[0 t_fin],x0',options_ODE);
where the M matrix has been built in the MassStickFree file and the f vector in the eqLongDynamicStickFree file. I would impose that the term x(8) will satisfy a certain condition, for example x(8)=0. How can I do?
5 comentarios
Torsten
el 29 de Sept. de 2017
Define xdot(8)=0 with initial condition x0(8)=0.
Best wishes
Torsten.
Alessandro Longo
el 29 de Sept. de 2017
If you start with x0(8)=0 and set f(8)=0 in function "eqLongDynamicStickFree", x(8) will remain zero in the course of the calculation. If this is not the case, we will have to see more of your code.
Or does your mass matrix differ from the one you pasted above ?
Best wishes
Torsten.
Alessandro Longo
el 29 de Sept. de 2017
Editada: Alessandro Longo
el 29 de Sept. de 2017
Torsten
el 29 de Sept. de 2017
What's wrong about setting x0(8)=0, f(8)=0 and leave everything else unchanged ?
Best wishes
Torsten.
Respuestas (0)
Categorías
Más información sobre Programming en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!