Solving an ordinary differential equation including a rotation matrix

4 Ansichten (letzte 30 Tage)
I would like to solve the following first order ODEs in MATLAB:
R_dot = R*u_hat;
P_dot = R*v;
m_dot = m*u_hat + n*v + l
n_dot = n*u_hat + f;
With states:
R, P, m, n
I am familiar with Matlab's ode45 solver and have used it before, but on vectors only.
However, I was wondering if this could be applied on rotation matrices such as R.
Keeping in mind that R must remain orthonormal and:
inv(R) = R'
Thanks!

Akzeptierte Antwort

Omar Alahmad
Omar Alahmad am 3 Sep. 2020
I found the solution to be in chapter 6 of the Technical Report of Oliver J. Woodman, "An introduction to inertial navigation".
I simply implemented my own ODE solver for that.
Regards,
Omar

Weitere Antworten (1)

Bruno Luong
Bruno Luong am 16 Aug. 2020
Might be you should rewrite ODE with the rotation not in term of 3x3 matrix but euler-rotation vector 3x1, then you should not worry much about constraint violation due to integration.
  1 Kommentar
Omar Alahmad
Omar Alahmad am 3 Sep. 2020
Hi Bruno Luong,
I found the solution to be in chapter 6 of the Technical Report of Oliver J. Woodman, "An introduction to inertial navigation".
I simply implemented my own ODE solver for that.
Regards,
Omar

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Numerical Integration and Differential Equations finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by